《MATLAB程序设计及应用(第二版)课后实验答案.pdf》由会员分享,可在线阅读,更多相关《MATLAB程序设计及应用(第二版)课后实验答案.pdf(61页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、MatlabMatlab 课后实验题答案课后实验题答案实验一实验一 MATLAB MATLAB 运算基础运算基础1.先求下列表达式的值,然后显示 MATLAB 工作空间的使用情况并保存全部变量。2sin850(1)z121e12i212(2)z2ln(x 1 x),其中x 20.455e0.3ae0.3a0.3asin(a0.3)ln,a 3.0,2.9,(3)z322,2.9,3.0t20 t 11 t 2,其中t t=0:=0:(4)z4t21t22t 12 t 3解:M 文件:z1=2*sin(85*pi/180)/(1+exp(2)x=2 1+2*i;5;z2=1/2*log(x+sq
2、rt(1+x2)a=:;z3=(exp.*a)-exp.*a)./2.*sin(a+log(+a)./2)t=0:;z4=(t=0&t=1&t=2&t=A&chTp,所以 pascal 矩阵性能更好。3.建立一个 55 矩阵,求它的行列式值、迹、秩和范数。解:M 文件如下:4.已知29618A 20512885求 A 的特征值及特征向量,并分析其数学意义。解:M 文件如图:数学意义:V 的 3 个列向量是 A 的特征向量,D 的主对角线上 3 个是A 的特征值,特别的,V 的 3 个列向量分别是 D 的 3 个特征值的特征向量。5.下面是一个线性方程组:12131413141514x 0.95
3、11 x 0.6725 x 0.52136(1)求方程的解。(2)将方程右边向量元素 b3改为再求解,并比较 b3的变化和解的相对变化。(3)计算系数矩阵 A 的条件数并分析结论。解:M 文件如下:输出结果:由结果,X 和 X2 的值一样,这表示 b 的微小变化对方程解也影响较小,而 A 的条件数算得较小,所以数值稳定性较好,A 是较好的矩阵。6.建立 A 矩阵,试比较 sqrtm(A)和 sqrt(A),分析它们的区别。解:M 文件如下:分析结果知:sqrtm(A)是类似 A 的数值平方根(这可由 b1*b1=A 的结果看出),而 sqrt(A)则是对 A 中的每个元素开根号,两则区别就在于
4、此。实验三实验三 选择结构程序设计选择结构程序设计1.求分段函数的值。x2 x6x 0且x 3y x25x60 x 5且x 2及x 3x2 x1其他用 if 语句实现,分别输出 x=,时的 y 值。解:M 文件如下:2.输入一个百分制成绩,要求输出成绩等级 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=1
5、23错误:输入的成绩不是百分制成绩3.硅谷公司员工的工资计算方法如下:(1)工作时数超过 120 小时者,超过部分加发 15%。(2)工作时数低于 60 小时者,扣发 700 元。(3)其余按每小时 84 元计发。试编程按输入的工号和该号员工的工时数,计算应发工资。解:M 文件下4.设计程序,完成两位数的加、减、乘、除四则运算,即产生两个两位随机整数,再输入一个运算符号,做相应的运算,并显示相应的结果。解:M 文件如下;5.建立 56 矩阵,要求输出矩阵第 n 行元素。当 n 值超过矩阵的行数时,自动转为输出矩阵最后一行元素,并给出出错信息。解:M 文件如下:实验四实验四 循环结构程序设计循环
6、结构程序设计261112221231,求的近似值。当 n 分别取 100、2n1.根据1000、10000 时,结果是多少要求:分别用循环结构和向量运算(使用 sum 函数)来实现。解:M 文件如下:2.根据y 111351,求:2n1(1)y x=input(输入矩阵 x=);f=fx(x)输入矩阵 x=7 2;12 5f=5.已知y f(40)f(30)f(20)(1)当 f(n)=n+10ln(n2+5)时,求 y 的值。(2)当 f(n)=12+23+34+.+n(n+1)时,求 y 的值。解:(1)函数文件:function f=f(x)f=x+10*log(x2+5);命令文件:c
7、lc;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=(2).函数文件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=实验六实验六 高层绘图操作高层绘图操作一、
8、实验目的一、实验目的1.掌握绘制二维图形的常用函数。2.掌握绘制三维图形的常用函数。3.掌握绘制图形的辅助操作。二、实验内容二、实验内容1.设y 0.53sin xcos x,在x=02区间取 101 点,绘制函数的21 x曲线。解:M 文件如下:clc;x=linspace(0,2*pi,101);y=+3*sin(x)./(1+x.2);plot(x,y)运行结果有:2.已知y1=x2,y2=cos(2x),y3=y1y2,完成下列操作:(1)在同一坐标系下用不同的颜色和线型绘制三条曲线。(2)以子图形式绘制三条曲线。(3)分别用条形图、阶梯图、杆图和填充图绘制三条曲线。解:(1)M 文件
9、: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
10、/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.已知xx 0e2y 1ln(x 1
11、 x2)x 02在-5x5 区间绘制函数曲线。解:M 文件:clc;x=-5:5;y=(x+sqrt(pi)/(exp(2).*(x0);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
12、个图知道,当 a,n 固定时,图形的形状也就固定了,b 只影响图形的旋转的角度;当 a,b 固定时,n 只影响图形的扇形数,特别地,当n 是奇数时,扇叶数就是 n,当是偶数时,扇叶数则是 2n 个;当 b,n 固定时,a 影响的是图形大小,特别地,当 a 是整数时,图形半径大小就是 a。5.绘制函数的曲线图和等高线。x2y24z cosxcos ye其中 x 的 21 个值均匀分布-5,5范围,y 的 31 个值均匀分布在0,10,要求使用 subplot(2,1,1)和 subplot(2,1,2)将产生的曲面图和等高线图画在同一个窗口上。解:M 文件:clc;x=linspace(-5,5
13、,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.绘制曲面图形,并进行插值着色处理。x cosscost3y cosssint0 s,0 t 22z sins解: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
14、);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);subplot(2,2,4);surf(x,y,z);shading interp;%插值着色title(shading interp);运行结果有:实验八实验八 数据处理与多项式计算数据处理与多项式计算二、实验内容二、实验内容1.利
15、用MATLAB提供的rand函数生成30000个符合均匀分布的随机数,然后检验随机数的性质:(1)均值和标准方差。(2)最大元素和最小元素。(3)大于的随机数个数占总数的百分比。解:M 文件:clc;x=rand(1,30000);mu=mean(x)%求这 30000 个均匀分布随机数的平均值sig=std(x)%求其标准差1 1y=length(find(x);%找出大于数的个数p=y/30000%大于的所占百分比运行结果:mu=sig=p=2.将 100 个学生 5 门功课的成绩存入矩阵 P 中,进行如下处理:(1)分别求每门课的最高分、最低分及相应学生序号。(2)分别求每门课的平均分和
16、标准方差。(3)5 门课总分的最高分、最低分及相应学生序号。(4)将 5 门课总分按从大到小顺序存入 zcj 中,相应学生序号存入 xsxh。提示:上机调试时,为避免输入学生成绩的麻烦,可用取值范围在45,95之间的随机矩阵来表示学生成绩。解:M 文件:clc;t=45+50*rand(100,5);P=fix(t);%生成 100 个学生 5 门功课成绩x,l=max(P)%x 为每门课最高分行向量,l 为相应学生序号y,k=min(P)%y 为每门课最低分行向列,k 为相应学生序号mu=mean(P)%每门课的平均值行向量sig=std(P)%每门课的标准差行向量s=sum(P,2)%5
17、门课总分的列向量X,m=max(s)%5 门课总分的最高分 X 与相应学生序号 mY,n=min(s)%5 门课总分的最低分 Y 与相应学生序号 nzcj,xsxh=sort(s)%zcj 为 5 门课总分从大到小排序,相应学生序号 xsxh运行结果:3.某气象观测得某日6:0018:00之间每隔2h的室内外温度(0C)如实验表 1 所示。实验表 1 室内外温度观测结果(0C)时间 h 681012141618室内温度 t1室外温度 t2试用三次样条插值分别求出该日室内外 6:3018:30 之间每隔 2h各点的近似温度(0C)。解:M 文件:clc;h=6:2:18;t1=;t2=;T1=i
18、nterp1(h,t1,spline)%室内的 3 次样条插值温度T2=interp1(h,t2,spline)%室外的 3 次样条插值温度运行结果:T1=Columns 1 through 3 Columns 4 through 6 Column 7T2=Columns 1 through 3 Columns 4 through 6 Column 74.已知 lgx 在1,101区间 10 个整数采样点的函数值如实验表2所示。实验表 2 lgx 在 10 个采样点的函数值x 1 11 21 31 41 51 61 7181 91 101lgx 0试求 lgx 的 5 次拟合多项式 p(x),
19、并绘制出lgx 和 p(x)在1,101区间的函数曲线。解:M 文件:x=1:10:101;y=lg10(x);P=polyfit(x,y,5)y1=polyval(P,x);plot(x,y,:o,x,y1,-*)运行结果:Warning:Polynomial is badly conditioned.Add points withdistinct X values,reduce the degree of the polynomial,or trycentering and scaling as described in HELP POLYFIT.In polyfit at 80P=(这里
20、出现警告是提示不必用 5 价函数就已经可以完美拟合了,是可以降价拟合。)在1,101的区间函数图像5.有3个 多 项 式P1(x)=x4+2x3+4x2+5,P2(x)=x+2,P3(x)=x2+2x+3,试进行下列操作:(1)求 P(x)=P1(x)+P2(x)P3(x)。(2)求 P(x)的根。(3)当 x 取矩阵 A 的每一元素时,求 P(x)的值。其中:1.21.41A 0.7523.552.50(4)当以矩阵 A 为自变量时,求 P(x)的值。其中 A 的值与第(3)题相同。解:M 文件:clc;clear;p1=1,2,4,0,5;p2=1,2;p3=1,2,3;p2=0,0,0,p2;p3=0,0,p3;p4=conv(p2,p3);%p4 是 p2 与 p3 的乘积后的多项式np4=length(p4);np1=length(p1);p=zeros(1,np4-np1)p1+p4%求 p(x)=p1(x)+p2(x)x=roots(p)%求 p(x)的根A=-1 ;2;0 5;y=polyval(p,A)%x 取矩阵 A 的每一元素时的 p(x)值运行结果:p=0 0 0 0 1 3 8 7 11x=+-+-y=+003*