内容发布更新时间 : 2024/11/7 21:13:52星期一 下面是文章的全部内容请认真阅读。
matlab程序设计与应用第二版习题答案
【篇一:matlab程序设计与应用(第二版)实验答案】
%实验一 matlab运算基础 %第1题 %(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=0t1)+(t.^2-1).*(t=1t2)+(t.^2-2*t+1).*(t=2t3) %第2题
a=[12 34 -4;34 7 87;3 65 7]; b=[1 3 -1;2 0 3;3 -2 7]; a+6*b
a-b+eye(size(a)) a*b a.*b a^3 a.^3 a/b b\\a [a,b]
[a([1,3],:);b^2] %第3题
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*b f=size(c)
d=c(f(1)-2:f(1),f(2)-1:f(2)) whos
%第4题 %(1):
a=100:999; b=rem(a,21);
c=length(find(b==0)) %(2):
a=lsdhksdlkklsdkl; k=find(a=aa=z); a(k)=[]
%实验二 matlab矩阵分析与处理 %第1题 e=eye(3); r=rand(3,2); o=zeros(2,3); s=diag([2,3]); a=[e,r;o,s]; a^2
b=[e,(r+r*s);o,s^2] %第2题 h=hilb(5)
p=pascal(5) hh=det(h) hp=det(p) th=cond(h) tp=cond(p) %第3题
a=fix(10*rand(5)) h=det(a)
trace=trace(a) rank=rank(a) norm=norm(a) %第4题
a=[-29,6,18;20,5,12;-8,8,5] [v,d]=eig(a) %数学意义略 %第5题方法一 %(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)
%第5题方法二 a=hilb(4) a(:,1)=[] a(4,:)=[]
b=[0.95,0.67,0.52]; x=inv(a)*b
b1=[0.95,0.67,0.53]; x1=inv(a)*b1 n=cond(b) n1=cond(b1)
na=cond(a) %矩阵a为病态矩阵 %第6题
a=[1,4,9;16,25,36;49,64,81] b=sqrtm(a)
c=sqrt(a) %sqrtm函数是以矩阵为单位进行计算,矩阵中的元素进行计算
%实验三 选择程序结构设计 %第1题程序一
x=[-5.0,-3.0,1.0,2.0,2.5,3.0,5.0]; y=[]; %建立存放所有y值的矩阵 for x0=x
if x00x0~=-3
y=[y,x0*x0+x0-6];
elseif x0=0x05x0~=2x0~=3 y=[y,x0*x0-5*x0+6]; else
y=[y,x0*x0-x0-1]; end end
x%输出所有x y%输出所有y %第1题程序二
x=[-5,-3,1,2,2.5,3,5]; y=[];
for a=1:7
sqrt函数是以 if x(a)0x(a)~=-3
y=[y,(x(a))^2+x(a)-6];
elseif x(a)=0x(a)5x(a)~=2x(a)~=3 y=[y,(x(a))^2-5*x(a)+6]; else
y=[y,x(a)*x(a)-x(a)-1]; end end
%第2题程序一
x=input(请输入一个百分制成绩:); if x100|x0
disp(您输入的成绩不是百分制成绩,请重新输入。); else
if x=100x=90 disp(a);
elseif x=89x=80 disp(b);
elseif x=79x=70 disp(c);
elseif x=69x60 disp(d); else
disp(e); end end
%第2题程序二
s=input(请输入一个成绩(0分到100分之间):); %s用于存放成绩
while 1%判断输入成绩的合理性 if s0|s100
disp(输入的成绩需在0到100之间,请重新输入:) s=input(请输入一个成绩(0分到100分之间):); else break; end end
switch fix(s/10)%对成绩做出等级判断 case {9,10} disp(a)