MATLAB书上第二章练习答案

发布 2022-07-14 14:29:28 阅读 7488

p39第二章练习。

命令:a=magic(5)

a1=a'a2=inv(a)

输出结果:a =

a1 =

a2 =

命令:eig(a)

输出结果:ans =

命令:s31=sum(a)

s32=mean(a)

输出结果:s31 =

s32 =

命令:s41=sum(a')

s42=mean(a')

输出结果:s41 =

s42 =

命令:b=[1;2;3;4;5];

c1=a\b

输出结果:c1 =

命令:s=1:0.2:20

s21=s*s'

s22=s'*s

s21是一个数,s22是矩阵,它们不相等。

命令:a=[1 2 ;3 4];

b=[5 5;0 5];

c=a*b-b*a

输出结果:c =

a*b-b*a不等于0。

命令:a=[1 2 ;3 4];

b=[5 0;0 5];

c=a*b-b*a

输出结果:c =

a*b-b*a等于0。

命令:a51=2:2:26

a52=1:14

a53=12:-5:-4

format long

a54=logspace(-4,3,6)

输出结果:a51 =

a52 =

a53 =

a54 =1.0e+003 *

命令:a51=diag(ones(1,10)*2010)

命令:a52=ones(10)*10-diag(ones(1,10)*10)

命令:a53=-10*ones(10)+diag(ones(1,10)*20)

命令:b=1:10;

a54=ones(10)-triu(ones(10))+diag(10*b)

命令:format rat

a55=zeros(10,10);

for i=1:10

for j=1:10

a55(i,j)=1/(i+j);

endenda55

命令:b=2:5;

c=diag(10*b);

a56=zeros(5,5);

a56(1:4,2:5)=c;

d=diag(2010*ones(1,5));

a56=a56+d;

a567.(1) a=[8.25 10.3 6.68 12.03 16.85 17.51 9.30 10.65];

b=[15 16.25 9.9 18.25 20.8 24.15 15.5 18.25];

c=[1205 580 395 2104 1538 810 694 1032];

zsr=b*c'

zlr=(b-a)*c'

2)确定哪种产品利润最大。

lr=(b-a).*c

k=1;zdlr=lr(k);

for i=1:8

if lr(i)>zdlr

k=i;zdlr=lr(k);

endend

k确定哪种产品利润最小。

k1=1;zxlr=lr(k1);

for i=1:8

if lr(i) k1=i;

zxlr=lr(k1);

endend

k13)对产品收入排序。

sr=b.*c

sr1=zeros(1,8);

for k=2:8

i=1;x=sr(k);

while (sr(k) i=i+1;

endif i for j=k-1:-1:i

sr(j+1)=sr(j);

endsr(i)=x;

endendsr结果:

总收入:zsr =150951.4

总利润:zlr =49543.03

第4种产品利润最大,第3种产品利润最小。

收入按从大到小排列:

8.(1) a=[2 -3 1+2*i 1-2*i 0 -6];

b=poly(a)

c1=polyval(b,0.8)

c2=polyval(b,-1.2)

这个多项式的系数为:1 5 -9 -1 72 -180 0

这个多项式在x=0.8处的值是-100.2179

这个多项式在x=-1.2处的值是293.2900

2)球缺体积公式:

设排开水的体积为,根据阿基米德定律,

因此, 输入命令:

c=[1,-300,0,2.4*10^6];

roots(c)

结果为:ans =

因,故。9. s=1;k=1;

while 1/(2*k-1)>=10^(-6)

k=k+1;

s=s+1/(2*k-1)*(1)^(k+1); ends

结果为:s = 0.7854

10. fenshu=input('enter the fenshu: '

if fenshu>=90

disp(''

elseif fenshu>=80

disp(''

elseif fenshu>=60

disp('°

else disp('°

end11. wanshu=0;k=0;

for i=2:500

yinshu=0;

for j=1:i/2

if rem(i,j)==0

yinshu=yinshu+j;

endend

if yinshu==i

k=k+1;

wanshu(k)=i;

endend

wanshu

1,500]之间的完数为:6 28 496

12. function n=jixian(ebxirong)

n=1;while abs((1+1/n)^n-exp(1))>ebxirong

n=n+1;

endn=max(n-1,1);

13. k=1;

for i=6:2:10000

jx=3;jd=i-jx;

n1=0;n2=0;

for m=2:jd/2

if rem(jd,m)==0

n2=n2+1;

endend

while (n1+n2)~=0

jx=jx+2;jd=i-jx;

n1=0;n2=0;

for m=2:jx/2

if rem(jx,m)==0

n1=n1+1;

endend

for m=2:jd/2

if rem(jd,m)==0

n2=n2+1;

endend

end[i,jx,jd]

end14. for n=4:1000

i=n+1;

n1=0;for m=2:i/2

if rem(i,m)==0

n1=n1+1;

endend

while n1~=0

i=i+1;

n1=0;

第二章MATLAB

2 matlab 一个强有力的科学计算与。控制系统cad软件。2.1 概述。matlab的名字由matrix和laboratory两词的前三个字母组合而成,始创者是时任美国新墨西哥大学计算机科学系主任的cleve moler教授。于1984年由mathworks公司推出 dos版 1993年推出ma...

第二章MATLAB

2 matlab 一个强有力的科学计算与。控制系统cad软件。2.1 概述。matlab的名字由matrix和laboratory两词的前三个字母组合而成,始创者是时任美国新墨西哥大学计算机科学系主任的cleve moler教授。于1984年由mathworks公司推出 dos版 1993年推出ma...

MATLAB第二章

目录。第二章matlab基础 1 2.1 变量和数组 1 2.2 matlab变量的初始化 3 2.2.1 用赋值语句初始化变量 3 2.2.2 用捷径表达式 short expressions 来赋值 4 2.2.3 用内置函数来初始化 5 2.2.4用关键字input初始化变量 6 测试2.1 ...