《MATLAB函数与神经网络工具箱.ppt》由会员分享,可在线阅读,更多相关《MATLAB函数与神经网络工具箱.ppt(36页珍藏版)》请在三一办公上搜索。
1、MATLAB函数与神经网络工具箱,编者,Outline,1.MATLAB常用命令 2.矩阵生成和基本运算 3.数学函数 4.图形相关函数5.神经网络工具箱,1.MATLAB常用命令,1.MATLAB常用命令,1.MATLAB常用命令,1.MATLAB常用命令,my_func=sin my_m=magic(3)your_m=1,2;3,4 who whos clear my*whos a=magic(3)format hex format a,who,whos,clear,formatdoc imresizehelp sin,1.MATLAB常用命令,save/load:a=magic(3)sa
2、ve abc a clear a load abc a ls/dir ls*.m ls_s=ls;dir_s=dir what_s=what,pwd/addpath,sprintf,fprintf s=pwd addpath(s)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)zeros:全零矩阵 class(a)a=magic(3)ones:全1矩阵 b=ones(size(a)a=magic(4)
3、magic:魔方矩阵 sum(a,2)sum(a,1)trace(a),2.矩阵生成和基本运算,eye(3)eye:单位矩阵 eye(3,2)rng(2);rng:设置随机数种子 a=rand(3,3)rand:0-1之间均匀分布的随机数 b=a*(100-10)+10 rng(2);a=rand(3,3),2.矩阵生成和基本运算,randn(seed,2)randn:(0,1)正态分布随机数 randn(2,3)rng(2,v4)rng:设置随机数种子 randn(2,3)randn(state,2)state randn(2,3)rng(2,v5normal)randn(2,3)a=1+r
4、andn(2,3)*10%均值为1,标准差为10的正态分布随机数,2.矩阵生成和基本运算,a=colon(1,0.5,10)N=length(a)b=linspace(1,10,N)colon(1,-1)%当ab,应采用colon(a,step,b)的形式,否则返回空矩阵,linspace函数用于产生线性等分向量,2.矩阵生成和基本运算,a=linspace(1,100,50);%a为线性等分向量 b=logspace(0,2,50);%b为对数等分向量 plot(a,a,o);%在线性坐标下绘制两者的示意图 hold on;plot(a,b,r+)legend(linspace,logspa
5、ce);title(线性坐标下)figure;%在对数坐标下绘制两者的示意图 semilogy(a,a,o);hold on;semilogy(a,b,r+)legend(linspace,logspace);title(对数坐标下),linspace和logspace的区别,2.矩阵生成和基本运算,randperm(10)%110整数的随机排列 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),randperm 生成随机整数排列 randi:生成随机整数,2.矩阵生成和基本运算,r
6、ng(2);a=randi(9,3,4)range(a)range(a,2)range(a(:)rng(2);minmax(a)x=nndata(1;2,3,4)mm=minmax(x)mm1 mm2,range 向量的范围 minmax:向量的最大值和最小值,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
7、.矩阵生成和基本运算,维度相关,z=zeros(3,2,4);s=size(z)d1,d2=size(z)d1,d2,d3=size(z)z1=size(z,2)l=length(z)max(size(z),l=length(z(:,:,1)n=numel(z)prod(size(z)ndims(z)length(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)%对第二个维度求
8、乘积,保持数据类型不变,2.矩阵生成和基本运算,var/std 求方差与标准差:S=var(X,W,DIM),rng(3)a=rand(5,100);mean(a,2)v1=var(a,0,2)v1*12 v2=var(a(:)v2*12,均匀分布元素的方差,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.矩阵生成和基本运算,
9、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%分配较小的矩阵,repmat用时较多 tic;a=repmat(0,100,100);toc tic;a=zeros(10000,1000);toc%分配大矩阵时,repmat用时较少 tic;a=repmat(0,10000,1000);toc a=rand(4,3,2)b=reshape(a,4,6),2.矩阵生成和基本运算,inv/pinv 矩阵求逆/求伪逆,a=3,2,4;1,1,1;0,4,1 b
10、=2,2,5 inv(a)*b inv求逆 a(-1)*b-1次幂 ab 左除 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 矩阵的特征值分解,a=magic(3)V,D=eig(a)V1=V(:,1)D1=D(1)a*V1%验证公式X*V=d*V D1*V1,a=magic(3)u,s,v=svd(a);u*s*v pinv(a)b=v*(diag(1./diag(s)*u,svd 矩阵的奇异值分解,2.矩阵生成和基
11、本运算,norm 求向量或矩阵的范数,x=1:5 norm(x,1)norm(x,Inf)norm(x,-Inf)norm(x,2)sqrt(sum(x.2),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(
12、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),3.数学函数,abs 求绝对值 exp/log 指数函数/对数函数,abs(-5)abs(1+i)x=1:.2:10;plot(x,exp(x);指数函数 plot(x,log(x)对数函数,3.数学函数,log10/log2 常用对数/以2对底的对数,a=1:16 f,e=log2(a)x=logspace(0,2)+0.1;y1=log10(x);y
13、2=log2(x);plot(x,y1,-);hold on;plot(x,y2,-);legend(log10,log2);grid on,3.数学函数,取整函数,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:保持,plot(x,y)plot
14、(x,y,ro,LineWidth,2)plot(x1,y1,x2,y2):绘制两条曲线,r g b y w k c m,k,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.图形相
15、关函数,meshgrid的用法,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=0 1 2 0 1 2 0 1 2yy=0 0 0 1 1 1 2 2 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,5.神经网络工具箱,谢谢大家!,