当前位置:首页 >> 计算机软件及应用 >>

2MATLAB函数与神经网络工具箱_图文

MATLAB函数与神经网络工具箱

编者

Outline
1.MATLAB常用命令 ? 2.矩阵生成和基本运算 ? 3.数学函数 ? 4.图形相关函数
? ?

5.神经网络工具箱

1.MATLAB常用命令
命令 clear clf 功能 清除工作空间中的所有变量 清除图形窗口的内容

close
clc home who whos pack format

关闭图形窗口
清除命令窗口中的内容,光标返回屏幕左上角 光标返回屏幕左上角 列出工作空间的变量 列出工作空间的变量及其详细信息 整理工作空间的内存 设置浮点数的输出格式

echo
save load

显示M文件中所执行的命令
保存工作空间的变量到文件 从文件加载变量到工作空间

help

在命令窗口查询函数或命令

1.MATLAB常用命令
doc demo lookfor 打开联机帮助系统 运行演示程序 在帮助系统中查找关键词

what
which type delete path quit/exit

列出当前目录下与MATLAB有关的文件
查找函数与文件所在的目录 列出文件的内容 删除文件 设置或查询MATLAB搜索路径 退出MATLAB

1.MATLAB常用命令
edit ver cd 打开M文件编辑器 查看MATLAB、Simulink和工具箱的版本 进入某一目录

ls/dir
pwd dos exist fprintf sprintf

列出当前目录的文件和文件夹
显示当前目录 执行dos命令并返回结果 指定变量或文件是否存在 打印文本到文件或命令窗口 格式化字符串

1.MATLAB常用命令
>> my_func=@sin >> my_m=magic(3) >> your_m=[1,2;3,4] who,whos,clear,format

>> who
>> whos >> clear my* >> whos >>doc imresize

>>help sin

>> a=magic(3) >> format hex >> format >> a

1.MATLAB常用命令
save/load: >> a=magic(3) >> save abc a >> clear >> a pwd/addpath,sprintf,fprintf >> s=pwd >> addpath(s)

>> load abc
>> a ls/dir >> ls *.m >> ls_s=ls; >> dir_s=dir >> what_s=what

>> w=what; >> s=sprintf('当前目录%s包含%d个M文件', pwd, length(w.m)); >> s >> fprintf('当前目录%s 包含%d 个M文件', pwd, length(w.m))

2.矩阵生成和基本运算
>> a=zeros(3,4,‘uint16’) >> class(a) zeros:全零矩阵

>> a=magic(3) >> b=ones(size(a))

ones:全1矩阵

>> a=magic(4) >> sum(a,2) >> sum(a,1) >> trace(a)

magic:魔方矩阵

2.矩阵生成和基本运算
>> eye(3) >> eye(3,2) eye:单位矩阵

>> rng(2); >> a=rand(3,3) >> b=a*(100-10)+10 >> rng(2); >> a=rand(3,3)

rng:设置随机数种子 rand:0-1之间均匀分布的随机数

2.矩阵生成和基本运算
>> randn(‘seed’,2) >> randn(2,3) >> rng(2,'v4') >> randn(2,3) >> randn('state',2) >> randn(2,3) >> rng(2,'v5normal') >> randn(2,3) state rng:设置随机数种子 randn:(0,1)正态分布随机数

>> a=1+randn(2,3)*10

%均值为1,标准差为10的正态分布随机数

2.矩阵生成和基本运算
>> a=colon(1,0.5,10) >> N=length(a) >> b=linspace(1,10,N)

>> colon(1,-1) % 当a>b,应采用colon(a,step,b)的形式,否则返回空矩阵

linspace函数用于产生线性等分向量

2.矩阵生成和基本运算
>> a=linspace(1,100,50); >> b=logspace(0,2,50); % a为线性等分向量 % b为对数等分向量

>> plot(a,a,'o');
>> hold on; >> plot(a,b,'r+')

% 在线性坐标下绘制两者的示意图

>> legend('linspace','logspace');title('线性坐标下')
>> figure; >> semilogy(a,a,'o'); >> hold on; >> semilogy(a,b,'r+') >> legend('linspace','logspace');title('对数坐标下') linspace和logspace的区别 % 在对数坐标下绘制两者的示意图

2.矩阵生成和基本运算
randperm 生成随机整数排列 randi:生成随机整数 >> randperm(10) % 1~10整数的随机排列

>> perms(1:3)

% 向量[1,2,3]的所有排列,共有3*2*2=6种

>> rng(2)
>> randi(6,3,3) >> rng(2) >> a=rand(3,3)*6 >> ceil(a)

2.矩阵生成和基本运算
range 向量的范围 >> rng(2); >> a=randi(9,3,4) >> range(a) >> range(a,2) >> range(a(:)) minmax:向量的最大值和最小值

>> rng(2); >> minmax(a) >> x = nndata([1;2],3,4)

>> mm = minmax(x)
>> mm{1} >> mm{2}

2.矩阵生成和基本运算
最大值、最小值、平均值 max(X,[],DIM):沿着DIM指定的维度计算X的最大值。 min(X,[],DIM):沿着DIM指定的维度计算X的最小值。 mean(X,DIM):沿着DIM指定的维度计算X的平均值。 >> a=1:15 >> a=reshape(a,3,5) >> max(a) >> min(a,2) >> min(a,[],2)

>> mean(a,2)

2.矩阵生成和基本运算
维度相关

函数名称 size length numel ndims
>> z=zeros(3,2,4); >> s=size(z) >> [d1,d2]=size(z)

功能 返回数组每个维度的大小 返回最大的维度 返回元素个数 返回维度的个数
>> l=length(z(:,:,1)) >> n=numel(z) >> prod(size(z)) >> ndims(z) >> length(size(z))

>> [d1,d2,d3]=size(z)
>> z1=size(z,2) >> l=length(z)

>> max(size(z))

2.矩阵生成和基本运算
sum/prod >> a=ones(2,3,2,'uint8'); >> s1=sum(a) >> s2=sum(a,2)

>> whos
>> a=single(a); >> s3=sum(a,'native') >> whos >> prod(a) >> prod(a,2) % 对第一个维度求乘积 % 对第二个维度求乘积 保持数据类型不变

2.矩阵生成和基本运算
var/std 求方差与标准差 : S=var(X,W,DIM)

? ?
2

??x ? x ?
i ?1 i

N

2

N
N 2

?2 ?
>> rng(3) >> a=rand(5,100); >> mean(a,2) >> v1=var(a,0,2) >> v1*12 >> v2=var(a(:)) >> v2*12 均匀分布元素的方差

? ? xi ? x ?
i ?1

N ?1

2.矩阵生成和基本运算
diag 生成对角矩阵:由向量生成矩阵,从矩阵中抽取向量 >> a=1:5; >> a=a';a=repmat(a,1,5) >> s1=diag(a,0) >> s2=diag(a,1)' >> s3=diag(a,-1)' >> ss1=diag(s1) >> ss2=diag(s2,-1) >> ss3=diag(s3,1)

>> s=ss1+ss2+ss3

2.矩阵生成和基本运算
repmat reshape:矩阵的重复和重排 >> a=[1,2,3;4,5,6] >> a1=repmat(a,2,1) >> a1=repmat(a,2,2) >> tic;a=zeros(100,100);toc >> tic;a=repmat(0,100,100);toc >> tic;a=zeros(10000,1000);toc % 分配大矩阵时,repmat用时较少 % 分配较小的矩阵,repmat用时较多

>> tic;a=repmat(0,10000,1000);toc

>> a=rand(4,3,2)
>> b=reshape(a,4,6)

2.矩阵生成和基本运算
inv/pinv 矩阵求逆/求伪逆

AB ? BA ? E

>> a=[3,2,4;1,1,1;0,4,1] >> b=[2,2,5]' >> inv(a)*b >> a^(-1)*b >> a\b inv求逆 -1次幂 左除

A? B ? A ? A

>> c=[a,b] >> inv(c)

>> d=pinv(c)
>> c*d*c

2.矩阵生成和基本运算
rank/det 求矩阵的秩/行列式

>> a=magic(3) >> r=rank(a) >> det(a) >> inv(a) 秩 行列式

2.矩阵生成和基本运算
eig 矩阵的特征值分解 svd 矩阵的奇异值分解

XV ? dV
>> a=magic(3) >> [V,D]=eig(a) >> V1=V(:,1)

X ? U ? S ?V T

>> a=magic(3) >> [u,s,v]=svd(a); >> u*s*v' % 验证公式X*V=d*V >> pinv(a) >> b=v*(diag(1./diag(s)))*u'

>> D1=D(1)
>> a*V1 >> D1*V1

2.矩阵生成和基本运算
norm 求向量或矩阵的范数

x 2 ? x ?x ?
2 1 2 2

?x

2 N

>> x=1:5 >> norm(x,1) >> norm(x,Inf)

x 1 ? x1 ? x2 ?
x
?

xN

? max ? xi
i

?

>> norm(x,-Inf)
>> norm(x,2) >> sqrt(sum((x.^2)))

x

??

? min ? xi
i

?

2.矩阵生成和基本运算
当输入参数为矩阵时: ?norm(X,1):矩阵的1-范数,即列和范数,矩阵X每一 列元素绝对值之和的最大值。 ?norm(X,2):矩阵的无穷范数,即行和范数,矩阵X的 每一行元素绝对值之和的最大值。 ?norm(X,2):矩阵X的最大奇异值,即谱范数。谱范数 可以通过下面的代码代替: [V,d]=eig(X’*X); f= sqrt(max(diag(d))); norm(X,’fro’):求矩阵X的Frobenius范数,公式如下 >> x=rand(3) >> norm(x,1) >> max(sum(abs(x),1)) >> norm(x,Inf) >> max(sum(abs(x),2)) >> norm(x,2) >> [V,d]=eig(x'*x); >> sqrt(max(diag(d))) >> norm(x,'fro') >> sqrt(sum(x(:).^2))

x

F

?

? N N 2 ? ? ? ? xij ? ? i ?1 j ?1 ?

3.数学函数
abs 求绝对值 exp/log 指数函数/对数函数

>> abs(-5) >>abs(1+i)

>> x=1:.2:10;
>> plot(x,exp(x)); >> plot(x,log(x)) 指数函数 对数函数

3.数学函数
log10/log2 >> a=1:16 >> [f,e]=log2(a) >> x=logspace(0,2)+0.1; 常用对数/以2对底的对数

>> y1=log10(x);
>> y2=log2(x); >> plot(x,y1,'-'); >> hold on; >> plot(x,y2,'--'); >> legend('log10','log2'); >> grid on

3.数学函数
函数名称
取整函数

功能 向零的方向取整 四舍五入取整

fix round

ceil
floor

向正无穷方向取整
向负无穷方向取整

>> a=rand(1,6)*10-5

>> z1=fix(a)
>> z2=round(a) >> z2=floor(a) >> z2=ceil(a)

3.数学函数
mod/rem 取模数/余数:

rem 的 余 数 与 X 相 同 , mod与Y相同

>> mod(5,3)

>> rem(5,3)
>> rem(5,-3) >> mod(5,-3)

4.图形相关函数
? plot
? stem ? subplot:子窗口 ? mesh/surf:三维网格面或曲面 ? plot3:三维曲线 ? hold:保持

r

g

b y w

k c m

plot(x,y) plot(x,y,’ro’,’LineWidth’,2) plot(x1,y1,x2,y2):绘制两条曲线

4.图形相关函数
>> x=1:10; >> y1=x; >> y2=sin(x)+x/3; >> y3=cos(x)+x/3;

>> y4=x.^2/10;
>> y5=exp(sqrt(x))/100; >> plot(x,y1,'r-',x,y2,'--b',x,y3,'m:*',x,y4,'.-k'); >> hold on >> plot(x,y5,'go-'); >> hold off >> legend('直线','正弦','余弦','平方','指数') >>title('曲线') >>xlabel('x') >>ylabel('y') >> axis([1,10,-1,10]) >> set(gcf,'color','w')

4.图形相关函数
>> x=-5:.2:5; >> y=x; >> [xx,yy]=meshgrid(x,y); >> z=peaks(xx,yy); >> mesh(xx,yy,z)
>> x=0:2; >> y=x; >> [xx,yy]=meshgrid(x,y)

xx =

meshgrid的用法

0 0 0

1 1 1

2 2 2

yy =
0 1 2 0 1 2 0 1 2

4.图形相关函数
stem函数
subplot的用法:subplot(m,n,p) 共m行n列,选中第p个窗口
>> x=0:.5:10; >> y1=x; >> y2=sin(x)+x/3; >> y3=cos(x)+x/3;

>> y4=x.^2/10;
>> subplot(221); >> plot(x,y1,'r-'); >> subplot(222);

>> plot(x,y2,'--b');
>> subplot(223); >> plot(x,y3,'m:*'); >> subplot(224); >> plot(x,y4,'.-k');

5.神经网络工具箱
MATLAB R2011b的神经网络工具箱版本号为Version 7.0.2 >>help nnet 函数名称 newp newlind newlin newff newcf newfftd newrb linearlayer feedforwardnet cascadeforwardnet 新版本中的函数 perceptron 功能 创建感知器网络 设计线性层 创建线性层 创建前馈BP网络 创建多层前馈BP网络 创建前馈输入延迟BP网络 设计径向基网络

newrbe
newgrnn

设计严格的径向基网络
设计广义回归神经网络

5.神经网络工具箱
newpnn newc newsom newhop competlayer selforgmap 设计概率神经网络 创建竞争层 创建自组织特征映射 创建Hopfield递归网络

newelm
lvqnet patternnet 工具 nctool nftool nprtool ntstool

elmannet

创建Elman递归网络
创建学习向量量化网络 创建模式识别神经网络

解决的问题 聚类问题 拟合问题 模式识别问题 时间序列问题

说明 主要采用自组织特征映射网 络实现 使用fitnet函数,采用trainlm 进行训练 使用patternnet函数 使用narnet与narxnet函数

谢谢大家!


相关文章:
2MATLAB函数与神经网络工具箱_图文.ppt
2MATLAB函数与神经网络工具箱 - MATLAB函数与神经网络工具箱 编者
第2章MATLAB神经网络工具箱函数_图文.ppt
第2章MATLAB神经网络工具箱函数 - 第2章 MATLAB神经网络 工具箱函数 2.1 MATLAB神经网络工具箱函数 2.2 MATLAB神经网络工具箱的图形用户界面 1 利用神经网...
2.MATLAB函数与神经网络工具箱_图文.ppt
2.MATLAB函数与神经网络工具箱 - MATLAB函数与神经网络工具箱 编者
2MATLAB函数与神经网络工具箱-医学资料_图文.ppt
2MATLAB函数与神经网络工具箱-医学资料 - MATLAB函数与神经网络工具
神经网络-(2)Matlab与神经网络工具箱_图文.ppt
神经网络-(2)Matlab与神经网络工具箱_计算机软件及应用_IT/计算机_专业资料。...Matlab编写的程序分为M函数和M文件,其后 缀名均为.m。 ? Matlab允许用户调用...
2-2MATLAB神经网络工具箱中的神经网络模型_图文.ppt
2-2MATLAB神经网络工具箱中的神经网络模型 - MATLAB神经网络工 具箱中的神经网络 模型 Matlab的首创者Cleve Moler博士在数值分析,特别是在是指 线性代数的领域中....
第02讲Matlab与神经网络工具箱-精选文档_图文.ppt
第02讲Matlab与神经网络工具箱-精选文档 - 第02讲 Matlab与神经网络工具箱 电信系 邹江 2.1 Matlab简介 Matlab的首创者Cleve Moler博士在数值分析,...
MATLAB函数与神经网络工具箱ppt课件_图文.ppt
MATLAB函数与神经网络工具箱ppt课件 - MATLAB函数与神经网络工具箱 编者 Outline 1.MATLAB常用命令 2.矩阵生成和基本运算 3.数学函数 4.图形相关函数 5...
第02讲 Matlab与神经网络工具箱_图文.ppt
第02讲 02讲 Matlab与神经网络工具箱 与神经网络工具箱电信系 邹江 2.1 Matlab简介 简介 Matlab的首创者Cleve Moler博士在数值分析,特 别是在是指线性代数的...
Matlab神经网络工具箱_图文.ppt
Matlab神经网络工具箱 - MATLAB神经网络工具箱 人工神经网络的特点 自学习 自适应 并行处理 分布表达与计算 人工神经网络的应用 ? ANN本质上可以理解为函数逼近,...
MATLAB神经网络工具箱_图文.ppt
MATLAB神经网络工具箱 介绍及实验要求 神经元模型 Neuron Model: 多输入,单输出...函数利用感知器的输入向量和目标向量来画输入向量的图像 Step 2 建立神经网络 ...
MATLAB神经网络工具箱(函数拟合)_图文.ppt
MATLAB神经网络工具箱(函数拟合) - 文档均来自网络,如有侵权请联系我删除文档... MATLAB神经网络工具箱(函数拟合)_计算机...训练的感知器对5个输入向量进行分类(2类...
matlab神经网络工具箱简介和函数及示例_图文.ppt
matlab神经网络工具箱简介和函数及示例 - 第十一章 神经网络工具 箱函数 MATLAB神经网络工具箱简 介? 构造典型神经网络的激活函数,使设计者对所选 网络输出的...
Matlab与神经网络工具箱_图文.ppt
Matlab与神经网络工具箱 - 第02讲 Matlab与神经网络工具箱 2.1 Matlab简介 Matlab的首创者Cleve Moler博士在数值分析,特 别是在是指线性代数的领域中很...
MATLAB 神经网络工具箱_图文.ppt
MATLAB 神经网络工具箱_物理_自然科学_专业资料。MATLAB神经网络工具箱 神经元...函数利用感知器的输入向量和目标向量来画输入向量的图像 Step 2 建立神经网络 ...
MATLAB神经网络工具箱及实验要求_图文.ppt
[1 1 0 0 1]; plotpv(P,T); % plotpv函数利用感知器的输入向量和目标向量来画输入向量的图像 Step 2 建立神经网络 MATLAB提供函数newp来创建一个指定的感知...
MATLAB神经网络工具箱_图文.pdf
神经网络理论为基础,利用 MATLAB脚本语言构造出典型神经网络的激活函 数,如线性、竞争性和饱和线性等激活函数,使设 计者对所选定网络输出的计算变成对激活函数的 ...
MATLAB神经网络工具箱中的神经网络模型_图文.ppt
MATLAB神经网络工 具箱中的神经网络 模型 神经网络工具箱简介 ? ? MATLAB 7...? ? 1、控制输入对输出的激活作用; 2、对输入、输出进行函数转换; 3、将...
2019matlab神经网络工具箱简介和函数及示例教育精品.pp....ppt
2019matlab神经网络工具箱简介和函数及示例教育精品.ppt - 第十一章 神经网络工具 箱函数 MATLAB神经网络工具箱简 ? 介 构造典型神经网络的激活函数,使设计者对...
不错的Matlab神经网络工具箱实用指南.pdf
不错的Matlab神经网络工具箱实用指南 - Matlab神经网络工具箱实用指南 文章摘要:第一章是神经网络的基本介绍,第章包括了由工具箱指定的有关网络结 构和符号...