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

下载本文档

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

文档简介

作业一4、写出完成下列操作的命令。(1)将矩阵A第25行中第1,3,5列元素赋给矩阵B。 M=0:1:48; A=reshape(M,7,7)A = 0 7 14 21 28 35 42 1 8 15 22 29 36 43 2 9 16 23 30 37 44 3 10 17 24 31 38 45 4 11 18 25 32 39 46 5 12 19 26 33 40 47 6 13 20 27 34 41 48 B=A(2:5,1:2:5)B = 1 15 29 2 16 30 3 17 31 4 18 32(2)删除矩阵A的第七行元素。 A(7,:)=A = 0 7 14 21 28 35 42 1 8 15 22 29 36 43 2 9 16 23 30 37 44 3 10 17 24 31 38 45 4 11 18 25 32 39 46 5 12 19 26 33 40 47(3)将矩阵A的每个元素值加30。 A=A+30A = 30 37 44 51 58 65 72 31 38 45 52 59 66 73 32 39 46 53 60 67 74 33 40 47 54 61 68 75 34 41 48 55 62 69 7635 42 49 56 63 70 77(4求矩阵A的大小和维素。sizeA = size(A) dA = ndims(A)sizeA = 6 7dA = 2(5)将向量t的0元素用机器零来代替。 t=1 2 3 4 0 5;t = 1 2 3 4 0 5 find(t=0)ans = 5 t(5)=epst =1.0000 2.0000 3.0000 4.0000 0.0000 5.0000(6)将含有12个元素的向量x转换成3*4矩阵。 x=0:11x = 0 1 2 3 4 5 6 7 8 9 10 11 y=reshape(x,3,4)y = 0 3 6 9 1 4 7 10 2 5 8 11(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 34 10 -78 75 65 5 32 5 -23 -59 C=A(:,1:2)C = 97 67 -78 75 32 5 0 -12 D=A(2:4,3:4)D = 65 5 -23 -5954 7 E=B*CE = 5271 11574 -11336 664 1978 3112(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.1434i 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*B A.*Bans = 129 432 4197 7 -407 -1052 402 591 12489ans = 3 -108 134 68 -360 518 783 270 0 A3 A.3 A/B BA A,B A(1,3,:);B2 a=1+2i,b=3+4i,c=exp(pi/6*i) c+a*b/(a+b)作业二1、 从键盘输入一个4位整数,按如下规则加密后输出。加密规则:每位数字都加上7,然后用和除以10的余数取代该数字;然后将第1位数和第3位数交换,第2位数和第4位数交换。M 文件名为:Untitled1.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 =1 2 3 4z =8 9 0 1x =1892、 硅谷公司员工的工资计算方法如下。(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)结果:输入工号12输入工时130ans =12.00 11046.00(2)结果:输入工号12输入工时56ans = 12.00 4004.00(3)结果:输入工号12输入工时80ans =12.00 6720.003、 根据,求的近似值。当n分别取100、1000、10000时,结果是多少?要求:分别用循环结构和向量运算(使用sun函数)来实现。(1)程序:(循环结构):n=input(input n:);s=0;for i=1:ns=s+1/i2;pai= sqrt(s*6);enddisplay(pai)input n:100pai = 3.1321(2)程序:(向量结构):n=input(input n:);i=1:n;pai= sqrt(sum(1./i.2)*6);display(pai);结果:input n:100pai = 3.13214、 根据,求:(1) y3时的最大n值;(2) 与(1)的n值对应的y值。y=0;k=0;while y1e-5 & m plot(x,y);(3) 程序:f=x.2+2*y.2-64;ezplot(f,-10,10,-10,10);ezplot(x.2+2*y.2-64,-10,10,-10,10);(4)程序:t=0:0.1:8*pi; x=t.*sin(t); y=t.*cos(t); plot(x,y);已知,完成下列操作:(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=sin(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函数绘制函数的曲线,分别分析两条曲线的差别。解:程序:subplot(1,2,1);x=1:1:100;y=sin(1./x);plot(x,y);subplot(1,2,2); fplot(sin(1/x),1,100);3、 设,在同一图形窗口采用子图的形式绘制条形图、阶梯图、杆图和对数坐标图。解:程序: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) (2),解:(1)程序:theta=linspace(-pi,pi,100);ro=5.*cos(theta)+4;polar(theta,ro);(2)程序:fi=linspace(0,2*pi,100);a=1r=a.*(1+cos(fi);polar(fi,r);6、绘制下列三维图线。(1) (2)解:(1)程序:t=0:pi/20:2*pi;x=exp(-t./20).*cos(t);y=exp(-t./20).*sin(t);z=t;plot3(x,y,z);结果:(3) 程序:t=0:0.01:1;x=t;y=t.2;z=t.3;plot3(x,y,z);结果:7、已知,绘制其在范围内的曲面图和等高线。解:程序:x=-30:0.1:0;y=0:0.1:30;x,y=meshgrid(x,y);z=10.*sin(sqrt(x.2+y.2)./sqrt(1+x.2+y.2);meshc(x,y,z);结果:8、已知,绘制其曲面图,并将部分镂空。解:程序:x=linspace(-3,3,100);y=linspace(-3,3,100);x y=meshgrid(x,y);fxy=-5./(1+x.2+y.2);i=find(abs(x)=0.8 & abs(y) A=A+30*eye(size(A)A = 31 2 3 4 5 6 5 36 2 1 3 5 7 8 39 4 5 6(6)从矩阵A提取主对角线元素,并以这些元素构成对角阵B。C=diag(diag(A)C = 31 0 0 0 36 0 0 0 39实验题:4、分别用矩阵求逆、左除运算符、矩阵分解等方法求下列对角方程组,并分析程序的执行时间。其中A = 2 -1 0 0 0 -1 2 -1 0 0 0 -1 2 -1 0 0 0 -1 2 -1 0 0 0 -1 2 b=1;0;0;0;0b = 1 0 0 0 0解:程序:%矩阵求逆ticx1=inv(A)*b toc%左除运算ticx2=Ab toc%矩阵分解%Q、R分解ticQ,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、 利用,MATLAB提供的rand函数生成30000个符合均匀的随机数,然后检验随机数的性质。(1) 均值和标准方差。解:A=rand(1,30000); mean(A)std(A)(2) 最大元素和最小元素。max(A)min(A)(3) 大于0.5的随机数个数占总数的百分比。size(find(A0.5)/size(A)ans =0.4992、在某处测的海洋不同深部处水温度数据如表。用插值法求出水深500m,900m和1500m处的水温()。水深(m)4667159504221635水温()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;y=log(x);f=polyfit(x,y,5);yi=polyval(f,x);plot(x,y,bp,x,yi,k-p)4、已知,取N=64,对t从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)|)5、有3个多项式,试进行下列操作。(1)求。解、程序: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 = 0 0 1 1 -4 12 -13(2)求p(x)的根。程序:roots(p)结果:ans = -3.4656 0.6128 + 1.6278i 0.6128 - 1.6278i 1.240(3)设A矩阵,当以矩阵A的每一元素为自变量时,求的值,当以矩阵A为自变量时,求的根。程序:A=-1,4,3;2,1,5;0,5,6;px=polyval(p,A)pxm=polyvalm(p,A)结果:px = -29 291 95 19 -3 697 -13 697 1427pxm = 391 2084 3273 502 2693 4207 720 3775 58926、求非线性方程的数值解。(1)、求在附近的根。解:程序:z=fzero(3*x-sin(x)+1,0)(2)、,初值。建立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(fun,3,0,optimset(Display,off)第7章符号与计算课后实验题1、已知A=求矩阵的秩、逆矩阵和行列式的值。(这里的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), 1/(-2*y+z+x), -1/4*(-y+2*x)/(-2*y+z+x) det(A) %矩阵的行列值ans = -8*y+4*z+4*x2、求函数的符号导数。(1)求。解:程序及结果:syms x; y=sqrt(x+sqrt(x+sqrt(x); diff(y) %一阶导数 ans =1/2/(x+(x+x(1/2)(1/2)(1/2)*(1+1/2/(x+x(1/2)(1/2)*(1+1/2/x(1/2) diff(y,x,2) %二阶导数ans =-1/4/(x+(x+x(1/2)(1/2)(3/2)*(1+1/2/(x+x(1/2)(1/2)*(1+1/2/x(1/2)2+1/2/(x+(x+x(1/2)(1/2)(1/2)*(-1/4/(x+x(1/2)(3/2)*(1+1/2/x(1/2)2-1/8/(x+x(1/2)(1/2)/x(3/2)(2)已知,求。解:程序:syms x y; fxy=sin(x2*y)*exp(-x2-y); c=diff(diff(fxy,x),y) 结果:c = -2*sin(x2*y)*x3*y*exp(-x2-y)+2*cos(x2*y)*x*exp(-x2-y)-2*cos(x2*y)*x*y*exp(-x2-y)-2*cos(x2*y)*x3*exp(-x2-y)+2*sin(x2*y)*x*exp(-x2-y)3、求积分。(1) (2)(1)解:程序:f=sym(1/(x4+1); s1=int(f) (2)解:程序:syms x t; f=sym(-2*x2+1)/(2*x2-3*x+1)2); int(f,cos(t),exp(2*t)结果:ans = -(-2*exp(2*t)*cos(t)2-exp(2*t)+cos(t)+2*exp(2*t)2*cos(t)/(2*exp(2*t)-1)/(exp(2*t)-1)/(2*cos(t)-1)/(cos(t)-1)4、求级数的和函数,并求之和。解:程序:syms x n; s1=symsum(2/(2*n+1)*(2*x+1)(2*n+1),n,0,inf)结果:s1 = 1/(2*x+1)*(4*x2+4*x+1)(1/2)*log(1+1/(4*x2+4*x+1)(1/2)/(1-1/(4*x2+4*x+1)(1/2)s2=symsum(2/(2*n+1)*(2*x+1)(2*n+1),n,1,5) s2 = 2/3/(2*x+1)3+2/5/(2*x+1)5+2/7/(2*x+1)7+2/9/(2*x+1)9+2/11/(2*x+1)11 s=s1+s2 s = 1/(2*x+1)*(4*x2+4*x+1)(1/2)*log(1+1/(4*x2+4*x+1)(1/2)/(1-1/(4*x2+4*x+1)(1/2)+2/3/(2*x+1)3+2/5/(2*x+1)5+2/7/(2*x+1)7+2/9/(2*x+1)9+2/11/(2*x+1)115、求函数在的泰勒展开式。(1) (2)(1)解:程序:sym (x); y=(exp(x)+exp(-x)/2; taylor(y,x,5,0)结果:ans = 1+1/2*x2+1/24*x4(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)*(x-a)2+(33*exp(-5*a)*cos(3*a+1/3*pi)+5/3*exp(-5*a)*sin(3*a+1/3*pi)*(x-a)3+(-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) (2)(1)解:程序:s=solve(sym(x3+a*x+1=0)(2)解:程序:三种方法:x y=solve(sym(sqrt(x2+y2)-100=0),sym(3*x+5*y-8=0)结果:x = 12/17-10/17*21246(1/2) 12/17+10/17*21246(1/2) y = 20/17+6/17*21246(1/2) 20/17-6/17*21246(1/2) %或者下面的方式也可以 s1=sym(sqrt(x2+y2)-100=0); s2=sym(3*x+5*y-8=0); x y=solve(s1,s2)结果:x = 12/17-10/17*21246(1/2) 12/17+10/17*21246(1/2) y = 20/17+6/17*21246(1/2) 20/17-6/17*21246(1/2) %也可以下面的这种方法 x y=solve(sqrt(x2+y2)-100=0,3*x+5*y-8=0,x,y)结果:x = 12/17-10/17*21246(1/2) 12/17+10/17*21246(1/2) y = 20/17+6/17*21246(1/2) 20/17-6/17*21246(1/2)7、求微分方程初值问题的符号解,并与数值解进行比较。解:程序:(1)符号解:y1,y11=dsolve(Dy=y1,Dy1+y=1-t2/pi,y(-2)=5,y1(-2)=5,t)y=dsolve(D2y+y=1-t2/pi,Dy(-2)=5,y (-2)=5,t)(2)数值解:建立fun.m函数文件:function yy=ztfun(t,y)yy=y(2);1-t2/pi-y(1);在命令窗口输入:t,y=ode45(ztfun,-2,7,-5;5);t=linspace(-2,7,49)y2=yt = Columns 1 through 10 -2.0000 -1.8125 -1.6250 -1.4375 -1.2500 -1.0625 -0.8750 -0.6875 -0.5000 -0.3125 Columns 11 through 20 -0.1250 0.0625 0.2500 0.4375 0.6250 0.8125 1.0000 1.1875 1.3750 1.5625 Columns 21 through 30 1.7500 1.9375 2.1250 2.3125 2.5000 2.6875 2.8750 3.0625 3.2

温馨提示

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

最新文档

评论

0/150

提交评论