收藏 分销(赏)

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

上传人:精*** 文档编号:3069528 上传时间:2024-06-14 格式:DOC 页数:65 大小:1.32MB
下载 相关 举报
MATLAB程序设计与应用刘卫国编课后实验答案.doc_第1页
第1页 / 共65页
MATLAB程序设计与应用刘卫国编课后实验答案.doc_第2页
第2页 / 共65页
MATLAB程序设计与应用刘卫国编课后实验答案.doc_第3页
第3页 / 共65页
MATLAB程序设计与应用刘卫国编课后实验答案.doc_第4页
第4页 / 共65页
MATLAB程序设计与应用刘卫国编课后实验答案.doc_第5页
第5页 / 共65页
点击查看更多>>
资源描述

1、实验一 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;-.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=0&t=1&t=2&t=A&chTp,所以pascal矩阵性能更好。

2、3. 建立一个55矩阵,求它的行列式值、迹、秩和范数。解: 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

3、 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是较好的矩阵。

4、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的

5、数值平方根(这可由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 =

6、 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元计发。试编程按输入的工

7、号和该号员工的工时数,计算应发工资。解:M文件下4. 设计程序,完成两位数的加、减、乘、除四则运算,即产生两个两位随机整数,再输入一个运算符号,做相应的运算,并显示相应的结果。解:M文件如下;运算结果例:a = 38b = 33输入一个运算符:c =falsea = 92b = 40输入一个运算符:+c = 1325. 建立56矩阵,要求输出矩阵第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

8、 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时,结果是多少?要求:分

9、别用循环结构和向量运算(使用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 y=0;n=0;while y3 n=n-1;endny

10、 = 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 =

11、 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是素数,则称这两个边疆自然数是亲密数对,该

12、素数是亲密素数。例如,23-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 复数

13、的对数函数值%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,输入时以角

14、度为单位。要求:定义一个求解线性方程组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

15、) 运算结果:输入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=

16、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

17、;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)=12+23+34+.+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+y

18、3)运算结果如下: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区间

19、取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=y1y2,完成下列操作:(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

20、;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)

21、;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).*(x0);plot(x,y)运行结果:由图可看出,函数在零点不连续。4. 绘制极坐标曲线=asin(b+

22、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是整数时,图形半

23、径大小就是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=meshgrid(x,y);z=cos(x).*cos(y).*exp(-sqrt(x.2+y.2)/4);subplot(2,1,1);surf(x,y,z);title(曲面图);subplot(2,1,2);surfc(x,y,z);title(等高线图);运行结果:6. 绘制曲面图形,并进行插值着色处理。解:M文件:clc;s=0:pi/100:pi/2;t=0:pi/100:3*pi/2;s,t=meshgrid(s,t);x=cos(s).*cos(t);y=cos(s).*sin(t);z=sin(s);subplot(2,2,1);mesh(x,y,z);title(未着色的图形);subplot(2,2,2);surf(x,y,z);title(shading faceted(缺省));subplot(2,2,3);surf(x,y,z);shading flat;title(shading flat);s

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服