的基础知识3数学运算.ppt
《的基础知识3数学运算.ppt》由会员分享,可在线阅读,更多相关《的基础知识3数学运算.ppt(50页珍藏版)》请在三一文库上搜索。
1、1,控制系统仿真 -基于MATLAB语言,主讲教师:张磊 中国海洋大学 工程学院,2019/3/20,2,本节内容 本节介绍matlab语言的数学运算,主要包括: 矩阵运算(矩阵的逆、特征值和特征向量) 方程组求解 多项式运算 多项式微分 曲线拟合的基本方法,3,23 MATLAB的数学运算,1. 矩阵运算、方程组求解和多项式运算,1.1 矩阵的逆,B = 0.1472 -0.1444 0.0639 -0.0611 0.0222 0.1056 -0.0194 0.1889 -0.1028 ans = 1.0000 0 -0.0000 -0.0000 1.0000 0 0.0000 0 1.00
2、00 ans = 1.0000 0 -0.0000 0 1.0000 0 0 0.0000 1.0000, A=magic(3) B=inv(A) %求矩阵的逆 A*B B*A A = 8 1 6 3 5 7 4 9 2,A*B=B*A=I B是A的逆矩阵 B=inv(A),魔术矩阵,4,23 MATLAB的数学运算,1. 矩阵运算、方程组求解和多项式运算,1.2 矩阵的特征值和特征向量, X,d=eig(A) X = -0.6571 -0.7865 0.7614 -0.2275 0.3771 -0.6380 -0.7186 0.4892 0.1154 d = 1.6175 0 0 0 0.4
3、332 0 0 0 0.6121 A*X X*d ans = -1.0629 -0.3407 0.4660 -0.3679 0.1633 -0.3905 -1.1624 0.2119 0.0706, A=rand(3,3) d=eig(A) %求矩阵的特征值 A = 0.9501 0.4860 0.4565 0.2311 0.8913 0.0185 0.6068 0.7621 0.8214 d = 1.6175 0.4332 0.6121,A*x=d*x A 为n*n矩阵 称x是矩阵A的特征向量 d是特征值,特征向量X, 特征值为对角元素的矩阵d,5,23 MATLAB的数学运算,1. 矩阵运
4、算、方程组求解和多项式运算,1.3 线性方程组,高斯消元法 A=rand(3) b=rand(3,1) D=rref(A b) %求方程的解 A = 0.4447 0.9218 0.4057 0.6154 0.7382 0.9355 0.7919 0.1763 0.9169 b = 0.4103 0.8936 0.0579 D = 1.0000 0 0 -2.2753 0 1.0000 0 0.7101 0 0 1.0000 1.8918,待求方程组 A*X=b 求解方法: 高斯消元法 矩阵除法 矩阵求逆,a11*x1+a12*x2+a1n*xn =b1,a21*x1+a22*x2+a2n*x
5、n =b2,an1*x1+an2*x2+ann*xn =bn,6,23 MATLAB的数学运算,1. 矩阵运算、方程组求解和多项式运算,1.3 线性方程组,2)矩阵除法 A=rand(3);b=rand(3,1); Ab rref(A b) %验证方程的解 A = 0.6602 0.3412 0.3093 0.3420 0.5341 0.8385 0.2897 0.7271 0.5681 b = 0.3704 0.7027 0.5466 ans = 0.1631 0.1670 0.6652,待求方程组 A*X=b 求解方法:矩阵除法 X=Ab :左除,a11*x1+a12*x2+a1n*xn
6、=b1,a21*x1+a22*x2+a2n*xn =b2,an1*x1+an2*x2+ann*xn =bn,7,23 MATLAB的数学运算,1. 矩阵运算、方程组求解和多项式运算,1.3 线性方程组,3)矩阵求逆 A=rand(3),b=rand(3,1) Ab inv(A)*b A = 0.4449 0.7948 0.8801 0.6946 0.9568 0.1730 0.6213 0.5226 0.9797 b = 0.2714 0.2523 0.8757 ans = 1.6560 -1.0072 0.3809,待求方程组 A*X=b 求解方法: 矩阵求逆 A是方阵时 X=inv(A)
7、*b A不是方阵时 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=An An-1 A1 A0表示 1).poly 产生特征多项式系数向量(多项式的描述) 特征多项式一定是n+1维的,1.4 多项式运算,1. 矩阵运算、方程组求解和多项式运算,9,例:a=1 2 3;4 5 6;7 8 0; p=poly(a) p =1.00 -6.00 -72.00 -27.00 p
8、是多项式 的matlab描述方法,我们可用: p1=poly2str(p, x ) 函数文件,显示 数学多项式的形式 p1 =x3 - 6 x2 - 72 x - 27,10,2).roots 求多项式的根,a=1 2 3;4 5 6;7 8 0;p=poly(a) p = 1.00 -6.00 -72.00 -27.00 r = 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规定多项式系数向量用行向量表示,一
9、组根用列向量表示。,11,多项式运算例, p = 1 -4 5 -2 r = roots(p) %求多项式的根 p = 1 -4 5 -2 r = 12.1229 -5.7345 -0.3884 p = 1 0 0 -4 0 -2 r = roots(p) p = 1 0 0 -4 0 -2 r = 1.6764 -0.8679 + 1.2913i -0.8679 - 1.2913i 0.0297 + 0.7014i 0.0297 - 0.7014i,P=1 -4 5 -2,P=1 0 0 -4 0 -2,12,3).conv多项式乘运算,例:a(x)=x2+2x+3; b(x)=4x2+5x
10、+6; c=(x2+2x+3)(4x2+5x+6) a=1 2 3;b=4 5 6; c=conv(a,b)=conv(1 2 3,4 5 6) c=4.00 13.00 28.00 27.00 18.00 p=poly2str(c, x ) p=4 x4 + 13 x3 + 28 x2 + 27 x + 18 p(x)=4x4+13x3+28x2+27x+18,MATLAB提供了conv函数进行多项式乘运算, 如果是多个多项式运算,可以通过conv函数的嵌套来完成,13,4).deconv多项式除运算,a=1 2 3; c=4.00 13.00 28.00 27.00 18.00 d=dec
11、onv(c,a) d=4.00 5.00 6.00,命令格式:,其中d为商多项式,r为余数多项式,表示c=conv(d,a)+r 当只指定一个变量接受返回值时,函数只返回d,14,5).多项式微分,matlab提供了polyder函数来实现多项式的微分。 命令格式: b=polyder(p): 求p的微分,即b=p b=polyder(a,b): 求多项式a,b乘积的微分,即b=(conv(a,b) 例:a=1 2 3 4 5; poly2str(a,x) ans = x4 + 2 x3 + 3 x2 + 4 x + 5 b=polyder(a) b = 4 6 6 4 poly2str(b,
12、x) ans =4 x3 + 6 x2 + 6 x + 4,15,6).多项式曲线拟合,曲线拟合是数据分析中常使用的方法,在两组已知数据间建立一种函数关系,使得通过这种函数关系得到的数据和实际数据在最大程度上吻合。 matlab提供了polyfit函数来实现多项式的曲线拟合。 命令格式: p=polyfit(x,y,n): 返回一个n阶多项式的系数数组p 表示ployval(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阶
13、拟合 y1=polyval(p1,x); %求出1阶拟合后由p1得到的值y1 p2=polyfit(x,y,2) %进行2阶拟合 y2=polyval(p2,x); %求出2阶拟合后由p2得到的值y2 p3=polyfit(x,y,3) %进行3阶拟合 y3=polyval(p3,x); %求出3阶拟合后由p3得到的值y3 plot(x,y,.,x,y1,-.,x,y2,-,x,y3,-) %标出带有误差的数据点,用不同线型画出拟合曲线,16,小 结 本节介绍了matlab语言的基本数学运算功能,通过学习应该掌握: 矩阵的基本运算 方程组求解 多项式运算 曲线拟合的基本方法,课堂练习,17,1
14、. MATLAB的M文件,24 MATLAB的M文件及外部数据操作,1.1 M文件,所有包含MATLAB语言的代码文件称为M文件,其后缀均为.m M文件可分为命令集和M函数(或:脚本M文件和函数M文件) 命令集的效用和将命令逐一输入执行一样,在M命令集中可以使用工作空间的变量。在命令集中设定的变量可以在工作空间查找到。 函数则需要用参数来传递信息。其功能和C语言中的函数一样。,18,1. MATLAB的M文件,24 MATLAB的M文件及外部数据操作,1.1 M文件,M文件的创建和编辑,注意:M文件创建和使用时的工作路径!,19,脚本M文件例:找出10-1000之内的所有素数 %clear t
15、he workspace clear %result save the prime numbers. result=; %定义输出变量,此时需要附空值明确数据类型 %for-loop for i=10:1000 mark=1; %定义过程变量 %检查变量是否为素数 for j=2:i-1 if mod(i,j)=0 %检查是否可以整除 mark=0; %过程变量清0 break %退出for循环 end end %结果保存变量中增加该数 if mark=1 result=result i; %向输出变量中添加结果 end end %输出 result,20,1. MATLAB的M文件,24 M
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基础知识 数学 运算
链接地址:https://www.31doc.com/p-2319738.html