MATLAB程序设计与应用(第三版)实验参考答案
实验1 MATLAB系统环境与运算基5
%第1题(略)
%2(略)
%第3
% (1)
zl=2*sin(85*pi/180)/(l+exp(2))
% (2)
x=12;
y=le-5;
z2=pi/(x+y)
%(3)
x=[2,l+2i;-0.45,5];
z2=05*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
A=[12 34 -4;34 7 87;3 65 7];
B=[l 3 -1;2 0 3;3 -2 7];
A*B
A
AA3
A. A3
A/B
B\A
[A,B]
[A([lf3]z:);BA2]
%第5
A=[l 2 3 4 5; 6 7 8 9 10;ll 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
帰求D方法1
F=size(C)
D=C(F(1)-2:F(1),F(2)-1:F(2))
%求D方法2
D=C(end-2:end,end-1:end)
whos
%第6
%(1)
A=100:999;
B=rem(Az21);
C=length(find(B==O))
%(2)
A=1IsdhKSDLKklsdkl';
k=find(A>=fA1&A<=1Z1);
A(k) = []
实验2 MATLAB矩阵处理
%第1
E=eye (3);
R=rand(3,2);
O=zeros (2Z 3);
S=diag([2z3J);
A=[E,R;O,S]
AA2
B=[E,(R+R*S);OZSA2]
%第2
A=fix(10*rand(5))
H=det(A)
Trace=trace(A)
Rank=rank(A)
Norm=norm(A)
%第3
H=hilb(5)
P=pascal(5)
Hh=det(H)
Hp=det(P)
Th=cond(H)
Tp=cond(P)
%第4
A=[-29,6z18;20/5z12;-8/8,5]
[V,D]=eig(A)
M数学意义略
%第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.95z0.67,0.53]
x=inv (A) *B
%(3):
matlab 下载cond(A)
%第5题方法二
A=hilb(4)
A(,l) = []
A(4Z ) = []
B=[0.95f 0.67,0.52] ■;
X=inv(A) *B
Bl=[0.95, 0.67, 0.53] f;
Xl=inv(A)*B1
N=cond(B)
Nl=cond(Bl)
Na=cond (A)乡矩阵A为病态矩阵
实验3顺序结构程序设计
%程序(略)
实验4选择结构程序耐
%第1题程序一
x=[-5.0,-3.0rl.0z2.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=[yz x0*x0-5*x0 + 6];
else
y=[yzx0*x0-x0-l];
end
end
X    *输岀所有x
y    広输岀所有y
%第1题程序二
x=[-5Z-3Z2.5,3,5];
y=[J;
for a=l:7
if x(a)<0&x(a)~=-3
y=[yz (x(a))A2+x(a)-6];
elseif x(a)>=0&x(a)<5&x(a)=2&x(a)~=3
y=[y,(x(a))A2-5*x(a)+6];
else
y= [y, x (a) *x (a) -x (a) -1];
end
end
%第2题程序一
x=input (,请输入一个百分制成绩:,);
if x>100|x<0
disp(-您输入的成绩不是百分制成绩,请重新输入。,);
else
if x<=100&x>=90
disp('A');
elseif x<=89&x>=80
disp('B');
elseif x<=79&x>=70
disp('C');
elseif x<=69&x>60
disp('D');
else
disp('E');
end
end
%第2题程序二
s=input (*请输入一个成绩(0分到100分之间):•); %s用于存放成绩 while 1    *判断输入成绩的合理性
if s<0|s>100
disp(*输入的成绩需在0100之间,请重新输入:,)
s=input (,请输入一个成绩(0分到100分之间):');
else
break;
end
end
switch fix (s/10)    *对成绩做出等级判断
case {9Z10}
disp('A')
case 8
disp('B')
case 7
disp('C')
case 6
disp( 'D')
otherwise
disp('E')
end
%第3
n=input (,请输入员工工号:);
h=input (1该员工工作时数是:,);
if h>120
x= (h-120)*84*(1 + 0.15)+120*84;
elseif h<60
x=h*84-700;
else
x=h*84;
end
disp ([num2str (n) r 1 号员工,r 1 的应发工资为1 / num2str (x)]);
%第4题(还可以用switch语句实现)
a=fix(10+(99-10) *rand(l/2) )    $产生两个随机整数
x=a(l);
y=a(2);
t=input ('请输入运算符号:,JsJ;
if t==f+!
z=x+y;
elseif t==,-1
z=x-y;
elseif t==1 *'
z=x*y;
elseif t==['
z=x/y;
end
disp ( [num2str (x) r tnum2str (y) , 1 =1 z num2str (z)])    咎输岀运算结果
%第5
a=rand(5, 6)    警产生5x6的随机矩阵
n=input (*请输入您要输出矩阵的第几行:,);
if n>5
dispC超出了矩阵的行数,矩阵的最后一行为:,)
a(5,:)
else
disp(['矩阵的第 fznum2str(n)z '行为:'])
a(n,:)
end
实验5循环结构程序设计
%第1题程序一
y=o
n=input('n=?1);
for i=l:n
y=y+l/(2*i-l)/3A(2*i-l);
end
log(2)/2
%第1题程序二
n=input(* n=?');
i=l:n;
y=l./(2*i-l)./3.A(2*i-l);
y=sum(y)
log(2)/2
%第2
y=0;
n=l;
while y<3
y=y+l/(2*n-l);
n=n+l;
end
y=y-l/(2*(n-1)-1)
n=n-2
%第3
a=input (* a=?1);
b=input(lb=?1);
Xn=l;
Xnl=a/(b+Xn);
n=0;

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。