matlab程序设计及应用编课后实验答案15903.pdf
《matlab程序设计及应用编课后实验答案15903.pdf》由会员分享,可在线阅读,更多相关《matlab程序设计及应用编课后实验答案15903.pdf(56页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-实验一 MATLAB 运算根底 1.先求以下表达式的值,然后显示 MATLAB 工作空间的使用情况并保存全部变量。(1)0122sin851ze(2)221ln(1)2zxx,其中21 20.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+e*p(2)*=2 1+2*i;-.45 5;z2=1/2*log(*+sqrt(1+*2)a=-3.0:0.1:3.0;z3=(e*p(0.3.*a)-e
2、*p(-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 矩阵性能更好。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 9 -d=5070000 t=65 c1=6.8500 c2=5.4618 cinf=6.8500 4.求 A 的特征值及特征向量,并分析其数学意义。解:M 文件如图:
3、输出结果为:V=0.7130 0.2803 0.2733 -0.6084 -0.7867 0.8725 0.3487 0.5501 0.4050 D=-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 文件如下:输出结果:*=1.2
4、000 0.6000 0.6000 *2=1.2000 0.6000 0.6000 C=1.3533e+003 由结果,*和*2 的值一样,这表示 b 的微小变化对方程解也影响较小,而 A 的条件数算得较小,所以数值稳定性较好,A 是较好的矩阵。6.建立 A 矩阵,试比拟 sqrtm(A)和 sqrt(A),分析它们的区别。解:M 文件如下:运行结果有:A=16 6 18 20 5 12 9 8 5 b1=3.8891 -0.1102 3.2103 3.2917 2.1436 0.3698 0.3855 2.0760 1.7305 b2=4.0000 2.4495 4.2426 4.4721
5、2.2361 3.4641 3.0000 2.8284 2.2361 -b=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.求分段函
6、数的值。用 if 语句实现,分别输出*=-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=19 2.输入一个百分制成绩,要求输出成绩等级 A、B、C、D、E。其中 90 分100 分为 A,80分89 分为 B,79 分79 分为 C,60 分69 分为 D,60 分以下为 E。要求:(1)分别用 if 语句和 switch 语句实现。(2)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。
7、解:M 文件如下 试算结果:score=88 grade=B score=123 错误:输入的成绩不是百分制成绩 3.硅谷公司员工的工资计算方法如下:(1)工作时数超过 120 小时者,超过局部加发 15%。(2)工作时数低于 60 小时者,扣发 700 元。(3)其余按每小时 84 元计发。试编程按输入的工号和该号员工的工时数,计算应发工资。解:M 文件下 4.设计程序,完成两位数的加、减、乘、除四则运算,即产生两个两位随机整数,再输入一个运算符号,做相应的运算,并显示相应的结果。解:-M 文件如下;运算结果例:a=38 b=33 输入一个运算符:c=false a=92 b=40 输入一个
8、运算符:+c=132 5.建立 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 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 7 ans=Erro
9、r using=disp Too many input arguments.实验四 循环构造程序设计 一、实验目的 1.掌握利用 for 语句实现循环构造的方法。2.掌握利用 while 语句实现循环构造的方法。3.熟悉利用向量运算来代替循环操作的方法。二、实验内容 1.根据2222211116123n,求的近似值。当 n 分别取 100、1000、10000时,结果是多少?要求:分别用循环构造和向量运算使用 sum 函数来实现。解:M 文件如下:运行结果如下:K%循环构造计算 pi 值 y=0;n=input(n=);for i=1:n y=y+1/i/i;end pi=sqrt(6*y)n
10、=100 pi=3.1321-n=1000 pi=3.1406 n=10000 pi=3.1415%向量方法计算 Pi 值 n=input(n=);i=1./(1:n).2;s=sum(i);pi=sqrt(6*s)n=100 pi=3.1321 n=1000 pi=3.1406 n=10000 pi=3.1415 2.根据11113521yn,求:(1)y y=0;n=0;while y3 n=n-1;end n y=3.0033 n=57 n=56 3.考虑以下迭代公式:其中 a、b 为正的学数。(1)编写程序求迭代的结果,迭代的终止条件为|*n+1-*n|10-5,迭代初值*0=1.0,
11、迭代次数不超过 500 次。(2)如果迭代过程收敛于 r,则 r 的准确值是242bba,当(a,b)的值取(1,1)、(8,3)、(10,0.1)时,分别对迭代结果和准确值进展比拟。解:M 文件如下:运算结果如下;请输入正数 a=1 请输入正数 b=1 *=0.6180-r=0.6180 -4.7016 r=0.6180 -1.6180 s=-0.0000 -2.2361 请输入正数 a=8 请输入正数 b=3 *=1.7016 r=1.7016 -1.6180 r=1.7016 -4.7016 s=0.0-6.4031 请输入正数 a=10 请输入正数 b=0.1 *=3.1127-r=3
12、.1127 -4.7016 r=3.1127 -3.2127 s=-0.0000 -6.3254 4.求 f1f100中:(1)最大值、最小值、各数之和。(2)正数、零、负数的个数。解:M文件 以下是运算结果:ma*(f)=5 min(f)=-8 sum(f)=-1 c1=49 c2=2 c3=49 5.假设两个连续自然数的乘积减 1 是素数,则称这两个边疆自然数是亲密数对,该素数是亲密素数。例如,23-1=5,由于 5 是素数,所以 2 和 3 是亲密数,5 是亲密素数。求2,50区间内:(1)亲密数对的对数。(2)与上述亲密数对对应的所有亲密素数之和。解:M 文件:运算结果为:j=29 s
13、=23615 实验五 函数文件 一、实验目的 1.理解函数文件的概念。2.掌握定义和调用 MATLAB 函数的方法。二、实验内容-1.定义一个函数文件,求给定复数的指数、对数、正弦和余弦,并在命令文件中调用该函数文件。解:M 文件如下:函数 fushu.M 文件:function e,l,s,c=fushu(z)%fushu 复数的指数,对数,正弦,余弦的计算%e 复数的指数函数值%l 复数的对数函数值%s 复数的正弦函数值%c 复数的余弦函数值 e=e*p(z);l=log(z);s=sin(z);c=cos(z);命令文件 M:z=input(请输入一个复数 z=);a,b,c,d=fus
14、hu(z)运算结果如下:z=input(请输入一个复数 z=);a,b,c,d=fushu(z)请输入一个复数 z=1+i a=1.4687+2.2874i b=-0.3466+0.7854i c=1.2985+0.6350i d=0.8337-0.9889i 2.一物理系统可用以下方程组来表示:从键盘输入 m1、m2和的值,求 a1、a2、N1和 N2的值。其中 g 取 9.8,输入时以角度为单位。要求:定义一个求解线性方程组 A*=B 的函数文件,然后在命令文件中调用该函数文件。解:M 文件 函数 fc.M 文件:function *=fc(A,B)%fc fc 是求解线性方程的函数%A
15、A 是未知矩阵的系数矩阵*=AB;命令 M 文件:clc;m1=input(输入 m1=);m2=input(输入 m2=);theta=input(输入 theta=);*=theta*pi/180;g=9.8;A=m1*cos(*)-m1-sin(*)0 m1*sin(*)0 cos(*)0 0 m2-sin(*)0 0 0-cos(*)1;B=0;m1*g;0;m2*g;*=fc(A,B)运算结果:输入 m1=1 输入 m2=1 输入 theta=30-*=7.8400 3.3948 6.7896 15.6800 3.一个自然数是素数,且它的数字位置经过任意对换后仍为素数。例如 13 是
16、绝对素数。试求所有两位绝对素数。要求:定义一个判断素数的函数文件。解: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 的元素剔除,其余的即为素数 end p;命令文件:clc;p=10:99;p=prime(p);%找出 10 到 99 内的所有素数 p=10*rem(p,10)+(p-rem(p,10)/10;%将 p 素数矩阵每个元素个位十位调换顺
17、序 p=prime(p)%再对对换后的素数矩阵找出所有的素数 运算结果:p=11 31 71 13 73 17 37 97 79 4.设2411()(2)0.1(3)0.01f xxx,编写一个 MATLAB 函数文件 f*.m,使得调用 f(*)时,*可用矩阵代入,得出的 f(*)为同阶矩阵。解:函数 f*.m 文件:function f=f*(*)%f*f*求算*矩阵下的 f(*)的函数值-A=0.1+(*-2).2;B=0.01+(*-3).4;f=1./A+1./B;命令文件:clc;*=input(输入矩阵*=);f=f*(*)运算结果:*=input(输入矩阵*=);f=f*(*)
18、输入矩阵*=7 2;12 5 f=0.0437 10.9901 0.0101 0.1724 5.(40)(30)(20)fyff(1)当 f(n)=n+10ln(n2+5)时,求 y 的值。(2)当 f(n)=12+23+34+.+n(n+1)时,求 y 的值。解:(1)函数 f.m 文件:function f=f(*)f=*+10*log(*2+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=40 n2=30 n3=20 y=-0.63
19、90(2).函数 g.m 文件 function s=g(n)for i=1:n g(i)=i*(i+1);end s=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=40 n2=30 n3=20 y=1.7662 实验六 高层绘图操作 一、实验目的 1.掌握绘制二维图形的常用函数。2.掌握绘制三维图形的常用函数。3.掌握绘制图形的辅助操作。二、实验内容 1.设23sin0.5cos1xyxx,在*=02区间取 101 点,绘制函
20、数的曲线。解:M 文件如下:-clc;*=linspace(0,2*pi,101);y=(0.5+3*sin(*)./(1+*.2);plot(*,y)运行结果有:2.y1=*2,y2=cos(2*),y3=y1y2,完成以下操作:(1)在同一坐标系下用不同的颜色和线型绘制三条曲线。(2)以子图形式绘制三条曲线。(3)分别用条形图、阶梯图、杆图和填充图绘制三条曲线。解:1 M 文件:clc;*=-pi:pi/100:pi;y1=*.2;y2=cos(2*);y3=y1.*y2;plot(*,y1,b-,*,y2,r:,*,y3,k-)运行结果:2M 文件:clc;*=-pi:pi/100:pi
21、;y1=*.2;y2=cos(2*);y3=y1.*y2;subplot(1,3,1);plot(*,y1,b-);title(y1=*2);subplot(1,3,2);plot(*,y2,r:);title(y2=cos(2*);subplot(1,3,3);plot(*,y3,k-);title(y3=y1*y2);.运行结果:3M 文件:-clc;*=-pi:pi/100:pi;y1=*.2;y2=cos(2*);y3=y1.*y2;subplot(2,2,1);plot(*,y1,b-,*,y2,r:,*,y3,k-);subplot(2,2,2);bar(*,y1,b);title
22、(y1=*2);subplot(2,2,3);bar(*,y2,r);title(y2=cos(2*);subplot(2,2,4);bar(*,y3,k);title(y3=y1*y2);由上面的 M 文件,只要依次将“bar改为“stairs、“stem、“fill,再适当更改区间取的点数,运行程序即可,即有下面的结果:3.在-5*5 区间绘制函数曲线。解:M 文件:clc;*=-5:0.01:5;y=(*+sqrt(pi)/(e*p(2).*(*0);plot(*,y)运行结果:由图可看出,函数在零点不连续。4.绘制极坐标曲线=asin(b+n),并分析参数 a、b、n 对曲线形状的影响
23、。解: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 是整数时,图形
24、半径大小就是 a。5.绘制函数的曲线图和等高线。其中*的 21 个值均匀分布-5,5*围,y 的 31 个值均匀分布在0,10,要求使用subplot(2,1,1)和 subplot(2,1,2)将产生的曲面图和等高线图画在同一个窗口上。解:M 文件:clc;*=linspace(-5,5,21);y=linspace(0,10,31);*,y=meshgrid(*,y);z=cos(*).*cos(y).*e*p(-sqrt(*.2+y.2)/4);subplot(2,1,1);surf(*,y,z);title(曲面图);subplot(2,1,2);surfc(*,y,z);title(
25、等高线图);运行结果:6.绘制曲面图形,并进展插值着色处理。解:M 文件:clc;s=0:pi/100:pi/2;t=0:pi/100:3*pi/2;s,t=meshgrid(s,t);*=cos(s).*cos(t);y=cos(s).*sin(t);z=sin(s);subplot(2,2,1);mesh(*,y,z);title(未着色的图形);subplot(2,2,2);surf(*,y,z);title(shading faceted缺省);subplot(2,2,3);surf(*,y,z);shading flat;title(shading flat);subplot(2,2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- matlab 程序设计 应用 课后 实验 答案 15903
限制150内