《MATLAB程序设计与应用》由会员分享,可在线阅读,更多相关《MATLAB程序设计与应用(53页珍藏版)》请在金锄头文库上搜索。
1、word实验一 MATLAB运算根底第二题:A= B=求如下问题:1) A+6*B和A-B+I2) A*B和A.*B3) A3 A.34) A/B BA5) A,B A(1,3),:B.2解: A=12 34 -4;34 7 87;3 65 7; B=1 3 -1;2 0 3;3 -2 7; I=1 0 0;0 1 0;0 0 1; 1 A+6*Bans = 18 52 -10 46 7 105 21 53 49 A-B+Ians = 12 31 -3 32 8 84 0 67 12 A*Bans = 68 44 62 309 -72 596 154 -5 241 A.*Bans = 12 1
2、02 4 68 0 261 9 -130 493 A3ans = 37226 233824 48604 247370 149188 600766 78688 454142 118820 A.3ans = 1728 39304 -64 39304 343 658503 27 274625 3434 A/Bans = BAans =5 A,Bans = 12 34 -4 1 3 -1 34 7 87 2 0 3 3 65 7 3 -2 7 A(1,3,:);B2ans = 12 34 -4 3 65 7 4 5 1 11 0 19 20 -5 40第三题:设有矩阵A和B A= B=1) 求他们的乘
3、积C2) 将矩阵C的右下角3*2子矩阵赋给D3) 查看matlab工作空间的使用情况解: A=1 2 3 4 5;6 7 8 9 10;11 12 13 14 15;16 17 18 19 20;21 22 23 24 25; B=3 0 16;17 -6 9;0 23 -4;9 7 0;4 13 11;1 C=A*BC = 93 150 77 258 335 237 423 520 397 588 705 557 753 890 7172 D=C(3:5,2:3)D = 520 397 705 557 890 717第四题: 完成如下操作:1) 求【100,999】之间能被21的数的个数 2
4、建立一个字符串向量,删除其中的大写字母解:(1) A=100:999; B=rem(A,21); C=length(find(B=0)C =43(2) A=lsdhKSDLKklsdkl; k=find(A=A&A A(k)=A =Lsdhklsdkl 实验二 MATLAB矩阵分析与处理第三题: 建立一个55矩阵,求它的行列式的值,迹,秩,和X数。解: A=1 8 9 4 7;45 89 26 17 0;95 85 23 13 6;75 65 70 54 63;57 26 19 11 2; H=det(A)H =13739916 Trace=trace(A)Trace = 169 Rank=r
5、ank(A)Rank = 5 Norm=norm(A)Norm =第四题: A=求A的特征值与特征向量,并分析其数学意义。解: A=-29 6 18;20 5 12;-8 8 5; V,D=eig(A)V =D = -25.3169 0 0 0 -10.5182 0第五题:下面是一个线性方程组:(1) 求方程的解。(2) 将方程右边向量元素改为0.53,再求解,并比拟的变化和解的相对变化。(3) 计算系数矩阵A的条件数并分析结论。解:1 A=1/2 1/3 1/4;1/3 1/4 1/5;1/4 1/5 1/6; b=0.95,0.67,0.52; x=inv(A)*bx =0.6000 2
6、B=0.95,0.67,0.53; x=inv(A)*B x =6.6000 (3) cond(A)ans = 1.3533e+003 实验三 选择程序结构设计第一题:求分段函数的值Y=解: x=-5.0,-3.0,1.0,2.0,2.5,3.0,5.0; y=; for x0=x if x0=0&x0 xx = yy =第二题: 输入一个百分制的成绩,要求输出成绩等级A B C D E。其中9080为A,8089为B,7079为C,6069为D 60以下为E要求1) 分别写入if语句和switch语句实现2) 输入百分制成绩要判断该成绩的合理性,对不合理的成绩应输出出错的信息 解: x=in
7、put(请输入一个百分制成绩:); 请输入一个百分制成绩: if x100|x0 disp(您输入的成绩不是百分制成绩,请重新输入。); else if x=90 disp(A); elseif x=80 disp(B); elseif x=70 disp(C); elseif x60 disp(D); else disp(E); end end 第三题: 硅谷公司员工的工资计算方法为1) 工作时间超过120小时者,超过的局部加15%2) 工作时数低于60小时的,扣发700元3) 其余按每小时84元 解: n=input(请输入员工工号:);请输入员工工号: h=input(该员工工作时数是:
8、);该员工工作时数是: if h120 x=(h-120)*84*(1+0.15)+120*84; elseif h a=fix(10+(99-10)*rand(1,2) x=a(1); y=a(2); t=input(请输入运算符号:,s); if t=+ z=x+y; elseif t=- z=x-y; elseif t=* z=x*y; elseif t=/ z=x/y; end disp(num2str(x),t,num2str(y),=,num2str(z)a = 81 22请输入运算符号:第五题:建立5*6矩阵,要求输出第n行元素。当n超过矩阵的行数时,自动转入输出矩阵最后一行的元
9、素,并给出出错信息。解: a=rand(5,6); n=input(请输入您要输出矩阵的第几行:);请输入您要输出矩阵的第几行: if n5 disp(超出了矩阵的行数,矩阵的最后一行为:) a(5,:) else disp(矩阵的第,num2str(n),行为:) a(n,:) end 矩阵的第行为:ans = Empty matrix: 0-by-6 实验四 循环结构程序设计第一题: 根据公式,求的近似值。当n分别取100,1000,10000时,结果是多少?要求是:分别用循环结构和向量运算使用sum函数来实现。解: s=0; n=100; for i=1:n s=s+1/i/i; end PI=sqrt(6*s) pi PI = s=0; n=1000; for i=1:n s=s+1/i/i; end PI=sqrt(6*s) pi PI = s=0; n=10000; for i=1:n s=s+1/i/i; end PI=sqrt(6*s) pi PI =第二题:根据,求:(1) y y=0; n=1; while(y3) y=y+1/(2*n-1); n=n+1; end y=y-1/(2*(n-1)-1) n=n-2 y =n =56第三题:考虑以下