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

合集下载

MATLAB程序设计与应用(第二版)实验答案-095

MATLAB程序设计与应用(第二版)实验答案-095
y=[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];
%
for i=1:100
if i==1
f(i)=1;
elseif i==2
f(i)=0;
elseif i==3
f(i)=1;
else
f(i)=f(i-1)-2*f(i-2)+f(i-3);
end
end
max(f)
min(f)
sum(f)
length(find(f>0))
length(find(f==0))
j=10*rem(i,10)+fix(i/10);
if mat3(i)&mat3(j)
disp(i)
end
end
%
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)
%(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)

MATLAB程序设计及应用(第二版)课后实验答案

MATLAB程序设计及应用(第二版)课后实验答案

Matlab课后实验题答案实验一 MATLAB运算基础1. 先求下列表达式的值,然后显示MATLAB工作空间的使用情况并保存全部变量。

(1)0 122sin851ze =+(2)21ln( 2z x=+,其中2120.455i x+⎡⎤=⎢⎥-⎣⎦(3)0.30.330.3sin(0.3)ln, 3.0, 2.9,,2.9,3.0 22a ae e az a a--+=++=--(4)2242011122123t tz t tt t t⎧≤<⎪=-≤<⎨⎪-+≤<⎩,其中t=0:0.5:2.52. 已知:1234413134787,2033657327A B --⎡⎤⎡⎤⎢⎥⎢⎥==⎢⎥⎢⎥⎢⎥⎢⎥-⎣⎦⎣⎦求下列表达式的值:(1) A+6*B 和A-B+I (其中I 为单位矩阵) (2) A*B 和A.*B (3) A^3和A.^3 (4) A/B 及B\A(5) [A,B]和[A([1,3],:);B^2] 解:3. 设有矩阵A 和B123453166789101769,111213141502341617181920970212223242541311A B ⎡⎤⎡⎤⎢⎥⎢⎥-⎢⎥⎢⎥⎢⎥⎢⎥==-⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦(1) 求它们的乘积C 。

(2) 将矩阵C 的右下角3×2子矩阵赋给D 。

(3) 查看MATLAB 工作空间的使用情况。

4. 完成下列操作:(1) 求[100,999]之间能被21整除的数的个数。

(2) 建立一个字符串向量,删除其中的大写字母。

解:(1) 结果:(2). 建立一个字符串向量 例如:ch='ABC123d4e56Fg9';则要求结果是:实验二 MATLAB 矩阵分析与处理1. 设有分块矩阵33322322E R A O S ⨯⨯⨯⨯⎡⎤=⎢⎥⎣⎦,其中E 、R 、O 、S 分别为单位矩阵、随机矩阵、零矩阵和对角阵,试通过数值计算验证22E R RS A OS +⎡⎤=⎢⎥⎣⎦。

matlab程序设计(第二版)课后作业答案

matlab程序设计(第二版)课后作业答案

一、实验结果:1、利用函数eye,ones,zeros,rand,randn 函数分别产生首先编写脚本函数如下:a1=eye(3)a2=eye(15,8)b1=ones(3)b2=ones(15,8)c1=zeros(3)c2=zeros(15,8)d1=2*rand(3,3)-1d2=2*randn(3,3)+1r1=2*rand(15,8)-1r2=2*randn(15,8)+12、使用函数diag和reshape函数:编写脚本:a1=[8 -7 2];a2=diag(a1);a3=fliplr(a2);a4=[5 3];a5=diag(a4,-1);a6=fliplr(a5);a=a3+a6a1=reshape(a,1,9)b1=[4 5 7];b2=diag(b1);b3=fliplr(b2);b4=[2 0 8];b5=diag(b4);b=b3+b5b6=reshape(b,1,9)3、直接在工作空间里输入:a=5-round(100*rand(50,2))/104、脚本文件:a=[-pi:2*pi/360:pi];y1=sin(a)y2=cos(a)5.、编写脚本:A=rand(10)b=A>0.6[i,j,v]=find(b)c=sum(v)6、编写脚本:A=randn(10)b=-0.5<A<0.5[i,j,v]=find(b);c=sum(v)7、编写实现表中功能的语句:if and(a<1,b<=0.5)语句1elseif and(a<1,b>0.5)语句2elseif and(a>=1,b<=0.5)语句3elseif and(a>=1,b>0.5)语句4elsedisp('error')end8、编写脚本如下:A=2*rand(3)b=A>1c=A.*b;[i,j,v]=find(c);v9、编写脚本函数:A=101*rand(100,3)b=A>100;c=A.*b;[i,j,d]=find(c);d10、为节约空间,用5*5的矩阵来模拟100*100的矩阵:编写脚本函数如下:A=[0 2 0 3 0;0 0 0 0 0;0 8 0 5 0;0 4 0 5 0;0 4 0 2 0]b=any(A);[i,j,v]=find(1-b);A(:,j)=[];B=A';c=any(B);[i,j,v]=find(1-c);B(:,j)=[];A=B'一、实验结果:1、输入脚本函数:x=0:pi/50:2*pi;k=[1 26 51 76 101];x(k)=[];figure(1)subplot(2,2,1)plot(x,sin(x)),grid onsubplot(2,2,2)plot(x,cos(x)),grid onsubplot(2,2,3)plot(x,tan(x)),grid onsubplot(2,2,4)plot(x,cot(x)),grid on2、分别利用title函数给图形加上标题,用text函数给坐标系中的建立文本对象,可将字符串放在图形的指定位置,用xlabel、ylabel函数添加x、y轴的标记,用legend 函数给图形加上插图说明。

最新Matlab程序设计与应用第二版刘卫国课后实验答案

最新Matlab程序设计与应用第二版刘卫国课后实验答案

实验一:T1:%%第一小题z1=2*sin(85*pi/180)/(1+exp(2))%%第二小题x=[2,1+2i;-0.45,5];z2=1/2*log(x+sqrt(1+x.^2));z2%%第三小题a=-3.0:0.1:3.0;z3=1/2*(exp(0.3*a)-exp(-0.3*a)).*sin(a+0.3)+l og((0.3+a)/2)%%第四题t=0:0.5:2.5z4=(t>=0&t<1).*(t.^2)+(t>=1&t<2).*(t.^2-1)+(t >=2&t<3).*(t.^2-2*t+1)T2:A=[12,34,-4;34,7,87;3,65,7]B=[1,3,-1;2,0,3;3,-2,7]disp ('A+6*B=');disp(A+6*B);disp('A-B+I=');disp(A-B+eye(3));disp('A*B=');disp(A*B);disp('A.*B=');disp(A.*B);disp('A^3=');disp(A^3);disp('A.^3=');disp(A.^3);disp('A/B=');disp(A/B);disp('B\A=');disp(B\A);disp('[A,B]=');disp([A,B]);disp('[A([1,3],:);B^2]=');disp([A([1,3],:);B^2]);T3:z=1:25;A=reshape(z,5,5)';B=[3,0,16;17,-6,9;0,23,-4;9,7,0;4,13,11]; C=A*BD=C(3:5,2:3)T4-1:a=100:999;b=find(rem(a,21)==0);c=length(b)T4-2:a=input('请输入一个字符串:','s');b=find(a>='A'&a<='Z');a(b)=[];disp(a);实验二:T1:E=eye(3),R=rand(3,2),O=zeros(2,3),S=diag([1,2 ]);A=[E,R;O,S]disp('A^2=');disp(A^2);disp('[E,R+RS;O,S^2]');B=[E,R+R*S;O,S^2]T2:H=hilb(5)P=pascal(5)Hh=det(H)Hp=det(P)Th=cond(H)Tp=cond(P)a=abs(Th-1);b=abs(Tp-1);if a>bdisp('帕萨卡矩阵P性能更好');elseif a<bdisp('希尔伯特矩阵H性能更好');elsedisp('两个矩阵性能相同');endT3:a=1:25;A=reshape(a,5,5)disp('行列式的值:');disp(det(A));disp('矩阵的秩:');disp(rank(A));disp('矩阵的迹:');disp(trace(A));disp('矩阵的范数:');disp(norm(A));T4:A=[-29,6,18;20,5,12;-8,8,5][V,D]=eig(A)T5: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]'X1=A\BB(3)=0.53X2=A\Bdisp('系数矩阵A的条件数:'); disp(cond(A));T6:a=1:25;A=reshape(a,5,5)disp('B1=sqrtm(A)');B1=sqrtm(A)disp('B2=sqrt(A)');B2=sqrt(A)disp('B1*B1');B1*B1disp('B2.*B2');B2.*B2实验三:T1:x=-5.0:2:5.0for i=1:length(x);if (x(i)<0)&(x(i)~=-3)y(i)=x(i)^2+x(i)-6;elseif(x(i)>=0)&(x(i)<5)&(x(i)~=2)&(x(i)~=3);y(i)=x(i)^2-5*x(i)+6;elsey(i)=x(i)^2-x(i)-1;endendyT2-if:s=input('please enter the score:'); while (s<0||s>100)disp('the score is not reasonable');s=input('please enter the score:'); endif (s>=90&s<=100);disp('A');elseif(s>=80&s<90);disp('B');elseif(s>=70&s<80);disp('C');elseif(s>=60&s<70);disp('D');elsedisp('E');endT2-switch:s=input('please enter the score:'); while (s<0||s>100)disp('the score is not reasonable');s=input('please enter the score:'); endswitch fix(s/10)case{9,10}disp('A');case{8}disp('B');case{7}disp('C');case{6}disp('D');case{0,1,2,3,4,5}disp('E');endT3:t=input('请输入工时time=');if t>120w=120*84+(t-120)*1.15*84; elseif t<60w=t*84-700;elsew=84*t;enddisp('应发工资为:');disp(w);T4:a=10+floor(rand(1)*89)b=10+floor(rand(1)*89)s=input('请输入+或-或*或/','s');while(s~='+'&&s~='-'&&s~='*'&&s~='/') disp('输入的符号错误,请重新输入');s=input('请输入+或-或*或/','s');endswitch scase{'+'}c=a+b;case{'-'}c=a-b;case{'*'}c=a*b;case{'/'}c=a/b;endcT5:A=rand(5,6)n=input('请输入n:');while (n<1)disp('输入的n有误,请重新输入');n=input('请输入n:');endif n>5B=A(5,:)elseB=A(n,:)End实验四:T1:n=input('请输入n:');m=0;for i=1:n;m=m+1/i^2;endpii=sqrt(6*m)T1-2:n=input('请输入n:');m=1./(1:n).^2;s=sum(m);pii=sqrt(6*s)T2:n=1000;y=0; for i=1:n;y=y+1/(2*i-1);if y>=3disp('最大n值为:');i-1disp('对应的y值为:');y-1/(2*i-1)break;endendT3:format longa=input('请输入a:');b=input('请输入b:');x(1)=a/(1.0+b);i=1;x(2)=a/(x(i)+b);while (abs(x(i+1)-x(i))>0.00001&i<500)i=i+1;x(i+1)=a/(x(i)+b);endr1=(-b+sqrt(b^2+4*a))/2;r2=(-b-sqrt(b^2+4*a))/2;disp(['x',num2str(i+1),'=',num2str(x(i+1),8)]); disp(['x',num2str(i),'=',num2str(x(i),8)]);disp(['r1=',num2str(r1,8),',r2=',num2str(r2,8)]) ;format shortT4:f(1)=1;f(2)=0;f(3)=1;i=4;while(i<=100)f(i)=f(i-1)-2*f(i-2)+f(i-3);i=i+1;endfmax=max(f)fmin=min(f)fsum=sum(f)fp=length(find(f>0))fn=length(find(f<0))f0=length(find(f==0))T5:j=0;s=0;for i=3:50m=i*(i-1)-1;if isprime(m)==1ms=s+m;j=j+1;endenddisp(['亲密数的对数:',num2str(j)]);disp(['所有亲密素数之和:',num2str(s)]);实验五:fn1:function f=fn1(n)f=n+10*log(n.^2+5);fn2:function f=fn2(n)f=0;for i=1:nf=f+i*(i+1);endfx:function f=fx(x)f=1./((x-2).^2+0.1)+1./((x-3).^4+0.01);T1:x=input('请输入一个复数:');fe=exp(x)flg=log(x)fsin=sin(x)fcos=cos(x)T2:m1=input('请输入m1:');m2=input('请输入m2:');t=input('请输入theta:');A=[m1*cos(t),-m1,-sin(t),0;m1*sin(t),0,...cos(t),0;0,m2,-sin(t),0;0,0,-cos(t),1]B=[0,m1*9.8,0,m2*9.8]'disp('[a1,a2,N1,N2]=');disp([A\B]');T3:j=1;n=1;k=1;for i=10:99 % 挑选出10~99中所有的素数if isprime(i)==1m(j)=i;j=j+1;endendfor t=1:length(m);s(n)=10*rem(m(t),10)+fix(m(t)/10); %挑选出的素数进行位置交换if isprime(s(n))==1 %再挑选出交换绝对素数r(k)=m(t);k=k+1;endn=n+1;enddisp(['所有两位绝对素数:',num2str(r)])T5:y1=fn1(40)/(fn1(30)+fn1(20)) %函数调用y2=fn2(40)/(fn2(30)+fn2(20))实验六:T1:x=linspace(0,2*pi,101);y=(0.5+3*sin(x)./(1+x.^2)).*cos(x);plot(x,y);T2:x=linspace(0,2*pi,100);y1=x.^2;y2=cos(2*x);y3=y1.*y2;subplot(2,2,1);plot(x,y1,'r:',x,y2,'y-',x,y3,'b-.');subplot(2,2,2);plot(x,y1,'r:');subplot(2,2,3);plot(x,y2,'y-');subplot(2,2,4);plot(x,y3,'b-.');T2-3:x=linspace(0,2*pi,10);y1=x.^2;y2=cos(2*x);y3=y1.*y2;subplot(3,4,1);bar(x,y1,'r');axis([0,7,0,40]);subplot(3,4,2);stairs(x,y1,'y');axis([0,7,0,40]);subplot(3,4,3);stem(x,y1,'b');axis([0,7,0,40]);subplot(3,4,4);fill(x,y1,'g');axis([0,7,0,40]);subplot(3,4,5);bar(x,y2,'r');axis([-1,7,-1,1]);subplot(3,4,6);stairs(x,y2,'y');axis([-1,7,-1,1]);subplot(3,4,7);stem(x,y2,'b');axis([-1,7,-1,1]);subplot(3,4,8);fill(x,y2,'g');axis([-1,7,-1,1]);subplot(3,4,9);bar(x,y3,'r');axis([0,7,-30,50]);subplot(3,4,10);stairs(x,y3,'y');axis([0,7,-30,50]); subplot(3,4,11);stem(x,y3,'b');axis([0,7,-30,50]); subplot(3,4,12);fill(x,y3,'g');axis([0,7,-30,50]);T3:x=linspace(-5,5,100);y=[];for x0=x;if x0<=0;y=[y,(x0+sqrt(pi))/exp(2)];elsey=[y,1/2*log(x0+sqrt(1+x0^2))];endendsubplot(1,2,1);plot(x,y);for i=1:length(x)if x(i)<=0y(i)=(x(i)+sqrt(pi))/exp(2);elsey(i)=1/2*log(x(i)+sqrt(1+x(i)^2)); endendsubplot(1,2,2);plot(x,y);T4:a=input('请输入a:');b=input('请输入b:');n=input('请输入n:'); theta=0:0.001:2*pi;y=a.*sin(b+n.*theta);polar(theta,y);T5:x=linspace(-5,5,21);y=linspace(0,10,31);[x,y]=meshgrid(x,y);z=cos(x).*cos(y).*exp(-sqrt(x.^2+y.^2)/4); subplot(1,2,1);surf(x,y,z);subplot(1,2,2);contour3(x,y,z);T6:s=0:pi/2;t=0:3*pi/2;[s,t]=meshgrid(s,t);x=cos(s).*cos(t);y=cos(s).*sin(t);z=sin(s);surf(x,y,z);shading interp;实验八:T1:A=rand(1,30000);disp('均值为:');mean(A)disp('标准方差为:');std(A)disp('最大元素为:');max(A)disp('最小元素为:');min(A)k=find(A>0.5);b=length(k);disp('大于0.5的随机数个数占总数的百分比:');sprintf('%f%%', b/300)T2:P=45+50*rand(100,5)disp('最高分及序号:');[Y,U]=max(P,[],1)disp('最低分及序号:');[Y1,U1]=min(P,[],1)disp('每门课平均分:');mean(P,1)disp('每门课的标准方差:');std(P,0,1)s=sum(P,2);disp('总分最高分:');[Y2,U2]=max(s,[],1)disp('总分最低分:');[Y3,U3]=min(s,[],1)[zcj,xsxh]=sort(s,1,'descend') %descend降序T3:h=6:2:18;t1=[18.0,20.0,22.0,25.0,30.0,28.0,24.0];t2=[15.0,19.0,24.0,28.0,34.0,32.0,30.0];t=6.5:2:17.5;T1=interp1(h,t1,t,'spline')T2=interp1(h,t2,t,'spline')T4:x=1:10:101;y=log10(x);p=polyfit(x,y,5)x1=1:0.01:101;y1=log10(x1);y2=polyval(p,x1);plot(x1,y1,'r-',x1,y2,'b-.');T5:P1=[1,2,4,0,5];P2=[0,0,0,1,2];P3=[0,0,1,2,3];P4=conv(P2,P3);sp1=length(P1);sp2=length(P4);P=[zeros(1,sp2-sp1),P1]+P4x=roots(P)A=[-1,1.2,-1.4;0.75,2,3.5;0,5,2.5];Ax=polyval(P,A)AA=polyvalm(P,A)实验九:T1:f=inline('det([x x^2 x^3;1 2*x 3*x^2;0 2 6*x])');i=1;x=1;while x<=3.01g(i)=f(x);i=i+1;x=x+0.01;enddx=diff(g)/0.01;dx(1)dx(101)dx(length(g)-1)T2:f1=inline('sqrt(cos(t.^2)+4*sin(2*t).^2+1)')f2=inline('log(1+x)./(1+x.^2)')I1=quad(f1,0,2*pi)I2=quad(f2,0,2*pi)T3:A=[6,5,-2,5;9,-1,4,-1;3,4,2,-2;3,-9,0,2];B=[-4,13,1,11]';x1=A\B[L,U]=lu(A);x2=U\(L\B)[Q,R]=qr(A);x3=R\(Q\B)fun:function F=fun(X);x=X(1);y=X(2);z=X(3);F(1)=sin(x)+y^2+log(z)-7;F(2)=3*x+2^y-z^3+1;F(3)=x+y+z-5;T5:f=inline('3*x+sin(x)-exp(x)');fzero(f,1.5)X=fsolve('fun',[1 1 1]',optimset('Display','off')) 实验十:T1:x=sym('6');y=sym('5');z=(x+1)/(sqrt(3+x)-sqrt(y))T2:syms x y;t=sym('5135');factor(x^4-y^4)factor(t)T3:syms beta1 beta2 x;simplify(sin(beta1)*cos(beta2)-cos(beta1)*sin (beta2))simplify((4*x^2+8*x+3)/(2*x+1))T4:syms a b c d e f g h k;p1=[0,1,0;1,0,0;0,0,1];p2=[1,0,0;0,1,0;1,0,1];A=[a,b,c;d,e,f;g,h,k];B=p1*p2*AB1=inv(B)B1*B;tril(B)det(B)T5:syms x t a yf1=(x*(exp(sin(x))+1)-2*(exp(tan(x))-1))/sin(x) ^3;limit(f1,x,0) %(1)f2=(sqrt(pi)-sqrt(acos(x)))/sqrt(x+1);limit(f2,x,-1,'right') %(2)f3=(1-cos(2*x))/x;diff(f3,x,1) %(3)diff(f3,x,2)A=[a^x,t^3;t*cos(x),log(x)];diff(A,x,1) &(4)diff(A,t,2)diff(diff(A,x,1),t,1)f5=(x^2-2*x)*exp(-x^2-y^2-x*y);yx=-diff(f5,x,1)/diff(f5,y,1) %(5)fxy=diff(diff(f5,x,1),y,1)x=sym('0');y=sym('1');eval(fxy)T6:x=sym('x');f1=1/(1+x^4+x^8);int(f1,x)f2=1/(asin(x))^2/sqrt(1-x^2);int(f2,x)f3=(x^2+1)/(x^4+1);int(f3,x,0,inf)f4=exp(x)*(1+exp(x))^2;int(f4,x,0,log(2))实验十一:T1:syms n x ;S1=symsum(1/(2*n-1),n,1,10)S2=symsum(n^2*x^(n-1),n,1,inf)S3=symsum(n^2/5^n,n,1,inf)T2:x=sym('x');f=log(x);taylor(f,x,6,1)T3:x1=solve('log(1+x)-5/(1+sin(x))=2')x2=solve('x^2+9*sqrt(x+1)-1=0')x3=solve('3*x*exp(x)+5*sin(x)-78.5=0')[x4,y4]=solve('sqrt(x^2+y^2)-100=0','3*x+5*y-8=0')T4:dsolve('D2y+4*Dy+29*y=0','y(0)=0','Dy(0)=15' ,'x')T5:[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')2020年普通高等学校招生全国统一考试(山东模拟卷)语文一、现代文阅读(35分)(一)现代文阅读I(本题共5小题,19分)阅读下面的文字,完成1~5题。

刘卫国matlab课后习题答案

刘卫国matlab课后习题答案

刘卫国matlab课后习题答案【篇一:matlab程序设计与应用第二版刘卫国课后实验答案】%第一小题z1=2*sin(85*pi/180)/(1+exp(2)) %%第二小题 x=[2,1+2i;-0.45,5];z2=1/2*log(x+sqrt(1+x.^2)); z2%%第三小题 a=-3.0:0.1:3.0;z3=1/2*(exp(0.3*a)-exp(-0.3*a)).*sin(a+0.3)+log((0.3+a)/2)%%第四题 t=0:0.5:2.5z4=(t=0t1).*(t.^2)+(t=1t2).*(t.^2-1)+(t=2t3).*(t.^2-2*t+1)t2:a=[12,34,-4;34,7,87;3,65,7] b=[1,3,-1;2,0,3;3,-2,7] disp (a+6*b=); disp(a+6*b); disp(a-b+i=); disp(a-b+eye(3)); disp(a*b=);disp(a*b); disp(a.*b=); disp(a.*b); disp(a^3=); disp(a^3);disp(a.^3=); disp(a.^3); disp(a/b=); disp(a/b); disp(b\a=);disp(b\a); disp([a,b]=); disp([a,b]);disp([a([1,3],:);b^2]=); disp([a([1,3],:);b^2]); t3: z=1:25;a=reshape(z,5,5);b=[3,0,16;17,-6,9;0,23,-4;9,7,0;4,13,11];1c=a*bd=c(3:5,2:3) t4-1:a=100:999;b=find(rem(a,21)==0); c=length(b) t4-2:a=input(请输入一个字符串:,s); b=find(a=aa=z); a(b)=[]; disp(a); 实验二: t1:e=eye(3),r=rand(3,2),o=zeros(2,3),s=diag([1,2]);a=[e,r;o,s] disp(a^2=); disp(a^2);disp([e,r+rs;o,s^2]); b=[e,r+r*s;o,s^2] t2: h=hilb(5) p=pascal(5) hh=det(h) hp=det(p) th=cond(h) tp=cond(p) a=abs(th-1);b=abs(tp-1); if abdisp(帕萨卡矩阵p性能更好); elseif abdisp(希尔伯特矩阵h性能更好); elsedisp(两个矩阵性能相同); end t3: a=1:25;a=reshape(a,5,5)disp(行列式的值:); disp(det(a));disp(矩阵的秩:); disp(rank(a));disp(矩阵的迹:);disp(trace(a));disp(矩阵的范数:); disp(norm(a)); t4:a=[-29,6,18;20,5,12;-8,8,5] [v,d]=eig(a) t5: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] x1=a\b b(3)=0.53 x2=a\bdisp(系数矩阵a的条件数:); disp(cond(a)); t6: a=1:25;a=reshape(a,5,5) disp(b1=sqrtm(a)); b1=sqrtm(a)disp(b2=sqrt(a)); b2=sqrt(a) disp(b1*b1); b1*b1disp(b2.*b2); b2.*b2实验三: t1:x=-5.0:2:5.0 for i=1:length(x);if (x(i)0)(x(i)~=-3)y(i)=x(i)^2+x(i)-6; elseif(x(i)=0)(x(i)5)(x(i)~=2)(x(i)~=3);y(i)=x(i)^2-5*x(i)+6; elsey(i)=x(i)^2-x(i)-1; end end y t2-if:s=input(please enter the score:); while (s0||s100)disp(the score is not reasonable); s=input(please enter the score:);endif (s=90s=100); disp(a);elseif(s=80s90); disp(b);elseif(s=70s80); disp(c);elseif(s=60s70); disp(d); elsedisp(e); endt2-switch:s=input(please enter the score:); while (s0||s100)disp(the score is not reasonable); s=input(please enter the score:); endswitch fix(s/10) case{9,10} disp(a); case{8} disp(b); case{7} disp(c); case{6} disp(d);case{0,1,2,3,4,5} disp(e); end t3:t=input(请输入工时time=); if t120w=120*84+(t-120)*1.15*84; elseif t60w=t*84-700; elsew=84*t; enddisp(应发工资为:); disp(w); t4:a=10+floor(rand(1)*89) b=10+floor(rand(1)*89)2s=input(请输入+或-或*或/,s);while(s~=+s~=-s~=*s~=/) disp(输入的符号错误,请重新输入);s=input(请输入+或-或*或/,s); end switch scase{+}c=a+b; case{-}c=a-b; case{*}c=a*b; case{/}c=a/b; end c t5:a=rand(5,6)n=input(请输入n:); while (n1)disp(输入的n有误,请重新输入); n=input(请输入n:); end if n5 b=a(5,:) elseb=a(n,:) end实验四: t1:n=input(请输入n:); m=0; for i=1:n;m=m+1/i^2; endpii=sqrt(6*m) t1-2:n=input(请输入n:); m=1./(1:n).^2; s=sum(m); pii=sqrt(6*s) t2: n=1000;y=0;for i=1:n;y=y+1/(2*i-1); if y=3disp(最大n值为:);i-1disp(对应的y值为:);y-1/(2*i-1)break; end end t3:format longa=input(请输入a:); b=input(请输入b:);x(1)=a/(1.0+b);i=1;x(2)=a/(x(i)+b); while (abs(x(i+1)-x(i))0.00001i500) i=i+1;x(i+1)=a/(x(i)+b); endr1=(-b+sqrt(b^2+4*a))/2; r2=(-b-sqrt(b^2+4*a))/2;disp([x,num2str(i+1),=,num2str(x(i+1),8)]);disp([x,num2str(i),=,num2str(x(i),8)]);disp([r1=,num2str(r1,8),,r2=,num2str(r2,8)]);format short t4:f(1)=1;f(2)=0;f(3)=1;i=4; while(i=100)f(i)=f(i-1)-2*f(i-2)+f(i-3); i=i+1; endfmax=max(f) fmin=min(f) fsum=sum(f)fp=length(find(f0)) fn=length(find(f0)) f0=length(find(f==0)) t5: j=0;s=0; for i=3:50m=i*(i-1)-1; if isprime(m)==1m3s=s+m;j=j+1; end enddisp([亲密数的对数:,num2str(j)]);disp([所有亲密素数之和:,num2str(s)]); 实验五: fn1:function f=fn1(n) f=n+10*log(n.^2+5); fn2:function f=fn2(n) f=0; for i=1:nf=f+i*(i+1); end fx:function f=fx(x)f=1./((x-2).^2+0.1)+1./((x-3).^4+0.01); t1:x=input(请输入一个复数:); fe=exp(x) flg=log(x) fsin=sin(x)fcos=cos(x) t2:m1=input(请输入m1:); m2=input(请输入m2:); t=input(请输入theta:);a=[m1*cos(t),-m1,-sin(t),0;m1*sin(t),0,... cos(t),0;0,m2,-sin(t),0;0,0,-cos(t),1] b=[0,m1*9.8,0,m2*9.8] disp([a1,a2,n1,n2]=); disp([a\b]); t3:j=1;n=1;k=1;for i=10:99% 挑选出10~99中所有的素数if isprime(i)==1 m(j)=i; j=j+1; end endfor t=1:length(m);4s(n)=10*rem(m(t),10)+fix(m(t)/10); %挑选出的素数进行位置交换 if isprime(s(n))==1 %再挑选出交换绝对素数r(k)=m(t);k=k+1; endn=n+1; enddisp([所有两位绝对素数:,num2str(r)]) t5:y1=fn1(40)/(fn1(30)+fn1(20)) %函数调用y2=fn2(40)/(fn2(30)+fn2(20)) 实验六: t1:x=linspace(0,2*pi,101);y=(0.5+3*sin(x)./(1+x.^2)).*cos(x); plot(x,y); t2:x=linspace(0,2*pi,100); y1=x.^2; y2=cos(2*x); y3=y1.*y2; subplot(2,2,1);plot(x,y1,r:,x,y2,y-,x,y3,b-.); subplot(2,2,2); plot(x,y1,r:); subplot(2,2,3); plot(x,y2,y-); subplot(2,2,4); plot(x,y3,b-.); t2-3: x=linspace(0,2*pi,10); y1=x.^2; y2=cos(2*x); y3=y1.*y2; subplot(3,4,1);bar(x,y1,r);axis([0,7,0,40]); subplot(3,4,2);stairs(x,y1,y);axis([0,7,0,40]); subplot(3,4,3);stem(x,y1,b);axis([0,7,0,40]); subplot(3,4,4);fill(x,y1,g);axis([0,7,0,40]);subplot(3,4,5);bar(x,y2,r);axis([-1,7,-1,1]); subplot(3,4,6);stairs(x,y2,y);axis([-1,7,-1,1]); subplot(3,4,7);stem(x,y2,b);axis([-1,7,-1,1]); subplot(3,4,8);fill(x,y2,g);axis([-1,7,-1,1]); subplot(3,4,9);bar(x,y3,r);axis([0,7,-30,50]); subplot(3,4,10);stairs(x,y3,y);axis([0,7,-30,50]); subplot(3,4,11);stem(x,y3,b);axis([0,7,-30,50]); subplot(3,4,12);fill(x,y3,g);axis([0,7,-30,50]); t3:x=linspace(-5,5,100); y=[]; for x0=x; if x0=0;y=[y,(x0+sqrt(pi))/exp(2)]; elsey=[y,1/2*log(x0+sqrt(1+x0^2))]; end endsubplot(1,2,1); plot(x,y);for i=1:length(x) if x(i)=0y(i)=(x(i)+sqrt(pi))/exp(2); elsey(i)=1/2*log(x(i)+sqrt(1+x(i)^2)); end endsubplot(1,2,2); plot(x,y); t4:a=input(请输入a:); b=input(请输入b:); n=input(请输入n:);theta=0:0.001:2*pi; y=a.*sin(b+n.*theta); polar(theta,y); t5:x=linspace(-5,5,21); y=linspace(0,10,31); [x,y]=meshgrid(x,y); z=cos(x).*cos(y).*exp(-sqrt(x.^2+y.^2)/4); subplot(1,2,1);surf(x,y,z); subplot(1,2,2); contour3(x,y,z); t6:s=0:pi/2; t=0:3*pi/2;[s,t]=meshgrid(s,t); x=cos(s).*cos(t); y=cos(s).*sin(t); z=sin(s); surf(x,y,z); shading interp; 实验八: t1:a=rand(1,30000); disp(均值为:); mean(a)disp(标准方差为:); std(a)disp(最大元素为:); max(a)disp(最小元素为:); min(a)k=find(a0.5); b=length(k);disp(大于0.5的随机数个数占总数的百分比:);sprintf(%f%%, b/300) t2:p=45+50*rand(100,5) disp(最高分及序号:); [y,u]=max(p,[],1)disp(最低分及序号:); [y1,u1]=min(p,[],1)disp(每门课平均分:);5【篇二:matlab程序设计与应用(刘卫国编)课后实验答案】xt>1. 先求下列表达式的值,然后显示matlab工作空间的使用情况并保存全部变量。

MATLAB程序设计与应用(第二版)课后实验答案

MATLAB程序设计与应用(第二版)课后实验答案

e an dAl l th i ng si nt he i rb ei n ga re go od fo r矩阵和对角阵,试通过数值计算验证。

22E R RS A OS +⎡⎤=⎢⎥⎣⎦解: M 文件如下;由ans,所以22E R RS A O S +⎡⎤=⎢⎥⎣⎦2. 产生5阶希尔伯特矩阵H 和5阶帕斯卡矩阵P ,且求其行列式的值Hh 和Hp 以及它们的条件数Th 和Tp ,判断哪个矩阵性能更好。

为什么?解:M 文件如下:an dAl l t h i ng si nt he i rb ei n ga re go od fo r因为它们的条件数Th>>Tp,所以pascal 矩阵性能更好。

3. 建立一个5×5矩阵,求它的行列式值、迹、秩和范数。

解: M 文件如下:4. 已知2961820512885A -⎡⎤⎢⎥=⎢⎥⎢⎥-⎣⎦求A 的特征值及特征向量,并分析其数学意义。

解:M 文件如图:b ei n ga re go od f数学意义:V 的3个列向量是A 的特征向量,D 的主对角线上3个是A 的特征值,特别的,V 的3个列向量分别是D 的3个特征值的特征向量。

5. 下面是一个线性方程组:111⎡⎤e an dAl l t h i ng si nt he i rb ei n ga re go od fo rs o 输出结果:由结果,X 和X2的值一样,这表示b 的微小变化对方程解也影响较小,而A 的条件数算得较小,所以数值稳定性较好,A 是较好的矩阵。

6. 建立A 矩阵,试比较sqrtm(A)和sqrt(A),分析它们的区别。

解:M 文件如下:分析结果知:sqrtm(A)是类似A 的数值平方根(这可由b1*b1=A 的结果看出),而sqrt(A)则是对A 中的每个元素开根号,两则区别就在于此。

e an dAl l t h i ng si nt he i rb ei n ga re 实验三 选择结构程序设计1. 求分段函数的值。

MATLAB程序设计与应用(第二版)课后实验答案

MATLAB程序设计与应用(第二版)课后实验答案

Matlab课后实验题答案实验一 MATLAB运算基础1. 先求下列表达式的值,然后显示MATLAB工作空间的使用情况并保存全部变量。

(1)0 122sin851ze =+(2)21ln(2z x=,其中2120.455ix+⎡⎤=⎢⎥-⎣⎦(3)0.30.330.3sin(0.3)ln, 3.0, 2.9,,2.9,3.0 22a ae e az a a--+=++=--(4)2242011122123t tz t tt t t⎧≤<⎪=-≤<⎨⎪-+≤<⎩,其中t=0:0.5:2.52. 已知:1234413134787,2033657327A B --⎡⎤⎡⎤⎢⎥⎢⎥==⎢⎥⎢⎥⎢⎥⎢⎥-⎣⎦⎣⎦求下列表达式的值:(1) A+6*B 和A —B+I(其中I 为单位矩阵) (2) A*B 和A.*B (3) A^3和A.^3 (4) A/B 及B\A(5) [A,B ]和[A ([1,3],:);B^2] 解:3. 设有矩阵A 和B123453166789101769,111213141502341617181920970212223242541311A B ⎡⎤⎡⎤⎢⎥⎢⎥-⎢⎥⎢⎥⎢⎥⎢⎥==-⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦(1) 求它们的乘积C 。

(2) 将矩阵C 的右下角3×2子矩阵赋给D 。

(3) 查看MATLAB 工作空间的使用情况。

4. 完成下列操作:(1) 求[100,999]之间能被21整除的数的个数。

(2) 建立一个字符串向量,删除其中的大写字母。

解:(1) 结果:(2).建立一个字符串向量 例如: ch='ABC123d4e56Fg9';则要求结果是:实验二 MATLAB 矩阵分析与处理1。

设有分块矩阵33322322E R A O S ⨯⨯⨯⨯⎡⎤=⎢⎥⎣⎦,其中E 、R 、O 、S 分别为单位矩阵、随机矩阵、零矩阵和对角阵,试通过数值计算验证22E R RS A OS +⎡⎤=⎢⎥⎣⎦。

Matlab程序设计与应用(刘卫国 第二版)答案

Matlab程序设计与应用(刘卫国 第二版)答案

%y1 蓝色实线,y2 红色虚线,y3 绿色点画线
%分四个子图(先画 2 行 2 列第 1 块)
%y1 的四种图形
%y2 %条形图 %阶梯图 %杆图 %填充图,注意必须加填充颜色 %y3
subplot(3,4,11); stem(x,y3); subplot(3,4,12); fill(x,y3,'b'); 3 clear; x=-5:0.1:5; if x<=0 y=(x+sqrt(pi)/exp(2)); else y=0.5.*log(x+sqrt(1+x.^2)); end plot(x,y); 4 M 文件,假设文件名为 Untitled6 a=input('a='); b=input('b='); %b 单位为 pi/4 b=b*pi/4; n=input('n='); q=linspace(-2*pi,2*pi,100); p=a*sin(b+n*q); plot(q,p); hold on; %保持图形 命令窗口调用情况 >> Untitled6 a=1 b=1 n=1 >> Untitled6 a=2 b=2 n=2
n=input('n='); m=1:n; y=(6*sum(1./m.^2))^(1/2) 2:y=0; k=0; while 1 k=k+1; y=y+1/(2*k-1); if y>=3 break end end format long y=y-1/(2*k-1) k=k-1 3:a=input('a='); b=input('b='); n=1; x0=1; x1=a/(x0+b); while abs(x0-x1)>=10^(-5)|n<=500 k=a/(x1+b); x0=x1; x1=k; n=n+1; end x1 4:f(1)=1; f(2)=0; f(3)=1; for n=4:100 f(n)=f(n-1)-2*f(n-2)+f(n-3); end zuidazhi=max(f) zuixiaozhi=min(f) sn=sum(f) a=find(f>0); b=find(f<0); c=find(f==0); zhengshu=length(a) fushu=length(b) ling=length(c)

Matlab程序设计与应用第二版刘卫国课后实验答案教学提纲

Matlab程序设计与应用第二版刘卫国课后实验答案教学提纲

M a t l a b程序设计与应用第二版刘卫国课后实验答案实验一:T1:%%第一小题z1=2*sin(85*pi/180)/(1+exp(2))%%第二小题x=[2,1+2i;-0.45,5];z2=1/2*log(x+sqrt(1+x.^2));z2%%第三小题a=-3.0:0.1:3.0;z3=1/2*(exp(0.3*a)-exp(-0.3*a)).*sin(a+0.3)+log((0.3+a)/2) %%第四题t=0:0.5:2.5z4=(t>=0&t<1).*(t.^2)+(t>=1&t<2).*(t. ^2-1)+(t>=2&t<3).*(t.^2-2*t+1)T2:A=[12,34,-4;34,7,87;3,65,7]B=[1,3,-1;2,0,3;3,-2,7]disp ('A+6*B=');disp(A+6*B);disp('A-B+I=');disp(A-B+eye(3));disp('A*B=');disp(A*B);disp('A.*B=');disp(A.*B);disp('A^3=');disp(A^3);disp('A.^3=');disp(A.^3);disp('A/B=');disp(A/B);disp('B\A=');disp(B\A);disp('[A,B]='); disp([A,B]);disp('[A([1,3],:);B^2]=');disp([A([1,3],:);B^2]);T3:z=1:25;A=reshape(z,5,5)';B=[3,0,16;17,-6,9;0,23,-4;9,7,0;4,13,11]; C=A*BD=C(3:5,2:3)T4-1:a=100:999;b=find(rem(a,21)==0);c=length(b)T4-2:a=input('请输入一个字符串:','s');b=find(a>='A'&a<='Z');a(b)=[];disp(a);实验二:T1:E=eye(3),R=rand(3,2),O=zeros(2,3),S=d iag([1,2]);A=[E,R;O,S]disp('A^2=');disp(A^2);disp('[E,R+RS;O,S^2]');B=[E,R+R*S;O,S^2]T2:H=hilb(5)P=pascal(5)Hh=det(H)Hp=det(P)Th=cond(H)Tp=cond(P)a=abs(Th-1);b=abs(Tp-1);if a>bdisp('帕萨卡矩阵P性能更好'); elseif a<b仅供学习与交流,如有侵权请联系网站删除谢谢2disp('希尔伯特矩阵H性能更好'); elsedisp('两个矩阵性能相同');endT3:a=1:25;A=reshape(a,5,5)disp('行列式的值:');disp(det(A));disp('矩阵的秩:');disp(rank(A));disp('矩阵的迹:');disp(trace(A));disp('矩阵的范数:');disp(norm(A));T4:A=[-29,6,18;20,5,12;-8,8,5][V,D]=eig(A)T5: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]'X1=A\BB(3)=0.53X2=A\Bdisp('系数矩阵A的条件数:');disp(cond(A));T6:a=1:25;A=reshape(a,5,5)disp('B1=sqrtm(A)');B1=sqrtm(A)disp('B2=sqrt(A)');B2=sqrt(A)disp('B1*B1');B1*B1disp('B2.*B2');B2.*B2 实验三:T1:x=-5.0:2:5.0for i=1:length(x);if (x(i)<0)&(x(i)~=-3)y(i)=x(i)^2+x(i)-6;elseif(x(i)>=0)&(x(i)<5)&(x(i)~=2)&(x(i)~=3 );y(i)=x(i)^2-5*x(i)+6;elsey(i)=x(i)^2-x(i)-1;endendyT2-if:s=input('please enter the score:');while (s<0||s>100)disp('the score is not reasonable');s=input('please enter the score:');endif (s>=90&s<=100);disp('A');elseif(s>=80&s<90);disp('B');elseif(s>=70&s<80);disp('C');elseif(s>=60&s<70);disp('D');elsedisp('E');endT2-switch:s=input('please enter the score:');while (s<0||s>100)disp('the score is not reasonable');s=input('please enter the score:');endswitch fix(s/10)case{9,10}disp('A');case{8}disp('B');仅供学习与交流,如有侵权请联系网站删除谢谢3case{7}disp('C');case{6}disp('D');case{0,1,2,3,4,5}disp('E');endT3:t=input('请输入工时time=');if t>120w=120*84+(t-120)*1.15*84;elseif t<60w=t*84-700;elsew=84*t;enddisp('应发工资为:');disp(w);T4:a=10+floor(rand(1)*89)b=10+floor(rand(1)*89)s=input('请输入+或-或*或/','s');while(s~='+'&&s~='-'&&s~='*'&&s~='/') disp('输入的符号错误,请重新输入');s=input('请输入+或-或*或/','s');endswitch scase{'+'}c=a+b;case{'-'}c=a-b;case{'*'}c=a*b;case{'/'}c=a/b;endc T5:A=rand(5,6)n=input('请输入n:');while (n<1)disp('输入的n有误,请重新输入'); n=input('请输入n:');endif n>5B=A(5,:)elseB=A(n,:)End实验四:T1:n=input('请输入n:');m=0;for i=1:n;m=m+1/i^2;endpii=sqrt(6*m)T1-2:n=input('请输入n:');m=1./(1:n).^2;s=sum(m);pii=sqrt(6*s)T2:n=1000;y=0;for i=1:n;y=y+1/(2*i-1);if y>=3disp('最大n值为:');i-1disp('对应的y值为:');y-1/(2*i-1)break;end仅供学习与交流,如有侵权请联系网站删除谢谢4endT3:format longa=input('请输入a:');b=input('请输入b:');x(1)=a/(1.0+b);i=1;x(2)=a/(x(i)+b); while (abs(x(i+1)-x(i))>0.00001&i<500) i=i+1;x(i+1)=a/(x(i)+b);endr1=(-b+sqrt(b^2+4*a))/2;r2=(-b-sqrt(b^2+4*a))/2;disp(['x',num2str(i+1),'=',num2str(x(i+1) ,8)]);disp(['x',num2str(i),'=',num2str(x(i),8)]); disp(['r1=',num2str(r1,8),',r2=',num2str(r 2,8)]);format shortT4:f(1)=1;f(2)=0;f(3)=1;i=4;while(i<=100)f(i)=f(i-1)-2*f(i-2)+f(i-3);i=i+1;endfmax=max(f)fmin=min(f)fsum=sum(f)fp=length(find(f>0))fn=length(find(f<0))f0=length(find(f==0))T5:j=0;s=0;for i=3:50m=i*(i-1)-1;if isprime(m)==1ms=s+m;j=j+1;endenddisp(['亲密数的对数:',num2str(j)]); disp(['所有亲密素数之和:',num2str(s)]);实验五:fn1:function f=fn1(n)f=n+10*log(n.^2+5);fn2:function f=fn2(n)f=0;for i=1:nf=f+i*(i+1);endfx:function f=fx(x)f=1./((x-2).^2+0.1)+1./((x-3).^4+0.01); T1:x=input('请输入一个复数:');fe=exp(x)flg=log(x)fsin=sin(x)fcos=cos(x)T2:m1=input('请输入m1:');m2=input('请输入m2:');t=input('请输入theta:');A=[m1*cos(t),-m1,-sin(t),0;m1*sin(t),0,...cos(t),0;0,m2,-sin(t),0;0,0,-cos(t),1] B=[0,m1*9.8,0,m2*9.8]'disp('[a1,a2,N1,N2]=');disp([A\B]');T3:j=1;n=1;k=1;for i=10:99 % 挑选出10~99中所有的素数if isprime(i)==1仅供学习与交流,如有侵权请联系网站删除谢谢5m(j)=i;j=j+1;endendfor t=1:length(m);s(n)=10*rem(m(t),10)+fix(m(t)/10); %挑选出的素数进行位置交换if isprime(s(n))==1 %再挑选出交换绝对素数r(k)=m(t);k=k+1;endn=n+1;enddisp(['所有两位绝对素数:',num2str(r)])T5:y1=fn1(40)/(fn1(30)+fn1(20)) %函数调用y2=fn2(40)/(fn2(30)+fn2(20))实验六:T1:x=linspace(0,2*pi,101);y=(0.5+3*sin(x)./(1+x.^2)).*cos(x); plot(x,y);T2:x=linspace(0,2*pi,100);y1=x.^2;y2=cos(2*x);y3=y1.*y2;subplot(2,2,1);plot(x,y1,'r:',x,y2,'y-',x,y3,'b-.'); subplot(2,2,2);plot(x,y1,'r:');subplot(2,2,3);plot(x,y2,'y-'); subplot(2,2,4);plot(x,y3,'b-.');T2-3:x=linspace(0,2*pi,10);y1=x.^2;y2=cos(2*x);y3=y1.*y2;subplot(3,4,1);bar(x,y1,'r');axis([0,7,0,40]); subplot(3,4,2);stairs(x,y1,'y');axis([0,7,0,40]); subplot(3,4,3);stem(x,y1,'b');axis([0,7,0,40]); subplot(3,4,4);fill(x,y1,'g');axis([0,7,0,40]); subplot(3,4,5);bar(x,y2,'r');axis([-1,7,-1,1]); subplot(3,4,6);stairs(x,y2,'y');axis([-1,7,-1,1]); subplot(3,4,7);stem(x,y2,'b');axis([-1,7,-1,1]); subplot(3,4,8);fill(x,y2,'g');axis([-1,7,-1,1]); subplot(3,4,9);bar(x,y3,'r');axis([0,7,-30,50]); subplot(3,4,10);stairs(x,y3,'y');axis([0,7,-30,50]); subplot(3,4,11);stem(x,y3,'b');axis([0,7,-30,50]); subplot(3,4,12);fill(x,y3,'g');axis([0,7,-30,50]);T3:x=linspace(-5,5,100);y=[];for x0=x;if x0<=0;y=[y,(x0+sqrt(pi))/exp(2)];elsey=[y,1/2*log(x0+sqrt(1+x0^2))]; endendsubplot(1,2,1);plot(x,y);仅供学习与交流,如有侵权请联系网站删除谢谢6for i=1:length(x)if x(i)<=0y(i)=(x(i)+sqrt(pi))/exp(2);elsey(i)=1/2*log(x(i)+sqrt(1+x(i)^2)); endendsubplot(1,2,2);plot(x,y);T4:a=input('请输入a:');b=input('请输入b:');n=input('请输入n:');theta=0:0.001:2*pi;y=a.*sin(b+n.*theta);polar(theta,y);T5:x=linspace(-5,5,21);y=linspace(0,10,31);[x,y]=meshgrid(x,y);z=cos(x).*cos(y).*exp(-sqrt(x.^2+y.^2)/4);subplot(1,2,1);surf(x,y,z);subplot(1,2,2);contour3(x,y,z);T6:s=0:pi/2;t=0:3*pi/2;[s,t]=meshgrid(s,t);x=cos(s).*cos(t);y=cos(s).*sin(t);z=sin(s);surf(x,y,z);shading interp;实验八:T1:A=rand(1,30000); disp('均值为:');mean(A)disp('标准方差为:');std(A)disp('最大元素为:');max(A)disp('最小元素为:');min(A)k=find(A>0.5);b=length(k);disp('大于0.5的随机数个数占总数的百分比:');sprintf('%f%%', b/300)T2:P=45+50*rand(100,5)disp('最高分及序号:');[Y,U]=max(P,[],1)disp('最低分及序号:');[Y1,U1]=min(P,[],1)disp('每门课平均分:');mean(P,1)disp('每门课的标准方差:');std(P,0,1)s=sum(P,2);disp('总分最高分:');[Y2,U2]=max(s,[],1)disp('总分最低分:');[Y3,U3]=min(s,[],1)[zcj,xsxh]=sort(s,1,'descend') %descend 降序T3:仅供学习与交流,如有侵权请联系网站删除谢谢7h=6:2:18;t1=[18.0,20.0,22.0,25.0,30.0,28.0,24.0]; t2=[15.0,19.0,24.0,28.0,34.0,32.0,30.0]; t=6.5:2:17.5;T1=interp1(h,t1,t,'spline')T2=interp1(h,t2,t,'spline')T4:x=1:10:101;y=log10(x);p=polyfit(x,y,5)x1=1:0.01:101;y1=log10(x1);y2=polyval(p,x1);plot(x1,y1,'r-',x1,y2,'b-.');T5:P1=[1,2,4,0,5];P2=[0,0,0,1,2];P3=[0,0,1,2,3];P4=conv(P2,P3);sp1=length(P1);sp2=length(P4);P=[zeros(1,sp2-sp1),P1]+P4x=roots(P)A=[-1,1.2,-1.4;0.75,2,3.5;0,5,2.5];Ax=polyval(P,A)AA=polyvalm(P,A)实验九:T1:f=inline('det([x x^2 x^3;1 2*x 3*x^2;0 2 6*x])');i=1;x=1;while x<=3.01g(i)=f(x);i=i+1;x=x+0.01;enddx=diff(g)/0.01;dx(1)dx(101)dx(length(g)-1)T2:f1=inline('sqrt(cos(t.^2)+4*sin(2*t).^2+ 1)') f2=inline('log(1+x)./(1+x.^2)')I1=quad(f1,0,2*pi)I2=quad(f2,0,2*pi)T3:A=[6,5,-2,5;9,-1,4,-1;3,4,2,-2;3,-9,0,2]; B=[-4,13,1,11]';x1=A\B[L,U]=lu(A);x2=U\(L\B)[Q,R]=qr(A);x3=R\(Q\B)fun:function F=fun(X);x=X(1);y=X(2);z=X(3);F(1)=sin(x)+y^2+log(z)-7;F(2)=3*x+2^y-z^3+1;F(3)=x+y+z-5;T5:f=inline('3*x+sin(x)-exp(x)');fzero(f,1.5)X=fsolve('fun',[1 11]',optimset('Display','off'))实验十:T1:x=sym('6');y=sym('5');z=(x+1)/(sqrt(3+x)-sqrt(y))T2:syms x y;t=sym('5135');factor(x^4-y^4)factor(t)T3:syms beta1 beta2 x;simplify(sin(beta1)*cos(beta2)-cos(beta1)*sin(beta2))simplify((4*x^2+8*x+3)/(2*x+1))T4:syms a b c d e f g h k;p1=[0,1,0;1,0,0;0,0,1];p2=[1,0,0;0,1,0;1,0,1];仅供学习与交流,如有侵权请联系网站删除谢谢8A=[a,b,c;d,e,f;g,h,k];B=p1*p2*AB1=inv(B)B1*B;tril(B)det(B)T5:syms x t a yf1=(x*(exp(sin(x))+1)-2*(exp(tan(x))-1))/sin(x)^3;limit(f1,x,0) %(1)f2=(sqrt(pi)-sqrt(acos(x)))/sqrt(x+1); limit(f2,x,-1,'right') %(2)f3=(1-cos(2*x))/x;diff(f3,x,1) %(3)diff(f3,x,2)A=[a^x,t^3;t*cos(x),log(x)];diff(A,x,1) &(4)diff(A,t,2)diff(diff(A,x,1),t,1)f5=(x^2-2*x)*exp(-x^2-y^2-x*y);yx=-diff(f5,x,1)/diff(f5,y,1) %(5) fxy=diff(diff(f5,x,1),y,1)x=sym('0');y=sym('1');eval(fxy)T6:x=sym('x');f1=1/(1+x^4+x^8);int(f1,x)f2=1/(asin(x))^2/sqrt(1-x^2);int(f2,x)f3=(x^2+1)/(x^4+1);int(f3,x,0,inf)f4=exp(x)*(1+exp(x))^2;int(f4,x,0,log(2))实验十一:T1:syms n x ;S1=symsum(1/(2*n-1),n,1,10)S2=symsum(n^2*x^(n-1),n,1,inf)S3=symsum(n^2/5^n,n,1,inf)T2:x=sym('x');f=log(x);taylor(f,x,6,1)T3:x1=solve('log(1+x)-5/(1+sin(x))=2')x2=solve('x^2+9*sqrt(x+1)-1=0')x3=solve('3*x*exp(x)+5*sin(x)-78.5=0') [x4,y4]=solve('sqrt(x^2+y^2)-100=0','3*x+5*y-8=0')T4:dsolve('D2y+4*Dy+29*y=0','y(0)=0','D y(0)=15','x')T5:[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')仅供学习与交流,如有侵权请联系网站删除谢谢9。

Matlab程序设计教程(第二版)课后参考答案

Matlab程序设计教程(第二版)课后参考答案

Matlab程序设计教程(第二版)课后参考答案第一章实验1.实验一第1题2.自己验证总结Matlab的主要优点3.实验一第2题4.实验一第3题5.网站思考练习1.启动见书P5 退出见书P62.Matlab主要功能见书P2 4种功能3.分行输入行末尾加续行符,即三个点“…”4.见书P115.直接在命令窗口输入fac第二章实验1.(1) w=sqrt(2)*(1+0.34245*10^(-6))w = 1.4142(2) a=3.5;b=5;c=-9.8;x=(2*pi*a+(b+c)/(pi+a*b*c)-exp(2))/(tan(b+c)+a)x =0.9829(3) a=3.32;b=-7.9;y=2*pi*a^2*((1-pi/4)*b-(0.8333-pi/4)*a)y = -128.4271(4) t=[2,1-3i;5,-0.65];z=0.5*exp(2*t)*log(t+sqrt(1+t.*t))z =1.0e+004 *0.0048 + 0.0002i 0.0048 - 0.0034i1.58992.0090 - 1.3580i2.实验二第1题3.实验二第2题4. H=hilb(5);P=pascal(5);Hh=det(H)Hh = 3.7493e-012Hp=det(P)Hp = 1Th=cond(H)Th = 4.7661e+005Tp=cond(P)Tp = 8.5175e+003条件数越趋近于1,矩阵的性能越好,所以帕斯卡矩阵性能更好。

5. A=[-29,6,18;20,5,12;-8,8,5]A =-29 6 1820 5 12-8 8 5[V,D]=eig(A)V =0.7130 0.2803 0.2733-0.6084 -0.7867 0.87250.3487 0.5501 0.4050D =-25.3169 0 00 -10.5182 00 0 16.8351V为A的特征向量,D为A的特征值。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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.*BA^3A.^3A/BB\A[A,B][A([1,3],:);B^2]%第三题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 25] B=[3 0 16;17 -6 9;0 23 -4;9 7 0;4 13 11]C=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];A^2B=[E,(R+R*S);O,S^2]%第二题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,5][V,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,81]B=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=xif x0<0&x0~=-3y=[y,x0*x0+x0-6];elseif x0>=0&x0<5&x0~=2&x0~=3y=[y,x0*x0-5*x0+6];elsey=[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>100disp('输入的成绩需在0到100之间,请重新输入:')s=input('请输入一个成绩(0分到100分之间):');elsebreak;endendswitch fix(s/10) %对成绩做出等级判断 case {9,10}disp('A')case 8disp('B')case 7disp('C')case 6disp('D')otherwisedisp('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>5disp('超出了矩阵的行数,矩阵的最后一行为:')a(5,:)elsedisp(['矩阵的第',num2str(n),'行为:'])a(n,:)end%实验四循环结构程序设计%第一题程序一s=0;n=input('n=?');for i=1:ns=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-5Xn=Xn1;Xn1=a/(b+Xn);n=n+1;if n==500break;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)==0flag=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:nf2=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=x^2');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=x^2');%设置标题subplot(1,3,2);plot(x,y2);title('y2=cos(2*x)');subplot(1,3,3);plot(x,y3);title('y3=x^2*cos(2*x)');%(3)x=linspace(-2*pi,2*pi,20);y1=x.^2;subplot(2,2,1);%分区bar(x,y1);title('y1=x^2的条形图');%设置标题subplot(2,2,2);stairs(x,y1);title('y1=x^2的阶梯图');subplot(2,2,3);stem(x,y1);title('y1=x^2的杆图');subplot(2,2,4);fill(x,y1,'r');%如果少了'r'则会出错title('y1=x^2的填充图');%其他的函数照样做。

相关文档
最新文档