欢迎来到得力文库 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
得力文库 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

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

    • 资源ID:78359009       资源大小:71.51KB        全文页数:11页
    • 资源格式: DOC        下载积分:11.9金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要11.9金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

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

    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-1).*(t>=1&t<2)+(t.2-2*t+1).*(t>=2&t<3)%第二题A=12 34 -4;34 7 87;3 65 7;B=1 3 -1;2 0 3;3 -2 7;A+6*BA-B+eye(size(A)A*BA.*BA3A.3A/BBAA,BA(1,3,:);B2%第三题A=1 2 3 4 5;6 7 8 9 10;11 12 13 14 15;16 17 18 19 20;21 22 23 24 25B=3 0 16;17 -6 9;0 23 -4;9 7 0;4 13 11C=A*BF=size(C)D=C(F(1)-2:F(1),F(2)-1:F(2)whos%第四题%(1):A=100:999;B=rem(A,21);C=length(find(B=0)%(2):A='lsdhKSDLKklsdkl'k=find(A>='A'&A<='Z');A(k)=%实验二 MATLAB矩阵分析与处理%第一题E=eye(3);R=rand(3,2);O=zeros(2,3);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=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,5.0;y=; %建立存放所有y值的矩阵for x0=x if x0<0&x0=-3 y=y,x0*x0+x0-6; elseif x0>=0&x0<5&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)=-3y=y,(x(a)2+x(a)-6;elseif x(a)>=0&x(a)<5&x(a)=2&x(a)=3y=y,(x(a)2-5*x(a)+6;elsey=y,x(a)*x(a)-x(a)-1;endend%第二题程序一:x=input('请输入一个百分制成绩:');if x>100|x<0disp('您输入的成绩不是百分制成绩,请重新输入。');elseif x<=100&x>=90disp('A');elseif x<=89&x>=80disp('B');elseif x<=79&x>=70disp('C');elseif x<=69&x>60disp('D');elsedisp('E');endend%第二题程序二:s=input('请输入一个成绩(0分到100分之间):'); %s用于存放成绩while 1 %判断输入成绩的合理性 if s<0|s>100 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 h>120x=(h-120)*84*(1+0.15)+120*84;elseif h<60x=h*84-700;elsex=h*84;enddisp(num2str(n),'号员工','的应发工资为',num2str(x);%第四题(还可以用switch语句实现)a=fix(10+(99-10)*rand(1,2) %产生两个随机整数x=a(1);y=a(2);t=input('请输入运算符号:','s');if t='+' z=x+y;elseif t='-' z=x-y;elseif t='*' z=x*y;elseif t='/' z=x/y;enddisp(num2str(x),t,num2str(y),'=',num2str(z) %输出运算结果%第五题a=rand(5,6) %产生5x6的随机矩阵n=input('请输入您要输出矩阵的第几行:');if n>5 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(y<3)y=y+1/(2*n-1);n=n+1;endy=y-1/(2*(n-1)-1)n=n-2%第三题a=input('a=?');b=input('b=?');Xn=1;Xn1=a/(b+Xn);n=0;while abs(Xn1-Xn)>1e-5 Xn=Xn1; Xn1=a/(b+Xn); n=n+1; if n=500 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(f>0)length(find(f=0)length(find(f<0)%第五题:s=0;n=0;for i=2:49b=i*(i+1)-1;m=fix(sqrt(b);for j=2:mif rem(b,j)=0breakendendif 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.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;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;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)%实验六 高层绘图操作%第一题: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(-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);title('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=<0y=y,(x0+sqrt(pi)/exp(2); %将x对应的函数值放到y中elsey=y,0.5*log(x0+sqrt(1+x02);endendplot(x,y)%第四题:a=input('a=');b=input('b=');n=input('n=');t=-2*pi:0.01:2*pi;r=a*sin(b+n*t);polar(t,r)%第五题x=linspace(-5,5,21);y=linspace(0,10,31);x,y=meshgrid(x,y);%在-5,5*0,10的范围内生成网格坐标z=cos(x).*cos(y).*exp(-sqrt(x.2+y.2)/4);subplot(2,1,1);surf(x,y,z);subplot(2,1,2);contour3(x,y,z,50);%其中50为高度的等级数,越大越密%第六题ezsurf('cos(s)*cos(t)','cos(s)*sin(t)','sin(s)',0,0.5*pi,0,1.5*pi); %利用ezsurf隐函数shading interp %进行插值着色处理%实验七 低层绘图操作%第一题h=figure('MenuBar','figure','color','r','WindowButtonDownFcn','disp(''Left Button Pressed'')')%第二题x=-2:0.01:2;y=x.2.*exp(2*x);h=line(x,y);set(h,'color','r','linestyle',':','linewidth',2)text(1,exp(2),'y=x2*exp(2*x)')%第三题t=0:0.00001:0.001;t,x=meshgrid(t);v=10*exp(-0.01*x).*sin(2000*pi*t-0.2*x+pi);axes('view',-37.5,30);h=surface(t,x,v);title('v=10*exp(-0.01*x).*sin(2000*pi*t-0.2*x+pi)');xlabel(Ct'),ylabel('x'),zlabel('v')%第四题x=0:0.01:2*pi;y1=sin(x);y2=cos(x);y3=tan(x);y4=cot(x);subplot(2,2,1);plot(x,y1);subplot(2,2,2);plot(x,y2);subplot(2,2,3);plot(x,y3);subplot(2,2,4);plot(x,y4);%第五题cylinder(5);light('Position',0,1,1);material shiny%实验八 数据处理与多项式运算%第一题%(1)A=rand(1,30000);b=mean(A)std(A,0,2)%(2)max(A)min(A)%(3)n=0;for i=1:30000if A(i)>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(ans)%(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)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)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=(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 =piecewise(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*exp(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 - (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','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;f=inline('det(x x2 x3;1 2*x 3*x2;0 2 6*x)');while x<=3.01 g(i)=f(x); i=i+1; x=x+0.01; %以0.01的步长增加,可再缩小步长提高精度endg;t=1:0.01:3.01;dx=diff(g)/0.01; %差分法近似求导f1=dx(1) %x=1的数值倒数f2=dx(101) %x=2的数值倒数f3=dx(length(g)-1) %x=3的数值倒数 运行结果:f1 = 6.0602f2 = 24.1202f3 = 54.18022. 用数值方法求定积分。(1) 的近似值。(2) 解:M文件:clc;clear;f=inline('sqrt(cos(t.2)+4*sin(2*t).2+1)');I1=quad(f,0,2*pi) g=inline('log(1+x)./(1+x.2)');I2=quad(g,0,2*pi) 运行结果:3. 分别用3种不同的数值方法解线性方程组。解:M文件:clc;clear;A=6 5 -2 5;9 -1 4 -1;3 4 2 -2;3 -9 0 2;b=-4 13 1 11'x=Aby=inv(A)*bL,U=lu(A);z=U(Lb) 运行结果:4. 求非齐次线性方程组的通解。 解:M文件function x,y=line_solution(A,b)m,n=size(A);y= ;if norm(b)>0 %非齐次方程组 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)<n disp('有无穷个解,基础解系y'); y=null(A,'r'); endendclc;clear;format ratA=2 7 3 1;3 5 2 2;9 4 1 7;b=6 4 2'x,y=line_solution(A,b) 运行结果:有无穷个解,特解x,基础解系yWarning: Rank deficient, rank = 2, tol = 8.6112e-015. > In line_solution at 11x = -2/11 10/11 0 0 y = 1/11 -9/11 -5/11 1/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=fsolve('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

    注意事项

    本文(MATLAB程序设计与应用第二版实验参考答案.doc)为本站会员(wuy****n92)主动上传,得力文库 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知得力文库 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于得利文库 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

    工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

    © 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

    黑龙江省互联网违法和不良信息举报
    举报电话:0468-3380021 邮箱:hgswwxb@163.com  

    收起
    展开