您好,欢迎访问三七文档
2020/1/11matlab1MATLAB简介MATLAB(MATrixLABoratory)1.强大的数值计算和工程运算功能2.丰富的图形函数3.多种工具箱Matlab的基本数据单元是不需指定维数的矩阵。Matlab的所有计算都是通过双精度进行的,在内存中的数都是双精度的。double是一个双精度浮点数,每个存储的双精度数用64位。char用于存储字符,每个存储的字符用16位。2020/1/11matlab2Matlab中预定义变量Ans分配最新计算表达式的值,这个表达式并没有给定一个名字Eps返回机器精度Realmax返回计算机能处理的最大浮点数Realmin返回计算机能处理的最小的非零浮点数Pi,3.14159265Inf定义为1/0。当出现被零除时,Matlab就返回inf,并不中断执行而继续计算NaN定义为“NotaNumber”,这个非数值要么是%类型,要么是inf/inf2020/1/11matlab3变量列表who列出已定义的变量Whoglobal与who相同,但仅列出全局变量whoa*给出所有以a开头的变量的一个列表whos给出比命令who更详细的列表,如显示矩阵的维数whosglobal与whos相同,但仅列出全局变量2020/1/11matlab4删除与清除clear删除所有变量clearglobal删除全局变量clearall删除所有变量,全局变量,函数clearvar1var2...删除变量var1,var2,…clc清除屏幕2020/1/11matlab5退出和中断exit,quit结束Malab会话。程序完成,如果没有明确保存,则变量中的数据丢失ctrl+c中断一个Malab任务2020/1/11matlab6快捷键↑或ctrl+p恢复前面的命令↓或ctrl+n恢复当前命令之后键入的命令→或ctrl+f向右移动一个字符←或ctrl+b向左移动一个字符Delete,Backspace删除字符2020/1/11matlab711.1Matlab的特点11.1.1数值计算与符号计算功能•数值计算功能•符号计算功能•强大的科学数据可视化能力•高层绘图指令实现默认的图形表现方式•底层绘图指令更改图形属性•符号函数的可视化2020/1/11matlab811.2Matlab的基本功能11.2.1Matlab的编程环境11.2.2Matlab的程序设计基础•11.2.2.1Matlab的基本语句结构•11.2.2.2Matlab的变量操作•11.2.2.3Matlab的编程基础2020/1/11matlab911.2.1Matlab的编程环境Matlab既是一种语言,又是一种编程环境。Matlab提供了很多方便用户的工具,用于管理变量、输入输出数据以及生成和管理M文件。以下以Matlab6.0简介之。Matlab6.0的界面是一个web浏览器形式的工作环境,如下图所示。2020/1/11matlab102020/1/11matlab1111.2.2Matlab的程序设计基础用户可在Matlab的命令窗口键入一个命令,也可以由它定义的语言在编辑器中编写应用程序,Matlab软件对此进行解释后,在Matlab环境下对它进行处理,最后返回结果.2020/1/11matlab1211.2.2.1Matlab的基本语句结构Matlab以复数矩阵作为最基本的运算单元,既可以对它进行整体处理,也可以对元素进行单独处理。Matlab语言最基本的赋值语句结构为变量名列表=表达式2020/1/11matlab1311.2.2.2Matlab的变量操作1.向量向量是matlab中的一个基本单位,向量的每一个元素的运算包括1)向量的创建;2)向量的加减运算;3)向量的乘除运算2020/1/11matlab14(1)向量的创建在matlab的命令窗口键入以下字符a=[123456987]a=123456987希望得到元素从0到20,步距为2的一个向量,只需键入以下命令即可t=[0:2:20]t=24681012141618202020/1/11matlab15(2)向量的加减运算设a,b为同维向量,则c=a+b或c=a-b得到两个向量相加减的结果。向量与常数的相加减为每个元素加减这个常数。例如:b=a+2得到b=34567811109c=a+bc=4681012142018162020/1/11matlab16(3)向量的乘除运算a.向量的乘法运算点积运算的运算符为.*,其意义为两个向量的对应元素进行乘法运算,例如a=[12],b=[34]则c=a.*b=[38]^为向量的乘方运算,例如c=a.^2=[14]b.向量的除法运算2020/1/11matlab172.矩阵输入矩阵时每一行元素有分号或者回车键分隔。例如:B=[1234;5678;9101112]B=1234567891011122020/1/11matlab18Matlab中矩阵的多种运算(2)矩阵乘法:(1)矩阵转置运算:C=B'C=159261037114812D=B*CD=3070110701742781102784462020/1/11matlab19(3)矩阵点乘当两矩阵维数相同时,运算符.*的结果是两矩阵的对应元素相乘。E=[12;34];F=[23;45];G=E.*FG=2612202020/1/11matlab20(4)矩阵的乘方矩阵为方阵时,可以进行矩阵的乘方运算,运算符为^E^3ans=375481118若仅是元素进行乘方运算,可用运算符.^E.^3ans=1827642020/1/11matlab21(5)矩阵的逆矩阵逆利用函数inv计算,此时,要求矩阵方阵且可逆。X=inv(E)X=-2.00001.00001.5000-0.5000(6)矩阵元素的赋值与运算Matlab允许用户对矩阵的单个元素进行赋值和操作,Matlab此时命令方式为X(i,j)=变量名2020/1/11matlab22(7)矩阵的特征值及特征多项式a.特征值利用函数eig来计算eig(E)ans=-0.37235.3723b.特征多项式利用函数poly来计算特征多项式的系数,此时,多项式系数以降幂形式排列。p=poly(E)p=1.0000-5.0000-2.00002020/1/11matlab233.多项式(1)多项式的创建例如:s4+3s3-15s2-2s+9如果想将其输入到matlab中,只需按下列方式输入向量x=[13-15-29]x=13-15-292020/1/11matlab24(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.78602020/1/11matlab25(4)多项式的乘法和除法a.多项式的乘积可利用它们系数的卷积得到MATALB的函数conv可以实现。x=[12];y=[148];z=conv(x,y)z=161616b.多项式的除法利用函数deconv可以返回两个多项式除法的结果和余数。[xx,R]=deconv(z,y)xx=12R=00002020/1/11matlab26(5)多项式的加法两个同阶多项式的相加,可用z=x+y。对于一般x和y不同维数的情况,可用自定义的函数polyadd完成function[poly]=polyadd(poly1,poly2)%polyadd(poly1,poly2)addstwopolynominalspossiblyofunevenlengthiflength(poly1)length(poly2)short=poly1;long=poly2;elseshort=poly2;long=poly1;endmz=length(long)-length(short);ifmz0poly=[zeros(1,mz),short]+long;elsepoly=long+short;end2020/1/11matlab27例z=polyadd(x,y)x=12y=148z=15102020/1/11matlab2811.2.2.3Matlab的编程基础Matlab的编程效率要比其它高级语言Basic、Fortran、Pascal、C高,且易于维护。包括有:a.M文件b.函数c.绘图2020/1/11matlab291.M文件Matlab有两种常用的方式:第一种方式,在命令窗口中直接键入命令,同时可看到运算结果.第二种方式,指用户采用任何文字处理软件编写和修改一个ASCII码文件,其扩展名必须为.m。2.函数Matlab由包括许多标准函数,每个函数都完成某一特定功能的代码组成。Matlab也允许用户编写自己所需的函数,其扩展名为.m,其中必须以关键字function开头.2020/1/11matlab303.绘图希望绘制一个作为时间函数的正弦波的图像。首先产生一个时间向量,然后计算每一时刻的正弦值。t=0:0.25:7;y=sin(t);plot(t,y)2020/1/11matlab312020/1/11matlab32(3)在图形屏幕上书写文字在图形屏幕的点(x,y)上书写文字,采用命令text(x,y,’text’)e.gtext(3,0.45,’sint’)2020/1/11matlab33(4)图形类型和颜色Matlab的图形允许用户定义点、线的类型及其颜色,其命令行格式为Plot(x,y,str)例如:‘y+’表示一个黄色的加号,而‘b--’表示一个蓝色的虚线。(5)坐标轴的设定在绘制图形时,Matlab允许手工设定坐标的范围。v=[x-minx-maxy-miny-max]2020/1/11matlab34NNToolbox简介目前最新的神经网络工具箱是NNToolboxV4.0版本,它几乎完整地概括了现在的神经网络的新成果,所设计的网络模型有:(1)感知器;(2)线性网络;(3)BP网络;(4)径向基网络;(5)自组织网络;(6)反馈网络;2020/1/11matlab35对于各种网络模型,神经网络工具箱集成了多种学习算法,为用户提供了极大的方便。最关键的是,丰富的函数可以节省的大量的编程时间。此外,神经网络工具箱中还给出了大量的示例程序,为用户轻松的使用工具箱提供生动的实用范例增加了神经网络控制的范例NN预测控制NN反馈线性化控制NN模型参考自适应控制2020/1/11matlab36在新的工具箱中有如下的几个函数,它们对任何的网络都适用。init——初始化函数sim——仿真函数train——训练函数adapt——自适应学习new**——生成新网络**p,ln,ff,elm等等2020/1/11matlab37newc竞争newcf级联前向newelmelmannewff前向newfftd时延前向newgrnn广义回归newhopHopfieldnewlin线性newlind线性网络设计newlvq学习向量量化newp感知器newpnn概率newrb辐射基newrbe准确辐射基newsom自组织竞争2020/1/11matlab38训练函数算法类型trainb批处理trainc循环重复(增量式)trainr随机训练(增量式)trains序列训练(增量式)trainbr贝叶斯BPtraincgb共轭梯度Powell-Beale重新启动traincgf共轭梯度Fletcher-Reevestraincgp共轭梯度Polak-Ribieretraingd梯度法traingda自适应梯度法traingdm动量梯度法常用前向神经网络训练算法2020/1/11matlab39续traingdx快速BP算法(gdagdm组合)trainlmLevenbe
本文标题:matlab简介
链接地址:https://www.777doc.com/doc-2887740 .html