290 likes | 427 Views
精讲多练 MATLAB (第二版). 罗建军 杨琦 西安交通大学出版社. 第二章 MATLAB 的数值运算. 教学目标. 介绍 MATLAB 的两种基本的数值运算:矩阵和多项式。. 授课内容. 2.1 矩阵 2.2 多项式. 2.1 矩阵. MATLAB = mat rix (矩阵) + lab oratory (实验室). 2.1.1矩阵的构造. 输入矩阵最简方式是直接输入矩阵的元素: 1 )用中括号 [ ] 把所有矩阵元素括起来; 2 )同一行的不同数据元素之间用空格或逗号间隔; 3 )用分号(;)指定一行结束;
E N D
精讲多练MATLAB(第二版) 罗建军 杨琦 西安交通大学出版社
第二章 MATLAB的数值运算
教学目标 • 介绍MATLAB的两种基本的数值运算:矩阵和多项式。
授课内容 • 2.1 矩阵 • 2.2 多项式
2.1 矩阵 MATLAB = matrix(矩阵)+ laboratory(实验室)
2.1.1矩阵的构造 • 输入矩阵最简方式是直接输入矩阵的元素: 1)用中括号[ ]把所有矩阵元素括起来; 2)同一行的不同数据元素之间用空格或逗号间隔; 3)用分号(;)指定一行结束; 4)也可以分成几行进行输入,用回车符代替分号; 5)数据元素可以是表达式,系统将自动计算结果。
2.1.2 矩阵元素 • 可采用下标来表示矩阵元素,也可以用下标对矩阵元素进行修改。 >>A(1,1) ans = 1 >>A(2,3) ans = 7 >>A(1,1)=0;A(2,2)=A(1,2)+A(2,1);A(4,4)=cos(0); 则矩阵变为: A = 0 2 3 4 5 7 7 8 9 10 11 12 13 14 15 1
2.1.3 矩阵运算 • 1. 矩阵的加减运算:+(加)、-(减) • 2. 矩阵乘法:*(乘) • 3. 矩阵除法:/ (右除)、\ (左除) • 4. 矩阵的乘方:^(乘方) • 5. 矩阵转置: ' (转置运算符) • 6. 求逆矩阵 • 7. 求特征值 • 8. 求特征多项式 • 9. 求方阵的行列式 • 10. 求解线形方程组
1. 矩阵的加减运算 >> C=A+B C = 2 7 12 17 7 12 17 22 12 17 22 27 17 22 27 32 >> D=A-B D = 0 -3 -6 -9 3 0 -3 -6 6 3 0 -3 9 6 3 0 >> E=A+3 E = 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
2. 矩阵乘法 >> C=A*B C = 30 70 110 150 70 174 278 382 110 278 446 614 150 382 614 846 >> D=A*3 D = 3 6 9 12 15 18 21 24 27 30 33 36 39 42 45 48
3. 矩阵除法 >>A\B ans = 0 -1.1250 -6.7500 -3.5000 0 -0.5000 4.2500 -1.2500 0 0.3750 3.7500 1.0000 0.2500 1.5000 -1.0000 4.0000 >>A/B ans = 0 0 0 0.2500 -1.1250 -0.5000 0.3750 1.5000 -6.7500 4.2500 3.7500 -1.0000 -3.5000 -1.2500 1.0000 4.0000
4. 矩阵的乘方 >> A=[1 2 3 4; 5 6 7 8; 9 10 11 12; 13 14 15 16]; >> A^1 ans = 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 >> A^2 ans = 90 100 110 120 202 228 254 280 314 356 398 440 426 484 542 600 >> A^3 ans = 3140 3560 3980 4400 7268 8232 9196 10160 11396 12904 14412 15920 15524 17576 19628 21680
5. 矩阵转置 >>A' ans = 1 5 9 13 2 6 10 14 3 7 11 15 4 8 12 16
6.求逆矩阵 >>G=[1 2 0;2 5 -1; 4 10 -1]; >>X=inv(G) X = 5 2 -2 -2 -1 1 0 -2 1 >>I=inv(G)*G I = 1 0 0 0 1 0 0 0 1
7. 求特征值 >>eig(G) ans = 3.7321 0.2679 1.0000
8. 求特征多项式 >>poly(G) ans = 1.0000 -5.0000 5.0000 -1.0000 >>round(poly(G)) ans = 1 -5 5 -1
9. 求方阵的行列式 >>det(G) ans = 1
2.1.4 向量 • 利用 “:”生成向量 >>x=1:5 %初值=1,终值=5,默认步长=1 x = 1 2 3 4 5 >>y=1:2:9 %初值=1,终值=9,步长=2 y = 1 3 5 7 9 >>z=9:-2:1 %初值=9,终值=1,步长=-2 z = 9 7 5 3 1
2.2 多项式 多项式是形如 P(x) = a0xn+a1xn-1+…+an-1x+an的式子。 在MATLAB中,多项式用行向量表示: P=[ a0 a1 … an-1 an]
2.2.1多项式行向量的构造 • 例:已知向量A=[1 –34 –80 0 0],用此向量构造一多项式并显示结果。 (x-1)(x+34)(x+80)(x-0)(x-0) >>PA=poly(A) >>PAX=poly2str(PA,'X') X^5 + 113 X^4 + 2606 X^3 - 2720 X^2
自学内容 • 2.3 其他构造矩阵的方法 • 2.4 矩阵函数 • 2.5 稀疏矩阵 • 2.6 数组
调试技术 • 2.7 MATLAB的工作空间 • 2.8 数据的读写
应用举例 例2-21 将表达式(x-4)(x+5)(x2-6x+9)展开为多项式形式,并求其对应的一元n次方程的根。 >>p=conv([1 -4],conv([1 5],[1 -6 9])) p = 1 -5 -17 129 -180 >>px=poly2str(p,’x’) px = x^4 - 5 x^3 - 17 x^2 + 129 x - 180 >>x=roots(p) x = -5.0000 4.0000 3.0000 3.0000
应用举例 例2-22 已知一元四次方程所对应四个的根为 -5.0000 4.0000 3.0000 3.0000 求这个方程所对应的表达式原型。 >>x=[-5, 4, 3, 3]; >>p=poly(x); >>px=poly2str(p,’x’) px = x^4 - 5 x^3 - 17 x^2 + 129 x - 180
再 见 谢谢使用,敬请批评指正!