matlab基础与应用部分习题答案_第1页
matlab基础与应用部分习题答案_第2页
matlab基础与应用部分习题答案_第3页
matlab基础与应用部分习题答案_第4页
matlab基础与应用部分习题答案_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、作业一4、写出完成下列操作的命令。Bo(1)将矩阵A第25行中第1,3,5列元素赋给矩阵 M=0:1:48; A=reshape(M,7,7)A =0714212835421815222936432916233037443101724313845411182532394651219263340476132027344148 B=A(2:5,1:2:5)B =1 15 292 16 303 17 314 18 32(2)删除矩阵A的第七行元素。 A(7,:)二口A =0714212835421 815222936432 916233037443 1017243138454 11182532394

2、65 121926334047(3)将矩阵A的每个元素值加30。 A=A+30A =303744515865723138455259667332 39 46 53 60 67 74334047546168753441485562697635 42 49 56 63 70 77(4求矩阵A的大小和维素。sizeA = size(A)dA = ndims(A)sizeA =67 dA =2(5)将向量t的0元素用机器零来代替。 t=1 2 3 4 0 5;t =123 405 find(t=0) ans =5 t(5)=eps t =1.0000 2.0000 3.0000 4.0000 0.00

3、00 5.0000 (6)将含有12个元素的向量x转换成3*4矩阵。 x=0:11 x =0123 45 6789 10 11 y=reshape(x,3,4)03691 47102 5811(7)求一个字符串的 ASCII。 abs(a) ans =97(8)求一个ASCII所对应的字符。 char(99)ans =c5、已知 A97 67 34 10-78 75 65 532 5 -23 -590 = -12 54 7写出完成下列操作的命令。(1) 取出A的前3列构成矩阵B,前两列构成矩阵C,右下角3*2子矩阵构成矩阵 D, B与C的乘积构成矩阵E。 B=A(1:3,:)B =97 67

4、34 10-78 75 655325 -23 -59 C=A(:,1:2)C =97 67-78 753250 -12 D=A(2:4,3:4)655-23 -59547 E=B*CE =527111574-1133666419783112(2) 输出50,100 】围的全部元素。 find(A=50 & A output = A(1) A(5) A(6) A(10) A(12)output =97 67 75 65 54二、实验题 x = -74*pi/180;y=-27*pi/180;sin(x*x+y*y)/(sqrt(tan(abs(x+y)+pi)ans =0.1987 - 0.14

5、34i a = -3.0:0.1:3.0, exp(-0.3.*a).*sin(a+0.3) x=2 4;-0.45 5;0.5*log(x+sqrt(1+x.*x)ans =0.7218 1.0474-0.2180 1.1562 A = 3 54 2;34 -45 7;87 90 15,B = 1 -2 67;2 8 74;9 3 0 A*BA.*Bans =12943241977-407-105240259112489ans =3 -108 134 68 -360 518 783 2700 AA3 A.A3 A/B BA A,B A(1,3,:);BA2 a=1+2i,b=3+4i,c=e

6、xp(pi/6*i) c+a*b/(a+b)作业二1、 从键盘输入一个4位整数,按如下规则加密后输出。加密规则: 每位数字都加上7,然后用和除以10的余数取代该数字;然后将第1位数和第3位数交换,第2位数和第4位数交换。M文件名为:Unt田ed1.m程序:x=input(输入一个四位整数:);y=fix(x/1000),mod(fix(x/100),10),mod(fix(x/10),10),mod(x,10)z=mod(y+7),10)x=z(3)*1000+z(4)*100+z(1)*10+z(2)结果:输入一个四位整数:1234y =123 4z =8901x =1892、 硅谷公司员工

7、的工资计算方法如下。(1)工作时数超过120h者,超过部分加发15%(2)工作时数低于60h者,扣发700元。(3)其余按每小时84元计发。试编程按输入的工号和该号员工的工时数,计算应发工资程序:gonghao=input(输入工号);hour=input(输入工时);every=84;if hour120gongzi=every*120+1.15* every *(hour-120);elseif hour60gongzi=every*hour-700;elsegongzi=devery*hour;endformat bank;display(gonghao,gongzi)(1)结果:输入工

8、号12输入工时130ans =12.0011046.00(2)结果:输入工号12输入工时56ans =12.004004.00(3)结果:输入工号12输入工时80ans =12.006720.0023、 根据-2 22二2,求兀的近似值。当n分别取100、6123n1000、10000时,结果是多少?要求:分别用循环结构和向量运算(使用 sun函数)来实现。(1)程序:(循环结构):n=input(input n:);s=0;for i=1:ns=s+1/iA2;pai= sqrt(s*6);enddisplay(pai) input n:100 pai =3.1321(2)程序:(向量结构)

9、 n=input(input n:);i=1:n;pai= sqrt(sum(1./i.A2)*6);display(pai);结果:input n:100 pai =3.13214、根据y 1J求:(1) y3时的最大n值;(2)与(1)的n值对应的y值y=0;k=0;while y1e-5 & m plot(x,y);(3)程序:(4)x tsinty t costf=x.A2+2*y.A2-64;ezplot(f,-10,10,-10,10);ezplotCx.A2+2*y.A2-64,-10,10,-10,10);(4)程序:t=0:0.1:8*pi; x=t.*sin(t); y=t

10、.*cos(t); plot(x,y);已知y 2x 0.刖x sin(;8s,0 t ,完成下列操作: y sin(3t)sin(t)(1)在同一坐标系下用不同的颜色和线型绘制两条曲线,给曲线添加文字说明;解:程序:x1=linspace(0,1,100); y1=2*x1-0.5; t=linspace(0,pi,100); x=sin(3*t).*cos(t); y=sin(3*t).*sin(t); plot(x1,y1,k:,x,y,bp); text(0.5,1,y=2x-0.5); text(-0.5,0.5,x=sin(3t)cos(t); text(-0.5,0.4,x=si

11、n(3t)sin(t);(2)以子图形式,分别用条形图和散点图绘制两条曲线,弁为 各子图添加函数标题。程序:subplot(1,2,1);bar(x1,group);title(y1=2x-0.5);subplot(1,2,2);barh(t,stack);title(stack);subplot(1,2,1); scatter(x1,y1,10); title(y=2x-0.5); subplot(1,2,2); scatter(x,y,10); title(x=sin(3t)cos(t),y=sin(3t)cos(t);2、 分别用plot和fplot函数绘制函数y sin的曲线,分别 x

12、分析两条曲线的差别。解:程序:subplot(1,2,1);x=1:1:100;y=sin(1./x);piot(x,y);subplot(1,2,2); fplot(sin(1/x),1,100);3、 设y 仁, t,在同一图形窗口采用子图的形式1 e绘制条形图、阶梯图、杆图和对数坐标图。解:程序:t=-pi:0.01:pi; y=1./(1+exp(-t); bar(t,y); subplot(2,2,2); stairs(t,y); subplot(2,2,3); stem(t,y); subplot(2,2,4); semilogy(t,y);结果:4、绘制下列极坐标图。(1) 5c

13、os 4(2) r a(1 cos ),a 1,0,2 解:(1)程序:theta=linspace(-pi,pi,100);ro=5.*cos(theta)+4;polar(theta,ro); 程序:fi=linspace(0,2*pi,100);a=1r=a.*(1+cos(fi);polar(fi,r);6、绘制下列三维图线。x t(2) y t2,0 t 13z tx e 20cost(1) y e 20sint,0 t 2 z t解:(1)程序:t=0:pi/20:2*pi;x=exp(-t./20).*cos(t);y=exp(-t./20).*sin(t);z=t;plot3(

14、x,y,z);结果:(3)程序:t=0:0.01:1;x=t;y=t.A2;z=t.A3;plot3(x,y,z);结果:22. 10sin、7、已知z 上 y ,绘制其在x30和y 30围的曲面图和等1 x2 y高线。解:程序:x=-30:0.1:0;y=0:0.1:30;x,y=meshgrid(x,y);z=10.*sin(sqrt(x.A2+y.A2)./sqrt(1+x.A2+y.A2);meshc(x,y,z);结果:8、已知f (x, y) 22, x 3, y 3,绘制其曲面图,弁将1 x yx 0.8, y 0.5部分镂空。解:程序:x=linspace(-3,3,100);

15、y=linspace(-3,3,100);x y=meshgrid(x,y);fxy=-5./(1+x.A2+y.A2);i=find(abs(x)=0.8 & abs(y) A=A+30*eye(size(A)A =312345653621357839456(6)从矩阵A提取主对角线元素,并以这些元素构成对角阵B。C=diag(diag(A)31000 3600039实验题:4、分别用矩阵求逆、左除运算符、矩阵分解等方法求下列对角方程组Ax b,并分析程序的执行时间。其中A =2-1000-12-1000-12-1000-12-1000 -12 b=1;0;0;0;0 b =10000解:程

16、序:%巨阵求逆ticx1=inv(A)*btoc%E除运算ticx2=Abtoc%巨阵分解%Q R分解tic Q,R=qr(A); x4=R(Qb);toc%L U分解ticL,U=lu(A);x3=U(Lb)toc%Cholesky 分解ticR=chol(A);x5=R(Rb)toc结果:P121第五章实验题1、 利用,MATLA提供的rand函数生成30000个符合均匀的随机 数,然后检验随机数的性质。(1)均值和标准方差。解:A=rand(1,30000); mean(A)std(A)(2)最大元素和最小元素。max(A)min(A)(3)大于0.5的随机数个数占总数的百分比size(

17、find(A0.5)/size(A)ans =0.4992、在某处测的海洋不同深部处水温度数据如表。用插值法求出水深500ml 900mH 1500m处的水温(C)。水深(m)4667159504221635水温(C)7.044.283.402.522.13解:程序:m=466,715,950,1422,1635;w=7.04,4.28,3.40,2.52,2.13;h=500,900,1500;wi=interp1( 没,w,h,spline)3、用5次多项式p (x)在区间【1,10】区间逼近函数lgx ,并绘制 出lgx和p (x)在1,101】区间的函数曲线。解:x=1:0.1:101

18、;y=log(x);f=polyfit(x,y,5);yi=polyval(f,x);plot(x,y,bp,x,yi,k-p)4、已知xet(t 0),取N=64, Xtt从05s采样,用fft作快速傅 立叶变换,并绘制相应的振幅-频率图。解:N=64;T=5;t=linspace(0,T,N);x=exp(-t);dt=t(2)-t(1);f=1/dt;X=fft(x);F=X(1:N/2+1);f=f*(0:N/2)/N;plot(f,abs(F),r-+)xlabel(Frequency)ylabel(|F(k)|)3_235、有 3 个多项式 pi(x) x 2x 7, &x) x

19、2, p3(x)x 5x 1,试 进行下列操作。(1)求 P(x) P(x)P2(x) P3(x)o解、程序:P1=1,2,0,7;p2=0,0,1,-2;p3=1,0,5,1;p12=conv(p1,p2);p=p12+zeros(1,size(p12,2)-size(p3,2),p3结果:p =0011 -4 12 -13(2)求p (x)的根。程序:roots(p)结果:ans =-3.46560.6128 + 1.6278i0.6128 - 1.6278i1.240(3)设A矩阵,当以矩阵A的每一元素为自变量时,求P(x)的值, 当以矩阵A为自变量时,求P(x)的根。程序:A=-1,4

20、,3;2,1,5;0,5,6;px=polyval(p,A)pxm=polyvalm(p,A)结果:px =-292919519-3697-136971427pxm =3912084327350226934207720377558926、求非线性方程的数值解。(1)、求3x sinx 1。在x0。附近的根。解:程序:z=fzero(3*x-sin(x)+1,0)x2 y2 9(2)、 x y 1,初值 x0 3,y0 0。建立fun.m函数文件:function F=fun(X)x=X(1);y=X(2);F(1)=x*x+y*y-9;F(2)=x+y-1;在命令窗口输入:x=fsolve(f

21、un,3,0,optimset(Display,off)第7章符号与计算课后实验题1231、已知A=xyz求矩阵的秩、逆矩阵和行列式的值(这里的A是符号矩阵)解:程序及结果:A=sym(1,2,3;x,y,z;3,2,1); rank(A) %矩阵秩的值ans =3 inv(A) % 逆矩阵的值ans =1/4*(y-2*z)/(-2*y+z+x),1/(-2*y+z+x),-1/4*(-2*z+3*y)/(-2*y+z+x)-1/4*(x-3*z)/(-2*y+z+x),-2/(-2*y+z+x),1/4*(-z+3*x)/(-2*y+z+x)1/4*(2*x-3*y)/(-2*y+z+x)

22、,1/(-2*y+z+x),-1/4*(-y+2*x)/(-2*y+z+x) det(A) %矩阵的行列值ans =-8*y+4*z+4*x2、求函数的符号导数。(1) y 、:x Jx vx 求 y , y。解:程序及结果:syms x; y=sqrt( ,x+sqrt(x+sqrt(x ,); diff(y) % 一阶导数 ans =1/2/(x+(x+xA(1/2)A(1/2)A(1/2)*(1 + 1/2/(x+xA(1/2)A(1/2)*(1 +1/2/xA(1/2) diff(y,x,2) % 二阶导数 ans = 1/4/(x+(x+xA(1/2)A(1/2)A(3/2)*(1

23、+ 1/2/(x+xA(1/2)A(1*(1 + 1/2/xA(1/2)A2+1/2/(x+(x+xA(1/2)A(1/2)A(1/2)*(-1/4/(x+ xA(1/2)A(3/2)*(1 + 1/2/xA(1/2)A2-1/8/(x+xA(1/2)A(1/2)/xA(3 /2)2(2)已知 f (x, y) sin(x y) e x y ,求 d-y。 edxdy解:程序:syms x y; fxy=sin(xA2*y)*exp(-xA2-y); c=diff(diff(fxy,x),y)结果:c =-2*sin(xA2*y)*xA3*y*exp(-xA2-y)+2*cos(xA2*y)*

24、x*exp(-xA2-y)-2*cos(xA2*y)*x*y*exp(-xA2-y)-2*cos(xA2*y)*xA3*exp(-xA2-y)+2*sin(xA2*y)*x*exp(-xA2-y)3、求积分2t- 2 ,(1) dxX 1 e 2Jdxcosto2(2x2 3x 1)(1)解:程序:f=sym(1/(xA4+1); s1=int(2)解:程序:syms x t; f=sym(-2*xA2+1)/(2*xA2-3*x+1)A2); int(f,cos(t),exp(2*t)结果:ans =-(-2*exp(2*t)*cos(t)A2-exp(2*t)+cos(t)+2*exp(2

25、*t)A2*cos(t)/(2*exp(2*t)-1)/(exp(2*t)-1)/(2*cos(t)-1)/(cos(t)-1)4、求级数2 1二的和函数,并求5 1之n0(2n 1) (2x 1)n1(2n 1)(2x 1)和。解:程序:syms x n; s1=symsum(2/(2*n+1)*(2*x+1)A(2*n+1),n,0,inf)结果:si =1/(2*x+1)*(4*xA2+4*x+1)A(1/2)*log(1 + 1/(4*xA2+4*x+1)A(1/2)/(1-1/(4*x,+4*x+1)八(2)s2=symsum(2/(2*n+1)*(2*x+1)A(2*n+1),n,

26、1,5) s2 =2/3/(2*x+1)A3+2/5/(2*x+1)A5+2/7/(2*x+1)A7+2/9/(2*x+1)A9+2/11/(2*x+1)A11 s=s1+s2s =1/(2*x+1)*(4*xA2+4*x+1)A(1/2)*log(1+1/(4*xA2+4*x+1)A(1/2) /(1-1/(4*xA2+4*x+1)A(1/2)+2/3/(2*x+1)A3+2/5/(2*x+1)A5+2/7 /(2*x+1)A7+2/9/(2*x+1)A9+2/11/(2*x+1)A115、求函数在x xo的泰勒展开式。 x x y e e ,x0 Qn 5 (2) y e5xsin(3x

27、-)xo a 23(1)解:程序: sym (x); y=(exp(x)+exp(-x)/2; taylor(y,x,5,0)结果:ans =1 + 1/2*xA2+1/24*xA4(2)解:程序: syms a x s=taylor(exp(-5*x)*sin(3*x+pi/3),5,a)结果:s =exp(-5*a)*sin(3*a+1/3*pi)+(3*exp(-5*a)*cos(3*a+1/3*pi)-5*exp(-5*a)*sin(3*a+1/3*pi)*(x-a)+(8*exp(-5*a)*sin(3*a+1/3*pi)-15*exp(-5*a)*cos(3*a+1/3*pi)*(

28、x-a)A2+(33*exp(-5*a)*cos(3*a+1/3*pi)+5/3*exp(-5*a)*sin(3*a+1/3*pi)*(x-a)A3+(-161/6*exp(-5*a)*sin(3*a+1/3*pi)-40*exp(-5*a)*cos(3*a+1/3*pi)*(x-a)八46、求非线性方程的符号解(1) x3 ax a 0(2)VX y 100 03x 5y 8 0(1)解:程序:s=solve(sym(xA3+a*x+1=0)(2)解:程序:三种方法:x y=solve(sym(sqrt(xA2+yA2)-100=0),sym(3*x+5*y-8=0)结果:x =12/17-

29、10/17*21246A(1/2)12/17+10/17*21246A(1/2)y =20/17+6/17*21246A(1/2)20/17-6/17*21246A(1/2) %或者下面的方式也可以 s1=sym(sqrt(xA2+yA2)-100=0); s2=sym(3*x+5*y-8=0); x y=solve(s1,s2)结果:x =12/17-10/17*21246A(1/2) 12/17+10/17*21246A(1/2)20/17+6/17*21246八(1/2)20/17-6/17*21246八(1/2) %也可以下面的这种方法 x y=solve(sqrt(xA2+yA2)-

30、100=0,3*x+5*y-8=0,x,y) 结果: x =12/17-10/17*21246A(1/2)12/17+10/17*21246A(1/2) y =20/17+6/17*21246A(1/2)20/17-6/17*21246A(1/2)7、求微分方程初值问题的符号解,并与数值解进行比较。2y y 1 Ly( 2) 5,y( 2) 5,t 2,7解:程序:(1)符号解:y1,y11=dsolve(Dy=y1,Dy1+y=1-tA2/pi,y(-2)=5,y1(-2)=5, t)y=dsolveCD2y+y=1-tA2/pi,Dy(-2)=5,y (-2)=5,t)(2)数值解:建立fun.m函数文件:function yy=ztfun(t,y)yy=y(2);1-tA2/pi-y(1);在命令窗口输入:t,y=ode45(ztfun,-2,7,-5;5);t=linspace(-2,7,49)y2=yColumns 1 through 10-2.0000-1.8125-1.6250-1.4375-1.2500-1.0625 -0.8750 -0.6875-0.5000 -0.3125Columns 11 through 20-0.12500.06250.25000.43750.62500.8125 1.0000 1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论