的基础知识3数学运算培训课件

上传人:youn****329 文档编号:136939374 上传时间:2020-07-03 格式:PPT 页数:50 大小:404.50KB
返回 下载 相关 举报
的基础知识3数学运算培训课件_第1页
第1页 / 共50页
的基础知识3数学运算培训课件_第2页
第2页 / 共50页
的基础知识3数学运算培训课件_第3页
第3页 / 共50页
的基础知识3数学运算培训课件_第4页
第4页 / 共50页
的基础知识3数学运算培训课件_第5页
第5页 / 共50页
点击查看更多>>
资源描述

《的基础知识3数学运算培训课件》由会员分享,可在线阅读,更多相关《的基础知识3数学运算培训课件(50页珍藏版)》请在金锄头文库上搜索。

1、1,控制系统仿真-基于MATLAB语言,主讲教师:张磊中国海洋大学工程学院,2020/7/3,2,本节内容本节介绍matlab语言的数学运算,主要包括:矩阵运算(矩阵的逆、特征值和特征向量)方程组求解多项式运算多项式微分曲线拟合的基本方法,3,23MATLAB的数学运算,1.矩阵运算、方程组求解和多项式运算,1.1矩阵的逆,B=0.1472-0.14440.0639-0.06110.02220.1056-0.01940.1889-0.1028ans=1.00000-0.0000-0.00001.000000.000001.0000ans=1.00000-0.000001.0000000.000

2、01.0000,A=magic(3)B=inv(A)%求矩阵的逆A*BB*AA=816357492,A*B=B*A=IB是A的逆矩阵B=inv(A),魔术矩阵,4,23MATLAB的数学运算,1.矩阵运算、方程组求解和多项式运算,1.2矩阵的特征值和特征向量,X,d=eig(A)X=-0.6571-0.78650.7614-0.22750.3771-0.6380-0.71860.48920.1154d=1.61750000.43320000.6121A*XX*dans=-1.0629-0.34070.4660-0.36790.1633-0.3905-1.16240.21190.0706,A=r

3、and(3,3)d=eig(A)%求矩阵的特征值A=0.95010.48600.45650.23110.89130.01850.60680.76210.8214d=1.61750.43320.6121,A*x=d*xA为n*n矩阵称x是矩阵A的特征向量d是特征值,特征向量X,特征值为对角元素的矩阵d,6,23MATLAB的数学运算,1.矩阵运算、方程组求解和多项式运算,1.3线性方程组,2)矩阵除法A=rand(3);b=rand(3,1);Abrref(Ab)%验证方程的解A=0.66020.34120.30930.34200.53410.83850.28970.72710.5681b=0.

4、37040.70270.5466ans=0.16310.16700.6652,待求方程组A*X=b求解方法:矩阵除法X=Ab:左除,a11*x1+a12*x2+a1n*xn=b1,a21*x1+a22*x2+a2n*xn=b2,an1*x1+an2*x2+ann*xn=bn,7,23MATLAB的数学运算,1.矩阵运算、方程组求解和多项式运算,1.3线性方程组,3)矩阵求逆A=rand(3),b=rand(3,1)Abinv(A)*bA=0.44490.79480.88010.69460.95680.17300.62130.52260.9797b=0.27140.25230.8757ans=1

5、.6560-1.00720.3809,待求方程组A*X=b求解方法:矩阵求逆A是方阵时X=inv(A)*bA不是方阵时X=pinv(A)*b,a11*x1+a12*x2+a1n*xn=b1,a21*x1+a22*x2+a2n*xn=b2,an1*x1+an2*x2+ann*xn=bn,8,matlab语言把多项式表达成一个行向量,该向量中的元素是按多项式降幂排列的。可用行向量p=AnAn-1A1A0表示1).poly产生特征多项式系数向量(多项式的描述)特征多项式一定是n+1维的,1.4多项式运算,1.矩阵运算、方程组求解和多项式运算,9,例:a=123;456;780;p=poly(a)p=

6、1.00-6.00-72.00-27.00p是多项式的matlab描述方法,我们可用:p1=poly2str(p,x)函数文件,显示数学多项式的形式p1=x3-6x2-72x-27,10,2).roots求多项式的根,a=123;456;780;p=poly(a)p=1.00-6.00-72.00-27.00r=roots(p)r=12.12-5.73显然r是矩阵a的特征值-0.39,当然我们可用poly令其返回多项式形式p2=poly(r)p2=1.00-6.00-72.00-27.00注意:matlab规定多项式系数向量用行向量表示,一组根用列向量表示。,11,多项式运算例,p=1-45-

7、2r=roots(p)%求多项式的根p=1-45-2r=12.1229-5.7345-0.3884p=100-40-2r=roots(p)p=100-40-2r=1.6764-0.8679+1.2913i-0.8679-1.2913i0.0297+0.7014i0.0297-0.7014i,P=1-45-2,P=100-40-2,12,3).conv多项式乘运算,例:a(x)=x2+2x+3;b(x)=4x2+5x+6;c=(x2+2x+3)(4x2+5x+6)a=123;b=456;c=conv(a,b)=conv(123,456)c=4.0013.0028.0027.0018.00p=po

8、ly2str(c,x)p=4x4+13x3+28x2+27x+18p(x)=4x4+13x3+28x2+27x+18,MATLAB提供了conv函数进行多项式乘运算,如果是多个多项式运算,可以通过conv函数的嵌套来完成,13,4).deconv多项式除运算,a=123;c=4.0013.0028.0027.0018.00d=deconv(c,a)d=4.005.006.00,命令格式:,其中d为商多项式,r为余数多项式,表示c=conv(d,a)+r当只指定一个变量接受返回值时,函数只返回d,14,5).多项式微分,matlab提供了polyder函数来实现多项式的微分。命令格式:b=pol

9、yder(p):求p的微分,即b=pb=polyder(a,b):求多项式a,b乘积的微分,即b=(conv(a,b)例:a=12345;poly2str(a,x)ans=x4+2x3+3x2+4x+5b=polyder(a)b=4664poly2str(b,x)ans=4x3+6x2+6x+4,15,6).多项式曲线拟合,曲线拟合是数据分析中常使用的方法,在两组已知数据间建立一种函数关系,使得通过这种函数关系得到的数据和实际数据在最大程度上吻合。matlab提供了polyfit函数来实现多项式的曲线拟合。命令格式:p=polyfit(x,y,n):返回一个n阶多项式的系数数组p表示ployv

10、al(p,x(i)能够拟合y(i),%多项式的曲线拟合x=0:0.5:20;y=polyval(3,5,1,2,x)+randn(size(x);%计算已知函数并加入随机误差p1=polyfit(x,y,1)%进行1阶拟合y1=polyval(p1,x);%求出1阶拟合后由p1得到的值y1p2=polyfit(x,y,2)%进行2阶拟合y2=polyval(p2,x);%求出2阶拟合后由p2得到的值y2p3=polyfit(x,y,3)%进行3阶拟合y3=polyval(p3,x);%求出3阶拟合后由p3得到的值y3plot(x,y,.,x,y1,-.,x,y2,-,x,y3,-)%标出带有误

11、差的数据点,用不同线型画出拟合曲线,16,小结本节介绍了matlab语言的基本数学运算功能,通过学习应该掌握:矩阵的基本运算方程组求解多项式运算曲线拟合的基本方法,课堂练习,17,1.MATLAB的M文件,24MATLAB的M文件及外部数据操作,1.1M文件,所有包含MATLAB语言的代码文件称为M文件,其后缀均为.mM文件可分为命令集和M函数(或:脚本M文件和函数M文件)命令集的效用和将命令逐一输入执行一样,在M命令集中可以使用工作空间的变量。在命令集中设定的变量可以在工作空间查找到。函数则需要用参数来传递信息。其功能和C语言中的函数一样。,18,1.MATLAB的M文件,24MATLAB的

12、M文件及外部数据操作,1.1M文件,M文件的创建和编辑,注意:M文件创建和使用时的工作路径!,19,脚本M文件例:找出10-1000之内的所有素数%cleartheworkspaceclear%resultsavetheprimenumbers.result=;%定义输出变量,此时需要附空值明确数据类型%for-loopfori=10:1000mark=1;%定义过程变量%检查变量是否为素数forj=2:i-1ifmod(i,j)=0%检查是否可以整除mark=0;%过程变量清0break%退出for循环endend%结果保存变量中增加该数ifmark=1result=resulti;%向输出

13、变量中添加结果endend%输出result,20,1.MATLAB的M文件,24MATLAB的M文件及外部数据操作,1.2函数类型,MATLAB函数由3部分组成:函数定义、注释、函数体function输出参数表=函数名输入参数表%注释通常在函数体的首行加上对函数整体功能的解释函数体%注释,函数的命名:必须以字母开头,其余部分可以是字母、数字和下划线的组合。如果文件名与函数名不同则必须使用文件名而不是程序内部定义的函数名(系统默认),21,1.MATLAB的M文件,24MATLAB的M文件及外部数据操作,1.2函数类型,函数的定义,functiony=average(x)%单输入单输出func

14、tiona,b,c=average(x,y,z)%多输入多输出functionaverage(x)%有输入无输出function=average(x)%有输入无输出functiona,b=average()%无输入有输出注意:传递给函数的变量不必和函数定义行中的参数同名,22,1.MATLAB的M文件,24MATLAB的M文件及外部数据操作,1.2函数类型,MATLAB函数的工作过程由4部分组成:函数名识别、P代码、函数参数传递、函数工作空间,函数名识别:函数可以在命令行中执行,也可以在其他M文件中调用。如果一个函数名被调用则系统通过一定的过程来确定使用那个函数1、检查是否有同名变量2、检查是

15、否为子函数3、检查是否是私有目录中的函数4、是否在搜索对象路径中,P代码:函数被解析后形成的伪代码,保存在内存中。函数参数传递:MATALB通过内存的引用来传递参数。函数工作空间:函数在执行时都拥有自己的内存空间,可以访问工作空间的变量和其他函数工作空间中的变量。,23,1.MATLAB的M文件,24MATLAB的M文件及外部数据操作,1.2函数类型,变量创建的特点1、不需要声明变量的类型与大小,用表达式右侧的确定值来定义2、对变量赋值既是创建变量,对既存的变量改写变量值3、变量的定义和文件名相同,32字符为止有效,全局变量和局部变量的定义:1、各函数都定义自己的局部变量,既使是同名变量也相互

16、独立。2、如果在函数及基本工作空间中都声明了全局变量,则都可以访问3、基本工作空间中不单独声明全局变量的情况,则不可以访问全局变量的定义:global变量名%-变量名通常使用大写予以区别注意:在M文件中定义全局变量时,如果当前工作空间已经存在同名变量,或已经存在的变量名则出现错误。,24,1.MATLAB的M文件,24MATLAB的M文件及外部数据操作,1.2函数类型,%一个使用全局变量的函数functiontest(x)globalT%函数中定义T=0.3%全局变量附初始值myprocess(pi/2)%调用myprocess函数exp(T)*sin(pi/2)%具体计算Tfunctiony=myprocess(x)globalT%使用时也需用global声明T=T*2;%变量T重新赋值y=exp(T)*sin(x);%计算函数输出值,%输入例test(5),25,1.MATLAB的M文件,24MATLAB的M文件及外部数据操作,1.3参数传递,x=mytestnio(5)x,y=mytestnio(5)mytestnio(5)x=mytestnio

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 教学课件 > 高中课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号