MATLAB)课后实验答案共43页·第1页实验一MATLAB运算基础1.先求下列表达式的值,然后显示MATLAB工作空间的使用情况并保存全部变量。(1)0122sin851ze(2)221ln(1)2zxx,其中2120.455ix(3)0.30.330.3sin(0.3)ln,3.0,2.9,,2.9,3.022aaeeazaa(4)2242011122123ttzttttt,其中t=0:0.5:2.5解:M文件:z1=2*sin(85*pi/180)/(1+exp(2))x=[21+2*i;-.455];z2=1/2*log(x+sqrt(1+x^2))a=-3.0:0.1:3.0;z3=(exp(0.3.*a)-exp(-0.3.*a))./2.*sin(a+0.3)+log((0.3+a)./2)t=0:0.5:2.5;z4=(t=0&t1).*(t.^2)+(t=1&t2).*(t.^2-1)+(t=2&t3).*(t.^2-2*t+1)运算结果:z1=2*sin(85*pi/180)/(1+exp(2))x=[21+2*i;-.455];z2=1/2*log(x+sqrt(1+x^2))a=-3.0:0.1:3.0;z3=(exp(0.3.*a)-exp(-0.3.*a))./2.*sin(a+0.3)+log((0.3+a)./2)t=0:0.5:2.5;z4=(t=0&t1).*(t.^2)+(t=1&t2).*(t.^2-1)+(t=2&t3).*(t.^2-2*t+1)z1=0.2375z2=0.7114-0.0253i0.8968+0.3658i0.2139+0.9343i1.1541-0.0044i2.已知:MATLAB)课后实验答案共43页·第2页1234413134787,2033657327AB求下列表达式的值:(1)A+6*B和A-B+I(其中I为单位矩阵)(2)A*B和A.*B(3)A^3和A.^3(4)A/B及B\A(5)[A,B]和[A([1,3],:);B^2]解:M文件:A=[1234-4;34787;3657];B=[13-1;203;3-27];A+6.*BA-B+eye(3)A*BA.*BA^3A.^3A/BB\A[A,B][A([1,3],:);B^2]运算结果:A=[1234-4;34787;3657];B=[13-1;203;3-27];A+6.*BA-B+eye(3)A*BA.*BA^3A.^3A/BB\A[A,B][A([1,3],:);B^2]ans=1852-10467105215349ans=1231-3328840671ans=684462309-72596154-5241ans=MATLAB)课后实验答案共43页·第3页1210246802619-13049ans=372262338244860424737014918860076678688454142118820ans=172839304-643930434365850327274625343ans=16.4000-13.60007.600035.8000-76.200050.200067.0000-134.000068.0000ans=109.4000-131.2000322.8000-53.000085.0000-171.0000-61.600089.8000-186.2000ans=1234-413-13478720336573-27ans=1234-436574511101920-5403.设有矩阵A和B1234530166789101769,111213141502341617181920970212223242541311AB(1)求它们的乘积C。(2)将矩阵C的右下角3×2子矩阵赋给D。(3)查看MATLAB工作空间的使用情况。解:.运算结果:MATLAB)课后实验答案共43页·第4页E=(reshape(1:1:25,5,5))';F=[3016;17-69;023-4;970;41311];C=E*FH=C(3:5,2:3)C=9315077258335237423520397588705557753890717H=5203977055578907174.完成下列操作:(1)求[100,999]之间能被21整除的数的个数。(2)建立一个字符串向量,删除其中的大写字母。解:(1)结果:m=100:999;n=find(mod(m,21)==0);length(n)ans=43(2).建立一个字符串向量例如:ch='ABC123d4e56Fg9';则要求结果是:实验二MATLAB矩阵分析与处理1.设有分块矩阵33322322ERAOS,其中E、R、O、S分别为单位矩阵、随机矩阵、零矩阵和对角阵,试通过数值计算验证22ERRSAOS。解:M文件如下;ch='ABC123d4e56Fg9';k=find(ch='A'&ch='Z');ch(k)=[]ch=123d4e56g9MATLAB)课后实验答案共43页·第5页输出结果:S=1002A=1.0000000.53830.442701.000000.99610.1067001.00000.07820.96190001.0000000002.0000a=1.0000001.07671.328001.000001.99230.3200001.00000.15642.88570001.0000000004.0000ans=0000000000000000000000000由ans,所以22ERRSAOS2.产生5阶希尔伯特矩阵H和5阶帕斯卡矩阵P,且求其行列式的值Hh和Hp以及它们的条件数Th和Tp,判断哪个矩阵性能更好。为什么?解:M文件如下:MATLAB)课后实验答案共43页·第6页输出结果:H=1.00000.50000.33330.25000.20000.50000.33330.25000.20000.16670.33330.25000.20000.16670.14290.25000.20000.16670.14290.12500.20000.16670.14290.12500.1111P=111111234513610151410203515153570Hh=3.7493e-012Hp=1Th=4.7661e+005Tp=8.5175e+003因为它们的条件数ThTp,所以pascal矩阵性能更好。3.建立一个5×5矩阵,求它的行列式值、迹、秩和范数。解:M文件如下:MATLAB)课后实验答案共43页·第7页输出结果为:A=17241815235714164613202210121921311182529d=5070000t=65c1=6.8500c2=5.4618cinf=6.85004.已知2961820512885A求A的特征值及特征向量,并分析其数学意义。解:M文件如图:MATLAB)课后实验答案共43页·第8页输出结果为:V=0.71300.28030.2733-0.6084-0.78670.87250.34870.55010.4050D=-25.3169000-10.518200016.8351数学意义:V的3个列向量是A的特征向量,D的主对角线上3个是A的特征值,特别的,V的3个列向量分别是D的3个特征值的特征向量。5.下面是一个线性方程组:1231112340.951110.673450.52111456xxx(1)求方程的解。(2)将方程右边向量元素b3改为0.53再求解,并比较b3的变化和解的相对变化。(3)计算系数矩阵A的条件数并分析结论。解:M文件如下:MATLAB)课后实验答案共43页·第9页输出结果:X=1.20000.60000.6000X2=1.20000.60000.6000C=1.3533e+003由结果,X和X2的值一样,这表示b的微小变化对方程解也影响较小,而A的条件数算得较小,所以数值稳定性较好,A是较好的矩阵。6.建立A矩阵,试比较sqrtm(A)和sqrt(A),分析它们的区别。解:M文件如下:MATLAB)课后实验答案共43页·第10页运行结果有:A=1661820512985b1=3.8891-0.11023.21033.29172.14360.36980.38552.07601.7305b2=4.00002.44954.24264.47212.23613.46413.00002.82842.2361b=16.00006.000018.000020.00005.000012.00009.00008.00005.0000分析结果知:sqrtm(A)是类似A的数值平方根(这可由b1*b1=A的结果看出),而sqrt(A)则是对A中的每个元素开根号,两则区别就在于此。实验三选择结构程序设计1.求分段函数的值。2226035605231xxxxyxxxxxxx且且及其他用if语句实现,分别输出x=-5.0,-3.0,1.0,2.0,2.5,3.0,5.0时的y值。解:M文件如下:MATLAB)课后实验答案共43页·第11页运算结果有:f(-5)y=14f(-3)y=11f(1)y=2f(2)y=1f(2.5)y=-0.2500f(3)y=5f(5)y=192.输入一个百分制成绩,要求输出成绩等级A、B、C、D、E。其中MATLAB)课后实验答案共43页·第12页90分~100分为A,80分~89分为B,79分~79分为C,60分~69分为D,60分以下为E。要求:(1)分别用if语句和switch语句实现。(2)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。解:M文件如下试算结果:score=88grade=Bscore=123错误:输入的成绩不是百分制成绩3.硅谷公司员工的工资计算方法如下:(1)工作时数超过120小时者,超过部分加发15%。(2)工作时数低于60小时者,扣发700元。(3)其余按每小时84元计发。试编程按输入的工号和该号员工的工时数,计算应发工资。解:M文件下MATLAB)课后实验答案共43页·第13页4.设计程序,完成两位数的加、减、乘、除四则运算,即产生两个两位随机整数,再输入一个运算符号,做相应的运算,并显示相应的结果。解:M文件如下;MATLAB)课后实验答案共43页·第14页运算结果例:a=38b=33输入一个运算符:^c=falsea=92b=40输入一个运算符:+c=1325.建立5×6矩阵,要求输出矩阵第n行元素。当n值超过矩阵的行数时,自动转为输出矩阵最后一行元素,并给出出错信息。解:M文件如下:MATLAB)课后实验答案共43页·第15页运算结果如下:输入一个5行6列矩阵A=[123455;234576;222223;1123973;234567]输入一正整数n=41123973输入一个5行6列矩阵A=[123455;234576;222223;1123973;234567]输入一正整数n=6234567ans=Errorusing==dispToomanyinputarguments.实验四循环结构程序设计1.根据2222211116123n,求π的近似值。当n分别取100、1000、10000时,结果是多少?要求:分别用循环结构和向量运算(使用sum函数)来实现。解:M文件如下:MATLAB)课后实验答案共43页·第16页运行结果如下:K%循环结构计算pi值y