好文档 - 专业文书写作范文服务资料分享网站

MATLAB程序设计与应用(刘卫国)》(第二版)-课后实验答案

天下 分享 时间: 加入收藏 我要投稿 点赞

《MATLAB程序设计与应用(刘卫国)》(第二版)

实验一 MATLAB运算基础 1.(1) z1=2*sin(pi*85/180)/(1+exp(2))

(2)x=[2,1+2i;-0.45,5]; z2=log(x+sqrt(1+x.^2))/2 (3)a=-3.0:0.1:3.0;

z3=0.5*(exp(0.3*a)-exp(-0.3*a)).*sin(a+0.3)+log((0.3+a)/2) (4)t=0:0.5:2.5;

z4=(t>=0&t<1).*t.^2+(t>=1&t<2).*(t.^2-1)+(t>=2&t<3).*(t.^2-2*t+1)

2. A=[12,34,-4;34,7,87;3,65,7];

B=[1,3,-1;2,0,3;3,-2,7]; (1)a=A+6*B

b=A-B+eye(size(A)) %I=eye(size(A)) (2)c=A*B d=A.*B (3)e=A^3 f=A.^3 (4)g=A/B h=B\\A

(5)m=[A,B]

n=[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]; (1)C=A*B

(2)D=C(3:end,2:end)

4.(1) a=100:999;

b=rem(a,21)==0; c=find(b); d=length(c)

(2)ch='Just as Bianhaiman said,Xiehong is ...'; e=find(ch>='A'&ch<='Z'); ch(e)=[]

实验二 MATLAB矩阵分析与处理 1. E=eye(3);

R=rand(3,2); O=zeros(2,3); S=diag([1,2]); A=[E,R+R*S;O,S^2]; a=A^2

2. H=hilb(5);

P=pascal(5); Hh=det(H) Hp=det(P) Th=cond(H) Tp=cond(P)

3. A=rand(5,5);

a=det(A) %行列式的值 b=trace(A) %行列式的迹 c=rank(A) %行列式的秩 d=norm(A) %行列式的范数

4. A=[-29,6,18;20,5,12;-8,8,5];

[V,D]=eig(A)

5. 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]'; (1)x=inv(A)*b

(2)b1=[0.95,0.67,0.53]'; x=inv(A)*b1 (3)c=cond(A)

6. A=rand(3,3);

B=sqrtm(A) C=sqrt(A)

实验三 选择结构程序设计 1. x=input('请输入x的值:');

if x<0&x~=-3 y=x*x+x-6;

elseif x>=0&x<5&x~=2&x~=3 y=x*x-5*x+6; else

y=x*x-x-1;

end y

2.(if语句)

score=input('请输入成绩:'); if score>=0&score<60 disp('E');

elseif score>=60&score<70 disp('D');

elseif score>=70&score<80 disp('C');

elseif score>=80&score<90 disp('B');

elseif score>=90&score<=100 disp('A'); else

disp('您输入的成绩有误,请重新输入!'); end

(switch语句)

score=input('请输入成绩:'); switch fix(score/10) case num2cell(0:5) disp('E'); case {6}

disp('D'); case {7}

disp('C'); case {8}

disp('B'); case {9}

disp('A'); otherwise

disp('您输入的成绩有误,请重新输入!'); end

3. a=input('请输入工号:','s');

b=input('请输入该员工的工时数:'); if b>120

y=120*84+(b-120)*(1+15/100)*84; elseif b<60 y=b*84-700; else

y=b*84; end y

4.a=10+fix(89*rand());

b=10+fix(89*rand());

c=input('请输入一个运算符:','s'); if c=='+'

disp(a+b); elseif c=='-' disp(a-b); elseif c=='*' disp(a*b); else

disp(a/b); end

5. A=rand(5,6);

n=1:5;

n=input('请输入n的值:'); try

B=A(n,:); catch

B=A(end,:); end B

lasterr

实验四 循环结构程序设计 1.(循环结构)

n=input('请输入n的值:'); y=0;

for i=1:n

y=y+1/i/i; pi=sqrt(6*y); end pi

(向量运算)

n=input('请输入n的值:');

i=1:n; y=1./i.^2; f=sum(y); pi=sqrt(f*6)

2. y=0;

n=0; while 1 n=n+1;

y=y+1/(2*n-1); if y>=3 break end end n

y=y-1/(2*n-1)

3. a=input('输入a的值:');

b=input('输入b的值:'); x0=1.0; n=1;

x1=a/(b+x0);

while abs(x1-x0)>=10^(-5)|n<=500 x1=a/(b+x0); x0=x1; 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

a=max(f) %最大值 b=min(f) %最小值 c=sum(f) %各数之和 d=length(find(f>0)) %正数的个数 e=length(find(f==0)) %零的个数 f=length(find(f<0)) %负数的个数

5. n=0;

s=0;

MATLAB程序设计与应用(刘卫国)》(第二版)-课后实验答案

《MATLAB程序设计与应用(刘卫国)》(第二版)实验一MATLAB运算基础1.(1)z1=2*sin(pi*85/180)/(1+exp(2))(2)x=[2,1+2i;-0.45,5];z2=log(x+sqrt(1+x.^2))/2(3)a=-3.0:0.1:3.0;z3=0.5*(exp(0.3*a)-
推荐度:
点击下载文档文档为doc格式
4uv8g9mxvk7g2499ip734mu7526kg600fr7
领取福利

微信扫码领取福利

微信扫码分享