欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    MATLAB程序设计与应用(刘卫国编)课后实验答案95627(134页).doc

    • 资源ID:34810201       资源大小:1.37MB        全文页数:142页
    • 资源格式: DOC        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    MATLAB程序设计与应用(刘卫国编)课后实验答案95627(134页).doc

    -实验一 MATLAB运算基础1. 先求下列表达式的值,然后显示MATLAB工作空间的使用情况并保存全部变量。(1) (2) ,其中(3) (4) ,其中t=0:0.5:2.5解:M文件:z1=2*sin(85*pi/180)/(1+exp(2)x=2 1+2*i;-0.45 5;z2=1/2*log(x+sqrt(1+x2) 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&t<1).*(t.2)+(t>=1&t<2).*(t.2-1)+(t>=2&t<3) .*(t.2-2*t+1)运算结果:z1=2*sin(85*pi/180)/(1+exp(2)x=2 1+2*i;-.45 5;z2=1/2*log(x+sqrt(1+x2) 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&t<1).*(t.2)+(t>=1&t<2).*(t.2-1)+(t>=2&t<3) .*(t.2-2*t+1)z1 = 0.2375z2 = 0.7114 - 0.0253i 0.8968 + 0.3658i 0.2139 + 0.9343i 1.1541 - 0.0044iz3 = Columns 1 through 4 0.7388 + 3.1416i 0.7696 + 3.1416i 0.7871 + 3.1416i 0.7913 + 3.1416i Columns 5 through 8 0.7822 + 3.1416i 0.7602 + 3.1416i 0.7254 + 3.1416i 0.6784 + 3.1416i Columns 9 through 12 0.6196 + 3.1416i 0.5496 + 3.1416i 0.4688 + 3.1416i 0.3780 + 3.1416i Columns 13 through 16 0.2775 + 3.1416i 0.1680 + 3.1416i 0.0497 + 3.1416i -0.0771 + 3.1416i Columns 17 through 20 -0.2124 + 3.1416i -0.3566 + 3.1416i -0.5104 + 3.1416i -0.6752 + 3.1416i Columns 21 through 24 -0.8536 + 3.1416i -1.0497 + 3.1416i -1.2701 + 3.1416i -1.5271 + 3.1416i Columns 25 through 28 -1.8436 + 3.1416i -2.2727 + 3.1416i -2.9837 + 3.1416i -37.0245 Columns 29 through 32 -3.0017 -2.3085 -1.8971 -1.5978 Columns 33 through 36 -1.3575 -1.1531 -0.9723 -0.8083 Columns 37 through 40 -0.6567 -0.5151 -0.3819 -0.2561 Columns 41 through 44 -0.1374 -0.0255 0.0792 0.1766 Columns 45 through 48 0.2663 0.3478 0.4206 0.4841 Columns 49 through 52 0.5379 0.5815 0.6145 0.6366 Columns 53 through 56 0.6474 0.6470 0.6351 0.6119 Columns 57 through 60 0.5777 0.5327 0.4774 0.4126 Column 61 0.3388 z4 = 0 0.2500 0 1.2500 1.0000 2.25002. 已知:求下列表达式的值:(1) A+6*B和A-B+I(其中I为单位矩阵)(2) A*B和A.*B(3) A3和A.3(4) A/B及BA(5) A,B和A(1,3,:);B2解: M 文件:A=12 34 -4;34 7 87;3 65 7;B=1 3 -1;2 0 3;3 -2 7; A+6.*B A-B+eye(3) A*B A.*B A3 A.3 A/B BA A,B A(1,3,:);B2运算结果:A=12 34 -4;34 7 87;3 65 7;B=1 3 -1;2 0 3;3 -2 7; A+6.*B A-B+eye(3) A*B A.*B A3 A.3 A/B BA A,B A(1,3,:);B2ans = 18 52 -10 46 7 105 21 53 49ans = 12 31 -3 32 8 84 0 67 1ans = 68 44 62 309 -72 596 154 -5 241ans = 12 102 4 68 0 261 9 -130 49ans = 37226 233824 48604 247370 149188 600766 78688 454142 118820ans = 1728 39304 -64 39304 343 658503 27 274625 343ans = 16.4000 -13.6000 7.6000 35.8000 -76.2000 50.2000 67.0000 -134.0000 68.0000ans = 109.4000 -131.2000 322.8000 -53.0000 85.0000 -171.0000 -61.6000 89.8000 -186.2000ans = 12 34 -4 1 3 -1 34 7 87 2 0 3 3 65 7 3 -2 7ans = 12 34 -4 3 65 7 4 5 1 11 0 19 20 -5 403. 设有矩阵A和B(1) 求它们的乘积C。(2) 将矩阵C的右下角3×2子矩阵赋给D。(3) 查看MATLAB工作空间的使用情况。解:. 运算结果:E=(reshape(1:1:25,5,5)'F=3 0 16;17 -6 9;0 23 -4;9 7 0;4 13 11;C= E*FH=C(3:5,2:3)C = 93 150 77 258 335 237 423 520 397 588 705 557 753 890 717H = 520 397 705 557 890 7174. 完成下列操作:(1) 求100,999之间能被21整除的数的个数。(2) 建立一个字符串向量,删除其中的大写字母。 解:(1) 结果:m=100:999;n=find(mod(m,21)=0);length(n)ans = 43(2). 建立一个字符串向量 例如:ch='ABC123d4e56Fg9'则要求结果是:ch='ABC123d4e56Fg9'k=find(ch>='A'&ch<='Z');ch(k)=ch =123d4e56g9实验二 MATLAB矩阵分析与处理1. 设有分块矩阵,其中E、R、O、S分别为单位矩阵、随机矩阵、零矩阵和对角阵,试通过数值计算验证。解: M文件如下;输出结果:S = 1 0 0 2A = 1.0000 0 0 0.5383 0.4427 0 1.0000 0 0.9961 0.1067 0 0 1.0000 0.0782 0.9619 0 0 0 1.0000 0 0 0 0 0 2.0000a = 1.0000 0 0 1.0767 1.3280 0 1.0000 0 1.9923 0.3200 0 0 1.0000 0.1564 2.8857 0 0 0 1.0000 0 0 0 0 0 4.0000ans = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0由ans,所以2. 产生5阶希尔伯特矩阵H和5阶帕斯卡矩阵P,且求其行列式的值Hh和Hp以及它们的条件数Th和Tp,判断哪个矩阵性能更好。为什么?解:M文件如下:输出结果:H = 1.0000 0.5000 0.3333 0.2500 0.2000 0.5000 0.3333 0.2500 0.2000 0.1667 0.3333 0.2500 0.2000 0.1667 0.1429 0.2500 0.2000 0.1667 0.1429 0.1250 0.2000 0.1667 0.1429 0.1250 0.1111P = 1 1 1 1 1 1 2 3 4 5 1 3 6 10 15 1 4 10 20 35 1 5 15 35 70Hh = 3.7493e-012Hp = 1Th = 4.7661e+005Tp = 8.5175e+003因为它们的条件数Th>>Tp,所以pascal矩阵性能更好。3. 建立一个5×5矩阵,求它的行列式值、迹、秩和范数。解: M文件如下:输出结果为:A = 17 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9d = 5070000t = 65c1 = 6.8500c2 = 5.4618cinf = 6.85004. 已知求A的特征值及特征向量,并分析其数学意义。解:M文件如图:输出结果为:V = 0.7130 0.2803 0.2733 -0.6084 -0.7867 0.8725 0.3487 0.5501 0.4050D = -25.3169 0 0 0 -10.5182 0 0 0 16.8351数学意义:V的3个列向量是A的特征向量,D的主对角线上3个是A的特征值,特别的,V的3个列向量分别是D的3个特征值的特征向量。5. 下面是一个线性方程组:(1) 求方程的解。(2) 将方程右边向量元素b3改为0.53再求解,并比较b3的变化和解的相对变化。(3) 计算系数矩阵A的条件数并分析结论。解: M文件如下:输出结果:X = 1.2000 0.6000 0.6000X2 = 1.2000 0.6000 0.6000C = 1.3533e+003由结果,X和X2的值一样,这表示b的微小变化对方程解也影响较小,而A的条件数算得较小,所以数值稳定性较好,A是较好的矩阵。6. 建立A矩阵,试比较sqrtm(A)和sqrt(A),分析它们的区别。解:M文件如下:运行结果有:A = 16 6 18 20 5 12 9 8 5b1 = 3.8891 -0.1102 3.2103 3.2917 2.1436 0.3698 0.3855 2.0760 1.7305b2 = 4.0000 2.4495 4.2426 4.4721 2.2361 3.4641 3.0000 2.8284 2.2361b = 16.0000 6.0000 18.0000 20.0000 5.0000 12.0000 9.0000 8.0000 5.0000分析结果知:sqrtm(A)是类似A的数值平方根(这可由b1*b1=A的结果看出),而sqrt(A)则是对A中的每个元素开根号,两则区别就在于此。实验三 选择结构程序设计一、实验目的1. 掌握建立和执行M文件的方法。2. 掌握利用if语句实现选择结构的方法。3. 掌握利用switch语句实现多分支选择结构的方法。4. 掌握try语句的使用。二、实验内容1. 求分段函数的值。用if语句实现,分别输出x=-5.0,-3.0,1.0,2.0,2.5,3.0,5.0时的y值。解:M文件如下:运算结果有:f(-5)y = 14>> f(-3)y = 11>> f(1)y = 2>> f(2)y = 1>> f(2.5)y = -0.2500>> f(3)y = 5>> f(5)y = 192. 输入一个百分制成绩,要求输出成绩等级A、B、C、D、E。其中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文件下4. 设计程序,完成两位数的加、减、乘、除四则运算,即产生两个两位随机整数,再输入一个运算符号,做相应的运算,并显示相应的结果。解:M文件如下;运算结果例:a = 38b = 33输入一个运算符:c =falsea = 92b = 40输入一个运算符:+c = 1325. 建立5×6矩阵,要求输出矩阵第n行元素。当n值超过矩阵的行数时,自动转为输出矩阵最后一行元素,并给出出错信息。解:M文件如下:运算结果如下:输入一个5行6列矩阵A=1 2 3 4 5 5;2 3 4 5 7 6;2 2 2 2 2 3;11 2 3 9 7 3;2 3 4 5 6 7输入一正整数n=4 11 2 3 9 7 3输入一个5行6列矩阵A=1 2 3 4 5 5;2 3 4 5 7 6;2 2 2 2 2 3;11 2 3 9 7 3;2 3 4 5 6 7输入一正整数n=6 2 3 4 5 6 7ans =Error using => dispToo many input arguments.实验四 循环结构程序设计一、实验目的1. 掌握利用for语句实现循环结构的方法。2. 掌握利用while语句实现循环结构的方法。3. 熟悉利用向量运算来代替循环操作的方法。二、实验内容1. 根据,求的近似值。当n分别取100、1000、10000时,结果是多少?要求:分别用循环结构和向量运算(使用sum函数)来实现。解:M文件如下:运行结果如下:K>> %循环结构计算pi值y=0;n=input('n=');for i=1:n y=y+1/i/i;endpi=sqrt(6*y)n=100pi = 3.1321n=1000pi = 3.1406n=10000pi =3.1415%向量方法计算Pi值n=input('n=');i=1./(1:n).2;s=sum(i);pi=sqrt(6*s)n=100pi = 3.1321n=1000pi = 3.1406n=10000pi =3.14152. 根据,求:(1) y<3时的最大n值。(2) 与(1)的n值对应的y值。解:M文件如下:运行结果如下:K>> y=0;n=0;while y<3 n=n+1; y=y+1/(2*n-1); endynif y>3 n=n-1;endny = 3.0033n = 57n = 563. 考虑以下迭代公式:其中a、b为正的学数。(1) 编写程序求迭代的结果,迭代的终止条件为|xn+1-xn|10-5,迭代初值x0=1.0,迭代次数不超过500次。(2) 如果迭代过程收敛于r,那么r的准确值是,当(a,b)的值取(1,1)、(8,3)、(10,0.1)时,分别对迭代结果和准确值进行比较。解:M文件如下:运算结果如下;请输入正数a=1请输入正数b=1x = 0.6180r = 0.6180 -4.7016r = 0.6180 -1.6180s = -0.0000 -2.2361请输入正数a=8请输入正数b=3x = 1.7016r = 1.7016 -1.6180r = 1.7016 -4.7016s =0.0 -6.4031请输入正数a=10请输入正数b=0.1x = 3.1127r = 3.1127 -4.7016r = 3.1127 -3.2127s = -0.0000 -6.32544. 已知求f1f100中:(1) 最大值、最小值、各数之和。(2) 正数、零、负数的个数。解:M文件以下是运算结果:max(f)=437763282635min(f)=-899412113528sum(f)=-742745601951c1=49c2=2c3=495. 若两个连续自然数的乘积减1是素数,则称这两个边疆自然数是亲密数对,该素数是亲密素数。例如,2×3-1=5,由于5是素数,所以2和3是亲密数,5是亲密素数。求2,50区间内:(1) 亲密数对的对数。(2) 与上述亲密数对对应的所有亲密素数之和。解:M文件:运算结果为:j = 29s = 23615实验五 函数文件一、实验目的1. 理解函数文件的概念。2. 掌握定义和调用MATLAB函数的方法。二、实验内容1. 定义一个函数文件,求给定复数的指数、对数、正弦和余弦,并在命令文件中调用该函数文件。解:M文件如下:函数fushu.M文件:function e,l,s,c = fushu(z)%fushu 复数的指数,对数,正弦,余弦的计算%e 复数的指数函数值%l 复数的对数函数值%s 复数的正弦函数值%c 复数的余弦函数值e=exp(z);l=log(z);s=sin(z);c=cos(z);命令文件M:z=input('请输入一个复数z=');a,b,c,d=fushu(z)运算结果如下:z=input('请输入一个复数z=');a,b,c,d=fushu(z)请输入一个复数z=1+ia = 1.4687 + 2.2874ib = 0.3466 + 0.7854ic = 1.2985 + 0.6350id = 0.8337 - 0.9889i2. 一物理系统可用下列方程组来表示:从键盘输入m1、m2和的值,求a1、a2、N1和N2的值。其中g取9.8,输入时以角度为单位。要求:定义一个求解线性方程组AX=B的函数文件,然后在命令文件中调用该函数文件。解: M文件函数fc.M文件:function X= fc(A,B)%fc fc是求解线性方程的函数%A A是未知矩阵的系数矩阵X=AB; 命令M文件:clc;m1=input('输入m1=');m2=input('输入m2=');theta=input('输入theta=');x=theta*pi/180;g=9.8;A=m1*cos(x) -m1 -sin(x) 0 m1*sin(x) 0 cos(x) 0 0 m2 -sin(x) 0 0 0 -cos(x) 1;B=0;m1*g;0;m2*g;X=fc(A,B) 运算结果:输入m1=1输入m2=1输入theta=30X = 7.8400 3.3948 6.7896 15.6800 3. 一个自然数是素数,且它的数字位置经过任意对换后仍为素数。例如13是绝对素数。试求所有两位绝对素数。要求:定义一个判断素数的函数文件。解:M文件:函数prime.m文件function p = prime(p)% 输入p的范围,找出其中的素数m=p(length(p);for i=2:sqrt(m) n=find(rem(p,i)=0&p=i); p(n)=; %将p中能被i整除,而却不等于i的元素,即下标为n的元素剔除,其余的即为素数endp;命令文件:clc;p=10:99;p=prime(p); %找出10到99内的所有素数p=10*rem(p,10)+(p-rem(p,10)/10; %将p素数矩阵每个元素个位十位调换顺序p=prime(p) %再对对换后的素数矩阵找出所有的素数运算结果:p = 11 31 71 13 73 17 37 97 794. 设,编写一个MATLAB函数文件fx.m,使得调用f(x)时,x可用矩阵代入,得出的f(x)为同阶矩阵。解:函数fx.m文件:function f= fx(x)%fx fx求算x矩阵下的f(x)的函数值A=0.1+(x-2).2;B=0.01+(x-3).4;f=1./A+1./B;命令文件:clc;x=input('输入矩阵x=');f=fx(x)运算结果:>> x=input('输入矩阵x=');f=fx(x)输入矩阵x=7 2;12 5f = 0.0437 10.9901 0.0101 0.17245. 已知(1) 当f(n)=n+10ln(n2+5)时,求y的值。(2) 当f(n)=1×2+2×3+3×4+.+n×(n+1)时,求y的值。解:(1)函数f.m文件:function f=f(x)f=x+10*log(x2+5);命令文件:clc;n1=input('n1=');n2=input('n2=');n3=input('n3=');y1=f(n1);y2=f(n2);y3=f(n3);y=y1/(y2+y3)运算结果如下:n1=40n2=30n3=20y = 0.6390(2).函数g.m文件function s= g(n)for i=1:ng(i)=i*(i+1);ends=sum(g);命令文件:clc;n1=input('n1=');n2=input('n2=');n3=input('n3=');y1=g(n1);y2=g(n2);y3=g(n3);y=y1/(y2+y3)运算结果如下:n1=40n2=30n3=20y = 1.7662实验六 高层绘图操作一、实验目的1. 掌握绘制二维图形的常用函数。2. 掌握绘制三维图形的常用函数。3. 掌握绘制图形的辅助操作。二、实验内容1. 设,在x=02区间取101点,绘制函数的曲线。解:M文件如下:clc;x=linspace(0,2*pi,101);y=(0.5+3*sin(x)./(1+x.2);plot(x,y)运行结果有:2. 已知y1=x2,y2=cos(2x),y3=y1×y2,完成下列操作:(1) 在同一坐标系下用不同的颜色和线型绘制三条曲线。(2) 以子图形式绘制三条曲线。(3) 分别用条形图、阶梯图、杆图和填充图绘制三条曲线。解:(1) M文件:clc;x=-pi:pi/100:pi;y1=x.2;y2=cos(2*x);y3=y1.*y2;plot(x,y1,'b-',x,y2,'r:',x,y3,'k-')运行结果:(2)M文件:clc;x=-pi:pi/100:pi;y1=x.2;y2=cos(2*x);y3=y1.*y2;subplot(1,3,1);plot(x,y1,'b-');title('y1=x2');subplot(1,3,2);plot(x,y2,'r:');title('y2=cos(2x)');subplot(1,3,3);plot(x,y3,'k-');title('y3=y1*y2');.运行结果:(3)M文件:clc;x=-pi:pi/100:pi;y1=x.2;y2=cos(2*x);y3=y1.*y2;subplot(2,2,1);plot(x,y1,'b-',x,y2,'r:',x,y3,'k-');subplot(2,2,2);bar(x,y1,'b');title('y1=x2');subplot(2,2,3);bar(x,y2,'r'); title('y2=cos(2x)');subplot(2,2,4);bar(x,y3,'k');title('y3=y1*y2');由上面的M文件,只要依次将“bar”改为“stairs”、“stem”、“fill”,再适当更改区间取的点数,运行程序即可,即有下面的结果:3. 已知在-5x5区间绘制函数曲线。解:M文件:clc;x=-5:0.01:5;y=(x+sqrt(pi)/(exp(2).*(x<=0)+0.5*log(x+sqrt(1+x.2).*(x>0);plot(x,y)运行结果:由图可看出,函数在零点不连续。4. 绘制极坐标曲线=asin(b+n),并分析参数a、b、n对曲线形状的影响。解:M文件如下:clc;theta=0:pi/100:2*pi;a=input('输入a=');b=input('输入b=');n=input('输入n=');rho=a*sin(b+n*theta);polar(theta,rho,'m')采用控制变量法的办法,固定两个参数,变动第三个参数观察输出图象的变化。分析结果:由这8个图知道, 当a,n固定时,图形的形状也就固定了,b只影响图形的旋转的角度;当a,b固定时,n只影响图形的扇形数,特别地,当n是奇数时,扇叶数就是n,当是偶数时,扇叶数则是2n个;当b,n固定时,a影响的是图形大小,特别地,当a是整数时,图形半径大小就是a。5. 绘制函数的曲线图和等高线。其中x的21个值均匀分布-5,5范围,y的31个值均匀分布在0,10,要求使用subplot(2,1,1)和subplot(2,1,2)将产生的曲面图和等高线图画在同一个窗口上。解:M文件:clc;x=linspace(-5,5,21);y=linspace(0,10,31);x,y=meshgri

    注意事项

    本文(MATLAB程序设计与应用(刘卫国编)课后实验答案95627(134页).doc)为本站会员(1595****071)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开