matlab简介讲解.ppt
MATLAB简介nMATLAB(MATrixLABoratory)1.强大的数值计算和工程运算功能2.丰富的图形函数3.多种工具箱nMatlab的基本数据单元是不需指定维数的矩阵矩阵。nMatlab的所有计算都是通过双双精精度度进行的,在内存中的数都是双精度的。ndouble是一个双精度浮点数,每个存储的双精度数用64位。nchar用于存储字符,每个存储的字符用16位。3/1/20231matlabMatlab中预定义变量中预定义变量Ans分配最新计算表达式的值,这个表达式并没有给定一个名字nEps返回机器精度nRealmax返回计算机能处理的最大浮点数nRealmin返回计算机能处理的最小的非零浮点数nPi,3.14159265nInf定义为1/0。当出现被零除时,Matlab就返回inf,并不中断执行而继续计算nNaN定义为“NotaNumber”,这个非数值要么是类型,要么是inf/inf3/1/20232matlab变量列表变量列表nwho列出已定义的变量nWhoglobal与who相同,但仅列出全局变量nwhoa*给出所有以a开头的变量的一个列表nwhos给出比命令who更详细的列表,如显示矩阵的维数nwhosglobal与whos相同,但仅列出全局变量3/1/20233matlab删除与清除删除与清除nclear 删除所有变量nclearglobal 删除全局变量nclearall删除所有变量,全局变量,函数nclearvar1var2.删除变量var1,var2,nclc清除屏幕3/1/20234matlab退出和中断退出和中断nexit,quitn结束Malab会话。程序完成,如果没有明确保存,则变量中的数据丢失nctrl+cn中断一个Malab任务n3/1/20235matlab快捷键快捷键n或ctrl+pn恢复前面的命令n或ctrl+nn恢复当前命令之后键入的命令n或ctrl+fn向右移动一个字符n或ctrl+bn向左移动一个字符nDelete,Backspacen删除字符3/1/20236matlab11.1Matlab的特点的特点n11.1.1数值计算与符号计算功能数值计算功能符号计算功能强大的科学数据可视化能力高层绘图指令实现默认的图形表现方式底层绘图指令更改图形属性符号函数的可视化 3/1/20237matlab11.2Matlab的基本功能的基本功能n11.2.1Matlab的编程环境n11.2.2Matlab的程序设计基础11.2.2.1Matlab的基本语句结构11.2.2.2Matlab的变量操作11.2.2.3Matlab的编程基础3/1/20238matlab11.2.1Matlab的编程环境的编程环境Matlab既是一种语言,又是一种编程环境。Matlab提供了很多方便用户的工具,用于管理变量、输入输出数据以及生成和管理M文件。以下以Matlab6.0简介之。Matlab6.0的界面是一个web浏览器形式的工作环境,如下图所示。3/1/20239matlab3/1/202310matlab11.2.2Matlab的程序设计基的程序设计基础础用户可在Matlab的命令窗口键入一个命令,也可以由它定义的语言在编辑器中编写应用程序,Matlab软件对此进行解释后,在Matlab环境下对它进行处理,最后返回结果.3/1/202311matlab11.2.2.1Matlab的基本语句结的基本语句结构构Matlab以复数矩阵作为最基本的运算单元,既可以对它进行整体处理,也可以对元素进行单独处理。Matlab语言最基本的赋值语句结构为变量名列表表达式 3/1/202312matlab11.2.2.2Matlab的变量操作的变量操作1向量向量向量是matlab中的一个基本单位,向量的每一个元素的运算包括1)向量的创建;2)向量的加减运算;3)向量的乘除运算3/1/202313matlab(1)向量的创建)向量的创建在matlab的命令窗口键入以下字符a=123456987a=123456987 希望得到元素从0到20,步距为2的一个向量,只需键入以下命令即可t=0:2:20t=24681012141618203/1/202314matlab(2)向量的加减运算)向量的加减运算 设a,b为同维向量,则c=a+b或c=a-b得到两个向量相加减的结果。向量与常数的相加减为每个元素加减这个常数。例如:b=a+2得到b=34567811109c=a+bc=4681012142018163/1/202315matlab(3)向量的乘除运算)向量的乘除运算a.向量的乘法运算向量的乘法运算点积运算的运算符为.*,其意义为两个向量的对应元素进行乘法运算,例如a=12,b=34则c=a.*b=38为向量的乘方运算,例如c=a.2=14 b.向量的除法运算向量的除法运算3/1/202316matlab2矩阵矩阵输入矩阵时每一行元素有分号或者回车键分隔。例如:B=1234;5678;9101112 B=1 2 3 4 5 6 7 8 9 10 11 123/1/202317matlabMatlab中矩阵的多种运算(2)矩阵乘法:矩阵乘法:(1)矩阵转置运算矩阵转置运算:C=B C=1 5 9 2 6 10 3 7 11 4 8 12D=B*C D=30 70 110 70 174 278 110 278 4463/1/202318matlab(3)矩阵点乘矩阵点乘当两矩阵维数相同时,运算符.*的结果是两矩阵的对应元素相乘。E=12;34;F=23;45;G=E.*F G=2 6 12 203/1/202319matlab(4)矩阵的乘方矩阵的乘方矩阵为方阵时,可以进行矩阵的乘方运算,运算符为E3 ans=37 54 81 118若仅是元素进行乘方运算,可用运算符.E.3 ans=1 8 27 643/1/202320matlab(5)矩阵的逆矩阵的逆矩阵逆利用函数inv计算,此时,要求矩阵方阵且可逆。X=inv(E)X=-2.0000 1.0000 1.5000 -0.5000(6)矩阵元素的赋值与运算矩阵元素的赋值与运算Matlab允许用户对矩阵的单个元素进行赋值和操作,Matlab此时命令方式为X(i,j)=变量名变量名3/1/202321matlab(7)矩阵的特征值及特征多项式矩阵的特征值及特征多项式a.特征值特征值利用函数eig来计算eig(E)ans=-0.3723 5.3723b.特特征征多多项项式式利用函数poly来计算特征多项式的系数,此时,多项式系数以降幂形式排列。p=poly(E)p=1.0000 -5.0000 -2.00003/1/202322matlab3.多项式多项式(1)多项式的创建多项式的创建例如:s4+3s3-15s2-2s+9如果想将其输入到matlab中,只需按下列方式输入向量x=13-15-29 x=1 3 -15 -2 93/1/202323matlab(2)计算多项式的值计算多项式的值可利用函数“polyval”计算多项式的值。例如,多项式在s=2的值为z=polyval(10001,2)z=17(3)求多项式的根求多项式的根若求以下多项式的根s4+3s3-15s2-2s+9roots(13-15-29)ans=-5.57452.5836-0.79510.78603/1/202324matlab(4)多项式的乘法和除法多项式的乘法和除法a.多多项项式式的的乘乘积积可利用它们系数的卷积得到MATALB的函数conv可以实现。x=1 2;y=1 4 8;z=conv(x,y)z=1 6 16 16b.多多项项式式的的除除法法利用函数deconv可以返回两个多项式除法的结果和余数。xx,R=deconv(z,y)xx=1 2 R=0 0 0 0 3/1/202325matlab(5)多项式的加法多项式的加法 两个同阶多项式的相加,可用z=x+y。对于一般x和y不同维数的情况,可用自定义的函数polyadd完成functionpoly=polyadd(poly1,poly2)%polyadd(poly1,poly2)adds two polynominals possibly of uneven lengthif length(poly1)0 poly=zeros(1,mz),short+long;else poly=long+short;end3/1/202326matlab例z=polyadd(x,y)x=1 2 y=1 4 8 z=1 5 103/1/202327matlab11.2.2.3Matlab的编程基础的编程基础 Matlab的编程效率要比其它高级语言 Basic、Fortran、Pascal、C高,且易于维护。包括有:a.M文件文件 b.函数函数 c.绘图绘图 3/1/202328matlab1.M文件文件Matlab有两种常用的方式:第一种方式,在命令窗口中直接键入命令,同时可看到运算结果.第二种方式,指用户采用任何文字处理软件编写和修改一个ASCII码文件,其扩展名必须为.m。2函数函数Matlab由包括许多标准函数,每个函数都完成某一特定功能的代码组成。Matlab也允许用户编写自己所需的函数,其扩展名为.m,其中必须以关键字function开头.3/1/202329matlab3绘图绘图希望绘制一个作为时间函数的正弦波的图像。首先产生一个时间向量,然后计算每一时刻的正弦值。t=0:0.25:7;y=sin(t);plot(t,y)3/1/202330matlab3/1/202331matlab(3)在图形屏幕上书写文字在图形屏幕上书写文字在图形屏幕的点(x,y)上书写文字,采用命令text(x,y,text)e.gtext(3,0.45,sin t)3/1/202332matlab(4)图形类型和颜色图形类型和颜色Matlab的图形允许用户定义点、线的类型及其颜色,其命令行格式为Plot(x,y,str)例如:y+表示一个黄色的加号,而b-表示一个蓝色的虚线。()坐标轴的设定()坐标轴的设定在绘制图形时,Matlab允许手工设定坐标的范围。v=x-min x-max y-min y-max3/1/202333matlabNNToolbox简介简介目前最新的神经网络工具箱是NNToolboxV4.0版本,它几乎完整地概括了现在的神经网络的新成果,所设计的网络模型有:(1)感知器;(2)线性网络;(3)BP网络;(4)径向基网络;(5)自组织网络;(6)反馈网络;3/1/202334matlabn在新的工具箱中有如下的几个函数,它们对任何的网络都适用。ninit初始化函数nsim仿真函数ntrain训练函数nadapt自适应学习nnew*生成新网络*p,ln,ff,elm等等3/1/202336matlabnewc 竞争newcf 级联前向newelm elmannewff前向newfftd时延前向newgrnn广义回归newhopHopfieldnewlin线性newlind线性网络设计newlvq学习向量量化newp感知器newpnn概率newrb辐射基newrbe准确辐射基newsom自组织竞争3/1/202337matlab训练函数算法类型trainb批处理trainc 循环重复(增量式)trainr随机训练(增量式)trains序列训练(增量式)trainbr 贝叶斯BPtraincgb共轭梯度 Powell-Beale 重新启动traincgf共轭梯度 Fletcher-Reeves traincgp共轭梯度 Polak-Ribiere traingd梯度法traingda自适应梯度法traingdm动量梯度法常用前向神经网络训练算法常用前向神经网络训练算法3/1/202338matlab续traingdx快速BP算法(gdagdm组合)trainlmLevenberg-MarquardtBPTrainoss一步割线法Trainrp弹性BPTrainscg比例共轭梯度3/1/202339matlab例net=newff(minmax(P),5 1,tansig,purelin,traingd,learngd,sse);含义:Newff:创建一个前馈网络,Minmax(P):输入范围为P的范围5 1 隐含层 5个神经元 输出层 1个神经元tansig,purelin隐含层作用函数sigmoid 输出层作用函数线性Traingd 训练算法:梯度法 sse性能指标:误差平方和3/1/202340matlabnet,tr=train(net,P,T);A=sim(net,P);net.trainParam.show=10;net.trainParam.goal=0.02;net.trainParam.lr=0.01;3/1/202341matlab