MATLAB程序设计与应用第二版实验参考答案.doc

上传人:wuy****n92 文档编号:78359009 上传时间:2023-03-18 格式:DOC 页数:11 大小:71.51KB
返回 下载 相关 举报
MATLAB程序设计与应用第二版实验参考答案.doc_第1页
第1页 / 共11页
MATLAB程序设计与应用第二版实验参考答案.doc_第2页
第2页 / 共11页
点击查看更多>>
资源描述

《MATLAB程序设计与应用第二版实验参考答案.doc》由会员分享,可在线阅读,更多相关《MATLAB程序设计与应用第二版实验参考答案.doc(11页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、MATLAB程序设计与应用(第二版)实验参考答案%实验一 MATLAB运算基础%第一题%(1)z1=2*sin(85*pi/180)/(1+exp(2)%(2)x=2,1+2i;-0.45,5;z2=0.5*log(x+sqrt(1+x.2)%(3)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)%(4)t=0:0.5:2.5;z4=t.2.*(t=0&t=1&t=2&t=A&A=Z);A(k)=%实验二 MATLAB矩阵分析与处理%第一题E=eye(3);R=rand(3,2);O=zeros(2,3)

2、;S=diag(2,3);A=E,R;O,S;A2B=E,(R+R*S);O,S2%第二题H=hilb(5)P=pascal(5)Hh=det(H)Hp=det(P)Th=cond(H)Tp=cond(P)%第三题:A=fix(10*rand(5)H=det(A)Trace=trace(A)Rank=rank(A)Norm=norm(A)%第四题:A=-29,6,18;20,5,12;-8,8,5V,D=eig(A)%数学意义略%第五题方法一:%(1):A=1/2,1/3,1/4;1/3,1/4,1/5;1/4,1/5,1/6;b=0.95,0.67,0.52;x=inv(A)*b%(2):B

3、=0.95,0.67,0.53;x=inv(A)*B%(3):cond(A)%第五题方法二:A=hilb(4)A(:,1)=A(4,:)=B=0.95,0.67,0.52;X=inv(A)*BB1=0.95,0.67,0.53;X1=inv(A)*B1N=cond(B)N1=cond(B1)Na=cond(A) %矩阵A为病态矩阵%第六题A=1,4,9;16,25,36;49,64,81B=sqrtm(A)C=sqrt(A) %sqrtm函数是以矩阵为单位进行计算,sqrt函数是以矩阵中的元素进行计算%实验三 选择程序结构设计%第一题程序一x=-5.0,-3.0,1.0,2.0,2.5,3.0

4、,5.0;y=; %建立存放所有y值的矩阵for x0=x if x0=0&x05&x0=2&x0=3 y=y,x0*x0-5*x0+6; else y=y,x0*x0-x0-1; endendx %输出所有xy %输出所有y%第一题程序二x=-5,-3,1,2,2.5,3,5;y=;for a=1:7if x(a)=0&x(a)100|x0disp(您输入的成绩不是百分制成绩,请重新输入。);elseif x=90disp(A);elseif x=80disp(B);elseif x=70disp(C);elseif x60disp(D);elsedisp(E);endend%第二题程序二:

5、s=input(请输入一个成绩(0分到100分之间):); %s用于存放成绩while 1 %判断输入成绩的合理性 if s100 disp(输入的成绩需在0到100之间,请重新输入:) s=input(请输入一个成绩(0分到100分之间):); else break; endendswitch fix(s/10) %对成绩做出等级判断 case 9,10 disp(A) case 8 disp(B) case 7 disp(C) case 6 disp(D) otherwise disp(E)end%第三题n=input(请输入员工工号:);h=input(该员工工作时数是:);if h12

6、0x=(h-120)*84*(1+0.15)+120*84;elseif h5 disp(超出了矩阵的行数,矩阵的最后一行为:) a(5,:)else disp(矩阵的第,num2str(n),行为:) a(n,:)end%实验四 循环结构程序设计%第一题程序一s=0;n=input(n=?);for i=1:n s=s+1/i/i;endPI=sqrt(6*s)pi%第一题程序二n=input(n=?);a=1:n;b=1./a.2;PI=sqrt(6*sum(b)pi%第二题y=0;n=1;while(y1e-5 Xn=Xn1; Xn1=a/(b+Xn); n=n+1; if n=500

7、break; endendnXn1r1=(-b+sqrt(b*b+4*a)/2r2=(-b-sqrt(b*b+4*a)/2%第四题for i=1:100if i=1f(i)=1;elseif i=2f(i)=0;elseif i=3f(i)=1;elsef(i)=f(i-1)-2*f(i-2)+f(i-3);endendmax(f)min(f)sum(f)length(find(f0)length(find(f=0)length(find(f0)%第五题:s=0;n=0;for i=2:49b=i*(i+1)-1;m=fix(sqrt(b);for j=2:mif rem(b,j)=0brea

8、kendendif j=mn=n+1;s=s+b;endendns%实验五 函数文件%第一题function y=mat1(x) %建立函数文件mat1.my=exp(x),log(x),sin(x),cos(x);%在命令窗口调用上述函数文件:y=mat1(1+i)%第二题程序一function a,b,N,M=shiyanwu2(m,n,t)A=m*cos(t*pi/180),-m,-sin(t*pi/180),0;m*sin(t*pi/180),0,cos(t*pi/180),0;0,n,-sin(t*pi/180),0;0,0,-cos(t*pi/180),1;B=0,9.8*m,0,

9、9.8*n;C=inv(A)*B;a=C(1);b=C(2);N=C(3);M=C(4);%在命令窗口调用该函数文件:m1=input(m1=);m2=input(m2=);theta=input(theta=);a1,a2,N1,N2=shiyanwu2(m1,m2,theta)%第二题程序二function X=mat2(m1,m2,t)g=9.8;A=m1*cos(t*pi/180),-m1,-sin(t*pi/180),0;m1*sin(t*pi/180),0,cos(t*pi/180),0;0,m2,-sin(t*pi/180),0;0,0,-cos(t*pi/180),1;B=0;

10、m1*g;0;m2*g;X=inv(A)*B;%在命令窗口调用该函数文件:X=mat2(1,1,60)%第三题function flag=mat3(x)flag=1;for i=2:sqrt(x)if rem(x,i)=0 flag=0; break;endend%在命令窗口调用该函数文件:for i=10:99j=10*rem(i,10)+fix(i/10);if mat3(i)&mat3(j) disp(i)endend%第四题function y=fx(x)y=1./(x-2).2+0.1)+1./(x-3).4+0.01);%在命令窗口调用该函数文件:y=fx(2)a=1,2;3,4;

11、y=fx(a)%第五题%(1)function f1=mat5(n)f1=n+10*log(n*n+5);%在命令窗口中调用该函数文件:y=mat5(40)/(mat5(30)+mat5(20)%(2)方法一function f2=mat6(n)f2=0;for i=1:n f2=f2+i*(i+1);end%在命令窗口中调用该函数文件如:y=mat6(40)/(mat6(30)+mat6(20)%(2)方法二function f2=mat7(n)i=1:n;m=i.*(i+1);f2=sum(m);end%在命令窗口中调用该函数文件如:y=mat7(40)/(mat7(30)+mat7(20

12、)%实验六 高层绘图操作%第一题:x=linspace(0,2*pi,101);y=(0.5+3*sin(x)./(1+x.2).*cos(x);plot(x,y)%第二题:%(1)x=linspace(-2*pi,2*pi,100);y1=x.2;y2=cos(2*x);y3=y1.*y2;plot(x,y1,b-,x,y2,r:,x,y3,y-);text(4,16,leftarrow y1=x2);text(6*pi/4,-1,downarrow y2=cos(2*x);text(-1.5*pi,-2.25*pi*pi,uparrow y3=y1*y2);%(2)x=linspace(-

13、2*pi,2*pi,100);y1=x.2;y2=cos(2*x);y3=y1.*y2;subplot(1,3,1);%分区plot(x,y1);title(y1=x2);%设置标题subplot(1,3,2);plot(x,y2);title(y2=cos(2*x);subplot(1,3,3);plot(x,y3);title(y3=x2*cos(2*x);%(3)x=linspace(-2*pi,2*pi,20);y1=x.2;subplot(2,2,1);%分区bar(x,y1);title(y1=x2的条形图);%设置标题subplot(2,2,2);stairs(x,y1);tit

14、le(y1=x2的阶梯图);subplot(2,2,3);stem(x,y1);title(y1=x2的杆图);subplot(2,2,4);fill(x,y1,r);%如果少了r则会出错title(y1=x2的填充图);%其他的函数照样做。%第三题x=-5:0.01:5;y=;%起始设y为空向量for x0=xif x0=0 %不能写成x0=0.5n=n+1;endendp=n/30000%第二题%(1)A=45+51*rand(100,5);Y,U=max(A)a,b=min(A)%(2)m=mean(A)s=std(A)%(3)sum(A,2)Y,U=max(ans)a,b=min(an

15、s)%(4)zcj,xsxh=sort(ans)%第三题h=6:2:18;x=6.5:2:17.5;t1=18,20,22,25,30,28,24;t2=15,19,24,28,34,32,30;T1=spline(h,t1,x)T2=spline(h,t2,x)%第四题x=1:0.1:101;y1=log10(x);p=polyfit(x,y1,5)y2=polyval(p,x);plot(x,y1,:,x,y2,-)%第五题%(1)p1=1,2,4,0,5;p2=1,2;p3=1,2,3;p=p1+0,conv(p2,p3) %为使两向量大小相同,所以补0%(2)A=roots(p)%(3

16、)A=-1,1.2,-1.4;0.75,2,3.5;0,5,2.5;polyval(p,A)%(4)polyvalm(p,A)实验十程序:x=sym(6);y=sym(5);z=(x+1)/(sqrt(3+x)-sqrt(y)1、 分解因式(1)程序:syms x y;A=x4-y4;factor(A)(2)程序:factor(sym(5135)3、化简表达式(1)程序:syms beta1 beta2y=sin(beta1)*cos(beta2)-cos(beta1)*sin(beta2)simple(y)(2)程序:syms xy=(4*x2+8*x+3)/(2*x+1)simple(y)

17、5、用符号方法求下列极限或导数(1)程序:syms xf=(x*(exp(sin(x)+1)-2*(exp(tan(x)-1)/(sin(x)limit(f)(2)程序:syms xy=(sqrt(pi)-sqrt(acos(x)/(sqrt(x+1);limit(f,x,-1,right)(3) 程序:syms xy=(1-cos(2*x)/x;y1=diff(y)y2=diff(y,x,2)6、用符号方法求下列积分(1)程序:syms xf=1/(1+x4+x8)int(f)(2)程序:syms xf=1/(asin(x)2)*sqrt(1-x2)int(f)(3)程序:syms xf=(

18、x2+1)/(x4+1)int(f,x,0,inf)(4)程序:syms xf=exp(x)*(1+exp(x)2y=int(f,x,0,log(2)double(y)实验十一 级数与方程符号求解1. 级数符号求和。(1) 计算 。(2) 求级数 的和函数,并求 之和。解:M文件:clear all;clc;n=sym(n);x=sym(x);S1=symsum(1/(2*n-1),n,1,10)S2=symsum(n2*x(n-1),n,1,inf)S3=symsum(n2/5n,n,1,inf) %vpa(S3)可以转化成小数运行结果:S1 =31037876/14549535S2 =pi

19、ecewise(abs(x) 1, -(x2 + x)/(x*(x - 1)3)S3 =15/322. 将lnx在x=1处按5次多项式展开为泰勒级数。解:M文件:clear all;clc;x=sym(x);f=log(x);taylor(f,x,6,1)运行结果:ans =x - (x - 1)2/2 + (x - 1)3/3 - (x - 1)4/4 + (x - 1)5/5 - 13. 求下列方程的符号解。解:M文件:clear all;clc;x1=solve(log(x+1)-5/(1+sin(x)=2)x2=solve(x2+9*sqrt(x+1)-1)x3=solve(3*x*e

20、xp(x)+5*sin(x)-78.5)x4 y4=solve(sqrt(x2+y2)-100,3*x+5*y-8)运行结果:x1 =521.67926389905839979437366649258x2 = -1 (3(1/2)*i*(4/(9*(6465(1/2)/2 + 2171/54)(1/3) - (1/2*6465(1/2) + 2171/54)(1/3)/2 - (6465(1/2)/2 + 2171/54)(1/3)/2 - 2/(9*(6465(1/2)/2 + 2171/54)(1/3) + 1/3 1/3 - (6465(1/2)/2 + 2171/54)(1/3)/2

21、- (3(1/2)*i*(4/(9*(6465(1/2)/2 + 2171/54)(1/3) - (1/2*6465(1/2) + 2171/54)(1/3)/2 - 2/(9*(6465(1/2)/2 + 2171/54)(1/3)x3 =x4 = 12/17 - (10*21246(1/2)/17 (10*21246(1/2)/17 + 12/17y4 = (6*21246(1/2)/17 + 20/17 20/17 - (6*21246(1/2)/17 4. 求微分方程初值问题的符号解,并与数值解进行比较。 解:M文件:clear all;clc;dsolve(D2y+4*Dy+29*y

22、,y(0)=0,Dy(0)=15,x) 运行结果:ans =(3*sin(5*x)/exp(2*x)5. 求微分方程组的通解。解:M文件:clear all;clc;x y z=dsolve(Dx=2*x-3*y+3*z,. Dy=4*x-5*y+3*z,Dz=4*x-4*y+2*z,t)运行结果:x =C1/exp(t) + C2*exp(2*t)y =C1/exp(t) + C2*exp(2*t) + C3/exp(2*t)z =C2*exp(2*t) + C3/exp(2*t)实验九 数值微积分与方程数值求解1. 求函数在指定点的数值导数。 解:M文件:clc;clear;x=1;i=1

23、;f=inline(det(x x2 x3;1 2*x 3*x2;0 2 6*x);while x0 %非齐次方程组 if rank(A)=rank(A,b) if rank(A)=n disp(有唯一解x); x=Ab; else disp(有无穷个解,特解x,基础解系y); x=Ab; y=null(A,r); end else disp(无解); x= ; endelse %齐次方程组 disp(有零解x); x=zeros(n,1); if rank(A) In line_solution at 11x = -2/11 10/11 0 0 y = 1/11 -9/11 -5/11 1/

24、11 1 0 0 1 所以原方程组的通解是: ,其中 为任意常数。5. 求代数方程的数值解。(1) 3x+sinx-ex=0在x0=1.5附近的根。(2) 在给定的初值x0=1,y0=1,z0=1下,求方程组的数值解。 解:M文件:function g=f(x)g=3*x+sin(x)-exp(x);clc;clear;fzero(f,1.5) 结果是:ans = 1289/682 (2). M文件: function F=fun(X)x=X(1);y=X(2);z=X(3);F(1)=sin(x)+y2+log(z)-7;F(2)=3*x+2-z3+1;F(3)=x+y+z-5;X=fsol

25、ve(myfun,1,1,1,optimset(Display,off)运行结果:6. 求函数在指定区间的极值。(1) 在(0,1)内的最小值。(2) 在0,0附近的最小值点和最小值。解:M文件:function f=g(u)x=u(1); y=u(2); f=2*x.3+4*x.*y3-10*x.*y+y.2;clc;clear;format longf=inline(x3+cos(x)+x*log(x)/exp(x);x,fmin1=fminbnd(f,0,1)U,fmin2=fminsearch(g,0,0)运行结果7. 求微分方程的数值解。 解:M文件:function xdot= sys( x,y)xdot=y(2);(5*y(2)-y(1)/x; clc;clear;x0=1.0e-9;xf=20;x,y=ode45(sys,x0,xf,0 0);x,y 运行结果:8. 求微分方程组的数值解,并绘制解的曲线。 解: 令y1=x,y2=y,y3=z; 这样方程变为: ,自变量是tM文件:function xdot=sys(x,y)xdot=y(2)*y(3);-y(1)*y(3);-0.51*y(1)*y(2); clc;clear;t0=0;tf=8;x,y=ode23(sys,t0,tf,0,1,1)plot(x,y) 11

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 考试试题 > 习题库

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁