MATLAB语言知识与控制系统仿真参考总结地答案解析第2章.doc
-+2.12 MATLAB语言的数值运算-实训2.12.1实训目的 1.学会矩阵的建立方法及其矩阵的转置、相乘、求逆等运算;2.识别了解特殊矩阵;3.学会求解方程与方程组;4.学会通过编程解决一些实际问题; 2.12.2实训内容1.矩阵建立及其运算求(1)(2)(3)(4)(5)(6)>> A1=-5:4;>> A2=0.1:0.1:1.0;>> A3=sqrt(A2);>> A4=exp(A2);>> A5=2.(A2);>> format bank>> D1=A1+A2D1 = -4.90 -3.80 -2.70 -1.60 -0.50 0.60 1.70 2.80 3.90 5.00>> D2=A3-A2D2 = 0.22 0.25 0.25 0.23 0.21 0.17 0.14 0.09 0.05 0>> D3=1./A4D3 = 0.90 0.82 0.74 0.67 0.61 0.55 0.50 0.45 0.41 0.37>> D4=A4.*A5D4 = 1.18 1.40 1.66 1.97 2.33 2.76 3.27 3.87 4.59 5.44>> D5=3*A5D5 = 3.22 3.45 3.69 3.96 4.24 4.55 4.87 5.22 5.60 6.00>> D6=A1.2D6 = 25.00 16.00 9.00 4.00 1.00 0 1.00 4.00 9.00 16.002.建立矩阵(1)矩阵B的逆矩阵(2)矩阵B对应的行列式>> B=0:2:8;-6:-2;15,9,5,13,3;2,4,11,6,10;12,7,8,1,14B = 0 2.00 4.00 6.00 8.00 -6.00 -5.00 -4.00 -3.00 -2.00 15.00 9.00 5.00 13.00 3.00 2.00 4.00 11.00 6.00 10.00 12.00 7.00 8.00 1.00 14.00>> inv(B)ans = -0.18 0.29 0.11 0.07 0.07 0.31 -0.72 -0.20 -0.23 -0.07 -0.21 0.11 0.03 0.21 -0.02 0.05 0.11 0.08 0.02 -0.04 0.12 0.04 -0.02 -0.06 0.06>> det(B)ans = -17568.00(3)利用矩阵元素的提取方法建立以下矩阵矩阵b01:矩阵B的34行元素;矩阵b02:矩阵B的25列元素;矩阵b03:由矩阵B的13行24列交叉点所对应的元素组成;>> B=0:2:8;-6:-2;15,9,5,13,3;2,4,11,6,10;12,7,8,1,14;>> b01=B(3:4,:)b01 = 15.00 9.00 5.00 13.00 3.00 2.00 4.00 11.00 6.00 10.00>> b02=B(:,2:5)b02 = 2.00 4.00 6.00 8.00 -5.00 -4.00 -3.00 -2.00 9.00 5.00 13.00 3.00 4.00 11.00 6.00 10.00 7.00 8.00 1.00 14.00>> b03=B(1:3,2:4)b03 = 2.00 4.00 6.00 -5.00 -4.00 -3.00 9.00 5.00 13.003.矩阵的转置与翻转已知矩阵,求取以下矩阵观察并记录。(1) m1=rot90(m,1)(2)m2=rot90(m,2)(3)m3=rot90(m,-1)(4)m4=fliplr(m)(5)m5=flipud(m)(6) 求矩阵m的转置矩阵>> m=1:5;6:10;11:15m = 1.00 2.00 3.00 4.00 5.00 6.00 7.00 8.00 9.00 10.00 11.00 12.00 13.00 14.00 15.00>> m1=rot90(m,1)m1 = 5.00 10.00 15.00 4.00 9.00 14.00 3.00 8.00 13.00 2.00 7.00 12.00 1.00 6.00 11.00>> m2=rot90(m,2)m2 = 15.00 14.00 13.00 12.00 11.00 10.00 9.00 8.00 7.00 6.00 5.00 4.00 3.00 2.00 1.00>> m3=rot90(m,-1)m3 = 11.00 6.00 1.00 12.00 7.00 2.00 13.00 8.00 3.00 14.00 9.00 4.00 15.00 10.00 5.00>> m4=fliplr(m)m4 = 5.00 4.00 3.00 2.00 1.00 10.00 9.00 8.00 7.00 6.00 15.00 14.00 13.00 12.00 11.00>> m5=flipud(m)m5 = 11.00 12.00 13.00 14.00 15.00 6.00 7.00 8.00 9.00 10.00 1.00 2.00 3.00 4.00 5.00>> mans = 1.00 6.00 11.00 2.00 7.00 12.00 3.00 8.00 13.00 4.00 9.00 14.00 5.00 10.00 15.004.基本矩阵运算(1) 创建数值矩阵在命令窗口按照表2-5中从左到右顺序依次执行相关命令,将结果记录在表2-5中。表2-5指令a=1 2 3; 4 5 6; 7 8 9a(3,2)a(:,1)a(1:2,2:3)结果1.00 2.00 3.004.00 5.00 6.007.00 8.00 9.008.001.04.007.002.00 3.005.00 6.00>> a=1 2 3; 4 5 6; 7 8 9a = 1.00 2.00 3.00 4.00 5.00 6.00 7.00 8.00 9.00>> a(3,2)ans = 8.00>> a(:,1)ans = 1.00 4.00 7.00>> a(1:2,2:3)ans = 2.00 3.00 5.00 6.00在命令窗口按照表2-6中从左到右顺序依次执行相关命令,将结果记录在表2-6中。表2-6指令t=0:5u=0:0.5:4b=1 1+2i;3+4i 3结果0 1 2 3 4 50 0.5 1 1.5 2 2.5 3 3.5 41.00 1.00 + 2.00i3.00 + 4.00i 3.00>> t=0:5t = 0 1.00 2.00 3.00 4.00 5.00>> t=0:0.5:4t = 0 0.50 1.00 1.50 2.00 2.50 3.00 3.50 4.00>> format short>> b=1 1+2i;3+4i 3b = 1.0000 1.0000 + 2.0000i 3.0000 + 4.0000i 3.0000 (2) 按表2-7要求创建并观察记录特殊矩阵,将结果记于表2-7中。表2-7备注全1矩阵全0矩阵单位矩阵魔术矩阵均匀分布随机矩阵指令a1=ones(3,4)a2=zeros(2,3)a3=eye(4)a4=magic(4)a5=rand(3)结果备注正态分布随机矩阵范得蒙矩阵希尔伯特矩阵托普利兹矩阵帕斯卡矩阵指令a6=randn(4)a7= vander(1 5 6 2)a8=hilb(4)a9=toeplitz(1:6)pascal(5)结果>> a1=ones(3,4)a1 = 1 1 1 1 1 1 1 1 1 1 1 1>> a2=zeros(2,3)a2 = 0 0 0 0 0 0>> a3=eye(4)a3 = 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1>> a4=magic(4)a4 = 16 2 3 13 5 11 10 8 9 7 6 12 4 14 15 1>> a5=rand(3) %每次运行结果不一样a5 = 0.4447 0.9218 0.4057 0.6154 0.7382 0.9355 0.7919 0.1763 0.9169>> a6=randn(4) %每次运行结果不一样a6 = -0.4326 -1.1465 0.3273 -0.5883 -1.6656 1.1909 0.1746 2.1832 0.1253 1.1892 -0.1867 -0.1364 0.2877 -0.0376 0.7258 0.1139>> a7= vander(1 5 6 2)a7 = 1 1 1 1 125 25 5 1 216 36 6 1 8 4 2 1>> a8=hilb(4)a8 = 1.0000 0.5000 0.3333 0.2500 0.5000 0.3333 0.2500 0.2000 0.3333 0.2500 0.2000 0.1667 0.2500 0.2000 0.1667 0.1429>> a9=toeplitz(1:6)a9 = 1 2 3 4 5 6 2 1 2 3 4 5 3 2 1 2 3 4 4 3 2 1 2 3 5 4 3 2 1 2 6 5 4 3 2 1>> pascal(5)ans = 1 1 1 1 1 1 2 3 4 5 1 3 6 10 15 1 4 10 20 35 1 5 15 35 70(3) 练习矩阵运算键入a=0 1 0;0 0 1;-6 11 -6;b=1 2;3 4;5 6;c=1 1 0;0 1 1;d=1 3; 2 7;e=2 5;-3 0;按表2-8要求的相应运算,将结果记于表2-8中。表2-8备注矩阵加减运算矩阵乘方运算矩阵乘法运算矩阵点运算矩阵除运算指令a1= d+e a2=e+0.6a3=d-1a4=a2a5=d0.5a6=d-1v1=c*av2=d*ev3=c*a*bv4=d.2v5=e./dv6=d.*ev7=d/ev8=dev9=d/5结果备注矩阵转置矩阵翻转矩阵行列式矩阵的秩矩阵的迹指令v10=dv11=fliplr(d)v12=flipud(d)v13=rot90(d)v14=det(d)v15=det(e)v16=rank(d)v17=rank(e)v18=trace(d)v19=trace(e)结果>> a=0 1 0;0 0 1;-6 -11 -6;>> b=1 2;3 4;5 6;>> c=1 1 0;0 1 1;>> d=1 3; 2 7;>> e=2 5;-3 0;>> a1=d+ea1 = 3 8 -1 7>> a2=e+0.6a2 = 2.6000 5.6000 -2.4000 0.6000>> a3=d-1a3 = 0 2 1 6>> a4=a2a4 = 0 0 1 -6 -11 -6 36 60 25>> a5=d0.5a5 = 0.6325 0.9487 0.6325 2.5298>> a6=d-1a6 = 7 -3 -2 1>> v1=c*av1 = 0 1 1 -6 -11 -5>> v2=d*ev2 = -7 5 -17 10>> v3=c*a*bv3 = 8 10 -64 -86>> v4=d.2v4 = 1 9 4 49>> v5=e./dv5 = 2.0000 1.6667 -1.5000 0>> v6=d.*ev6 = 2 15 -6 0>> v7=d/ev7 = 0.6000 0.0667 1.4000 0.2667>> v8=dev8 = 23 35 -7 -10>> v9=d/5v9 = 0.2000 0.6000 0.4000 1.4000>> v10=dv10 = 1 2 3 7>> v11=fliplr(d)v11 = 3 1 7 2>> v12=flipud(d)v12 = 2 7 1 3>> v13=rot90(d)v13 = 3 7 1 2>> v14=det(d)v14 = 1>> v15=det(e)v15 = 15>> v16=rank(d)v16 = 2>> v17=rank(e)v17 = 2>> v18=trace(d)v18 = 8>> v19=trace(e)v19 = 25. 方程与方程组的求解(1)方程的求解编写程序求解下面的方程并记录结果>> a=1 11 -26 31 -62 79 -1269;>> roots(a)ans = -13.1834 2.8288 1.1835 + 2.2645i 1.1835 - 2.2645i -1.5062 + 1.7156i -1.5062 - 1.7156i(2)方程组的求解编写程序求解下面的方程组并记录结果>> a=1 2 -2.6 11;2 -3 36 -5;1 1 3.3 -6;3 4 -7 0;>> b=70;-31;62;103;>> abans = -49.6171 77.2426 8.1599 -1.2411>> a=0.6 -1.8 0;-0.5 1.8 -0.6;0 -2.8 1.6;>> b=3;6;0;>> inv(a)*bans = -29.0000 -11.3333 -19.8333>> abans = -29.0000 -11.3333 -19.8333整理为:>> A=2 1 -1 -1;1 0 2 0;1 -2 0 0;0 2 0 4;>> B=0;18;0;6;>> ABans = 3.2308 1.6154 7.3846 0.69236. 输入矩阵a,b,c,d, 编程求解以下问题 (1) 、(2) 的逆矩阵、的逆矩阵;(3) 与(4) 、(5) 、解:>> a=1 7 13 4;4 3 2 7;2 8 -5 9;3 -9 5 8;>> b=4 9 1 -11;10 8 4 -7;13 6 6 9;11 13 8 6;>> c=2 5 8 6;>> d=2;-8;7;-3;>> a+bans = 5 16 14 -7 14 11 6 0 15 14 1 18 14 4 13 14>> a-bans = -3 -2 12 15 -6 -5 -2 14 -11 2 -11 0 -8 -22 -3 2>> a*dans = 25 -23 -122 89>> c*bans = 228 184 118 51>> inv(a) %的逆矩阵ans = -0.1098 0.4731 -0.2142 -0.1181 0.0271 0.0299 0.0201 -0.0623 0.0604 -0.0102 -0.0322 0.0150 0.0339 -0.1374 0.1230 0.0899>> inv(b) %的逆矩阵ans = 0.1031 -0.0364 0.1881 -0.1357 0.2271 -0.2266 0.0892 0.0180 -0.5710 0.5312 -0.4772 0.2886 0.0804 -0.1504 0.0980 -0.0084>> a*bans = 287 195 139 81 149 163 84 -5 122 169 76 -69 75 89 61 123>> a.*bans = 4 63 13 -44 40 24 8 -49 26 48 -30 81 33 -117 40 48>> a/bans = -5.4089 4.6812 -4.9983 3.7093 0.5145 -0.8161 0.7520 0.0297 5.6016 -5.8957 4.3582 -1.6460 -3.9460 3.3833 -1.8404 0.8069>> a./bans = 0.2500 0.7778 13.0000 -0.3636 0.4000 0.3750 0.5000 -1.0000 0.1538 1.3333 -0.8333 1.0000 0.2727 -0.6923 0.6250 1.3333>> a*aans = 67 96 -18 202 41 -10 83 111 51 -83 112 91 1 -38 36 58>> a.2ans = 1 49 169 16 16 9 4 49 4 64 25 81 9 81 25 647. 解决问题现有圆柱形橡皮泥材料,直径125cm,长160cm,现用该材料加工实心球,每套12个,半径从3cm开始递增以0.2cm为步长,问总共可以加工多少套?程序为:r1=125/2; % 根据直径求出半径 h1=160; % 圆柱体长度 v=pi*r12*h1 % 圆柱体总的体积 r=3:0.2:5.2 % 每套球的半径范围 v2=4/3*pi*r.3 % 每套球的体积矩阵 v3=sum(v2) % 每套12个球的体积之和 n=v/v3 % 总共可加工的套数(小数)round(n) % 总共可加工的套数(取整数) 分析以上程序根据你的理解给每一行程序加上注释并运行程序看总共可以加工的套数为多少。>> r1=125/2; % 根据直径求出半径 h1=160; % 圆柱体长度 v=pi*r12*h1 % 圆柱体总的体积 r=3:0.2:5.2 % 每套球的半径范围 v2=4/3*pi*r.3 % 每套球的体积矩阵 v3=sum(v2) % 每套12个球的体积之和 n=v/v3 % 总共可加工的套数(小数)round(n) % 总共可加工的套数(取整数) v = 1.9635e+006r = 3.0000 3.2000 3.4000 3.6000 3.8000 4.0000 4.2000 4.4000 4.6000 4.8000 5.0000 5.2000v2 = 113.0973 137.2583 164.6362 195.4322 229.8473 268.0826 310.3391 356.8179 407.7201 463.2467 523.5988 588.9774v3 = 3.7591e+003n = 522.3377ans = 522>>总共可以加工的套数为522套。8.最佳售房问题某用户现有一栋楼房需要处理,如果现在就出售,可得总收入100万元(人民币)。如果现在不出售,而作为其它用途,n 年后再出售,n年末可得总收入(万元)。而银行年利率为。由于某种原因在存款时只能采用存期一年自动转存方式。分别取n=1,2,10,试计算并比较用户在两种方案下的收益,如果该用户在8年后将资金用作其它投资,应该选用哪一种方案收益更大,8年末资金总额为多少比另外一种方案多收益多少。第一种方案:过n年再出售,原来的100万到第n年时增值为:第二种方案:现在出售得本金100万元并存入银行。由于银行年利率为,按照复利计算公式,第n年连本带利资金总额为:>>n=1:10;y1=100*exp(sqrt(n-0.9)/7);y2=100*(1+0.05).n;n;y1;y2;y1-y2 1.00 2.00 3.00 4.00 5.00 6.00 7.00 8.00 9.00 10.00 104.62 116.16 123.00 128.60 133.54 138.07 142.31 146.32 150.17 153.87 105.00 110.25 115.76 121.55 127.63 134.01 140.71 147.75 155.13 162.89 -0.38 5.91 7.24 7.05 5.92 4.06 1.60 -1.42 -4.97 -9.02数据分析:该用户在8年后将资金用作其它投资,应该选择第二种方案,到时资金总额为147.75万,比另外一种方案多收益1.42万元。若银行利率,试重新考虑两种方案的优劣,通过编程解决并依据仿真结果进行数据的简要分析。>> n=1:10;y1=100*exp(sqrt(n-0.9)/7);y2=100*(1+0.045).n;n;y1;y2;y1-y2ans =1.00 2.00 3.00 4.00 5.00 6.00 7.00 8.00 9.00 10.00104.62 116.16 123.00 128.60 133.54 138.07 142.31 146.32 150.17 153.87104.50 109.20 114.12 119.25 124.62 130.23 136.09 142.21 148.61 155.300.12 6.96 8.88 9.35 8.93 7.85 6.22 4.111.56 -1.43数据分析:该用户在8年后将资金用作其它投资,应该选择第一种方案(投资方案),到时资金总额为146.32万,比第二种方案(存款方案)多收益4.11万元。9. 编写程序,完成以下表格,保留两位小数。表2-9常用锐角三角函数对照表sin()0.090.17 0.260.340.420.500.570.640.710.770.82cos()1.000.980.970.940.910.870.820.770.710.640.57tan()0.09 0.180.270.360.470.580.700.841.001.191.43cot()11.43 5.673.732.752.141.731.431.191.000.840.70>> a=5*pi/180:5*pi/180:55*pi/180;>> sin(a);cos(a);tan(a);cot(a)ans =0.09 0.17 0.26 0.34 0.42 0.50 0.57 0.64 0.71 0.77 0.821.00 0.98 0.97 0.94 0.91 0.87 0.82 0.77 0.71 0.64 0.570.09 0.18 0.27 0.36 0.47 0.58 0.70 0.84 1.00 1.19 1.4311.43 5.67 3.73 2.75 2.14 1.73 1.43 1.19 1.00 0.84 0.70表2-10 函数计算0.10.20.30.40.50.60.70.80.91.0>> t=0.1:0.1:1.0;>> t;exp(t);log(t);10.t;asin(t)