matlab程序设计与应用第二版习题答案

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

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函数是以矩阵为单位进行计算,sqrt函数是以矩阵中的元素进行计算

%实验三选择程序结构设计

%第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

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)

相关文档
最新文档