中南大学matlab课后习题

中南大学matlab课后习题
中南大学matlab课后习题

1·求下列表达式的值。

(1)w=sqrt(2)*(1+0.34245*10^-6)

w =

1.4142

(2)a=3.5;b=5;c=-9.8;

x=(2*pi*a+(c+b)/(pi+a*b*c)-exp(2))/(tan(b+c)+a); x

x =

0.9829

(3)a=3.32;b=-7.9;

y=2*pi*a^2*[(1-pi/4)*b-(0.8333-pi/4)*a];

y

y =

-128.4271

(4)t=[2,1-3i;5,-0.65];

z=1/2*exp(2*t)*log(t+sqrt(1+t^2));

z

z =

1.0e+004 *

0.0057 - 0.0007i 0.0049 - 0.0027i

1.9884 - 0.3696i 1.7706 - 1.0539i

2,已知a,b,求下列表达式的值。

a=[-1,5,-4;0,7,8;3,61,7];b=[8,3,-1;2,5,3;-3,2,0]; (1)a+6*b

ans =

47 23 -10

12 37 26

-15 73 7

a^2-b+eye(3)

ans =

-18 -217 17

22 533 109

21 867 526

(2)a*b

ans =

14 14 16

-10 51 21

125 328 180

a.*b

-8 15 4

0 35 24

-9 122 0

b*a

ans =

-11 0 -15

7 228 53

3 -1 28

(3)a/b

ans =

1.2234 -0.9255

2.9787

-0.9468 2.3511 -0.9574

4.6170 3.8723 13.8936

b\a

ans =

-0.5106 -8.6170 -1.1277

0.7340 17.5745 1.8085

-0.8830 -21.2128 0.4043

(4)[a,b]

ans =

-1 5 -4 8 3 -1

0 7 8 2 5 3

3 61 7 -3 2 0

[a([1,3],:);b^2]

ans =

-1 5 -4

3 61 7

73 37 1

17 37 13

-20 1 9

3.已知a,完成下列操作。

a=[23,10,-0.778,0;41,-45,65,5;32,5,0,32;6,-9.54,54,3.14];

(1)输出a在[10,25]围的全部元素。

k=find(a>10&a<25)

a(k)

k =

1

ans =

23

(2)取出a前3行构成矩阵b,前两列构成矩阵c,右下角3*2子矩阵构成矩阵d,b与c的乘积构成矩阵e。

b=a(1:3,:)

b =

23.0000 10.0000 -0.7780 0 41.0000 -45.0000 65.0000 5.0000 32.0000 5.0000 0 32.0000

c=a(:,1:2)

c =

23.0000 10.0000

41.0000 -45.0000

32.0000 5.0000

6.0000 -9.5400

d=a(2:4,3:4)

d =

65.0000 5.0000

0 32.0000

54.0000 3.1400

e=b*c

e =

1.0e+003 *

0.9141 -0.2239

1.2080

2.7123

1.1330 -0.2103

(3)分别求表达式额e

ans =

0 1

0 0

0 1

e&d

ans =

1 1

0 1

1 1

e|d

ans =

1 1

1 1

1 1

~e|~d

ans =

0 0

1 0

0 0

4,产生5阶希尔伯特矩阵H和5阶帕斯卡矩阵P,且求其行列式的值Hh和Hp以及他们的条件数Th 和Tp,判断哪个矩阵性能更好,为什么?

format rat

H=hilb(5)

H =

1 1/

2 1/

3 1/

4 1/5

1/2 1/3 1/4 1/5 1/6

1/3 1/4 1/5 1/6 1/7

1/4 1/5 1/6 1/7 1/8

1/5 1/6 1/7 1/8 1/9

P=pascal(5)

P =

1 1 1 1 1

1 2 3 4 5

1 3 6 10 15

1 4 10 20 35

1 5 15 35 70

Hh=det(H)

Hh =

1/0

Hp=det(P)

Hp =

1

Th=cond(H)

Th =

476607

Tp=cond(P)

Tp =

178868/21

P矩阵性能更好,因为Tp更接近1.

5.已知A,求A的特征值及特征向量,并分析其数学意义。

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

A =

-29 6 18

20 5 12

-8 8 5

[V,D]=eig(A,'nobalance')

V =

1 361/1013 493/1574

-1227/1438 -1 1

290/593 551/788 331/713

D =

-3595/142 0 0

0 -3755/357 0

0 0 4697/279

第三章

1.从键盘输入一个3位整数,将它反向输出。如输入639,输出为936.

clear

m=input('请输入一个三位数:');

m1=fix(m/100);

m2=rem(fix(m/10),10);

m3=rem(m,10);

m=m1+m2*10+m3*100;

disp(m);

请输入一个三位数:453

354

2.输入一个百分制成绩,要求输出成绩等级A、B、C、D、E。其中90~100分为A,80~89分为B,70~79分为C,60~69分为D,60分以下为E。要求:

(1)分别用if语句和switch语句实现。

(2)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。

c=input('请输入一个百分制分数:');

if c>=90&c<=100 %用if语句实现

disp('A');

elseif c>=80&c<90

disp('B');

elseif c>=70&c<80

disp('C');

elseif c>=60&c<70

disp('D');

elseif c>=0&c<60

disp('E');

else

disp('输入出错');

end

请输入一个百分制分数:88

B

c=input('请输入一个百分制分数:');

switch fix(c/10) %用switch语句实现

case{9,10}

m='A';

case{8}

m='B';

case{7}

m='C';

case{6}

m='D';

casenum2cell(0:5)

m='E';

otherwise

m='输入出错';

end

disp(m);

请输入一个百分制分数:98

A

3.输入20个数,求其中最大数和最小数。要求分别用循环结构和调用MATLAB的max函数、min函数来实现。

a=input('请输入二十个数'); %用循环结构实现

max=a(1);

min=a(1);

for i=1:20;

if max

max=a(i);

end

if min>a(i);

min=a(i);

end

end

max

min

请输入二十个数[ 3 4 6 5 3 44 5 5 5 6 6 5 5 4 3 32 2 2 2 6]

max =

44

min =

2

4.,当a取-3.0、-2.9、-2.8、…、2.8、2.9、3.0时,求各点的函数值。要求分别用顺序结构和循环结构实现。

clear

for a=-3.0:0.1:3.0 %用循环结构实现

y=((exp(0.3*a)-exp(-0.3*a))/2)*sin(a+0.3)+log((0.3+a)/2)

end

y =

0.7388 + 3.1416i

y =

0.7696 + 3.1416i

y =

0.7871 + 3.1416i

y =

0.7913 + 3.1416i y =

0.7822 + 3.1416i y =

0.7602 + 3.1416i y =

0.7254 + 3.1416i y =

0.6784 + 3.1416i y =

0.6196 + 3.1416i y =

0.5496 + 3.1416i y =

0.4688 + 3.1416i y =

0.3780 + 3.1416i y =

0.2775 + 3.1416i y =

0.1680 + 3.1416i y =

0.0497 + 3.1416i y =

-0.0771 + 3.1416i y =

-0.2124 + 3.1416i y =

-0.3566 + 3.1416i y =

-0.5104 + 3.1416i y =

相关主题
相关文档
最新文档