当前位置:文档之家› MATLAB程序设计与应用

MATLAB程序设计与应用

MATLAB程序设计与应用
MATLAB程序设计与应用

实验一 MATLAB 运算基础

第二题:已知

A=??????????7653877344-3412 B=???

?

??????72-33021-31

求下列问题:

1) A+6*B 和A-B+I 2) A*B 和A.*B 3) A^3 A.^3 4) A/B B\A

5) [A,B] [A(1,3),:B.^2] 解:

>> A=[12 34 -4;34 7 87;3 65 7]; B=[1 3 -1;2 0 3;3 -2 7]; I=[1 0 0;0 1 0;0 0 1]; (1)

>> A+6*B

ans =

18 52 -10 46 7 105 21 53 49

>> A-B+I

ans =

12 31 -3 32 8 84 0 67 1

(2) >> A*B

ans =

68 44 62 309 -72 596 154 -5 241

>> A.*B

ans =

12 102 4

68 0 261

9 -130 49

(3)

>> A^3

ans =

37226 233824 48604 247370 149188 600766 78688 454142 118820

>> A.^3

ans =

1728 39304 -64 39304 343 658503 27 274625 343

(4)

>> A/B

ans =

16.4000 -13.6000 7.6000

35.8000 -76.2000 50.2000

67.0000 -134.0000 68.0000

>> B\A

ans =

109.4000 -131.2000 322.8000

-53.0000 85.0000 -171.0000

-61.6000 89.8000 -186.2000

(5)

>> [A,B]

ans =

12 34 -4 1 3 -1 34 7 87 2 0 3 3 65 7 3 -2 7

>> [A([1,3],:);B^2]

ans =

12 34 -4 3 65 7 4 5 1 11 0 19 20 -5 40

第三题:设有矩阵A 和B

A=???

???

?

????

???

??252423222120191817161514

131211109

87654321 B=?????

???

????????111340794-23096-171603

1) 求他们的乘积C

2) 将矩阵C 的右下角3*2子矩阵赋给D 3) 查看matlab 工作空间的使用情况 解:

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

C =

93 150 77 258 335 237 423 520 397 588 705 557 753 890 717

(2)

>> D=C(3:5,2:3)

D =

520 397

705 557

890 717

第四题:完成下列操作:

1)求【100,999】之间能被21的数的个数

2)建立一个字符串向量,删除其中的大写字母

解:(1)

>> A=100:999;

>> B=rem(A,21);

>> C=length(find(B==0))

C =

43

(2)

>> A='lsdhKSDLKklsdkl';

>> k=find(A>='A'&A<='Z');

>> A(k)=[]

A =

Lsdhklsdkl

实验二 MATLAB矩阵分析与处理

第三题: 建立一个5 5矩阵,求它的行列式的值,迹,秩,和数。

解:

>> A=[1 8 9 4 7;45 89 26 17 0;95 85 23 13 6;75 65 70 54 63;57 26 19 11 2]; >> H=det(A)

H =

13739916

>> Trace=trace(A)

Trace =

169

>> Rank=rank(A)

Rank =

5

>> Norm=norm(A)

Norm =

218.5530

第四题: 已知

A=

????

??????--5881252018629

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

解:

>> A=[-29 6 18;20 5 12;-8 8 5]; >> [V,D]=eig(A) V =

0.7130 0.2803 0.2733 -0.6084 -0.7867 0.8725 0.3487 0.5501 0.4050 D =

-25.3169 0 0 0 -10.5182 0 0 0 16.8351

第五题:下面是一个线性方程组:

???????

?

??=?????????????????

?

????

????52.067.095.0615

14

1514131

4131

21321x x x

(1)求方程的解。

(2)将方程右边向量元素3b 改为0.53,再求解,并比较3b 的变化和解的相对变化。 (3)计算系数矩阵A 的条件数并分析结论。

解:(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 x =

1.2000 0.6000

0.6000 (2)

>> B=[0.95,0.67,0.53]'; >> x=inv(A)*B x =

3.0000 -6.6000

6.6000 (3)

>> cond(A)

ans =

1.3533e+003

实验三 选择程序结构设计

第一题:求分段函数的值

Y=??

???++1-x -x 6x 5-x 6-x 22

2x

用if 语句实现,分别输入x=-5.0,3.0,1.0,2.5,3.0,5.0时的y 值 解:

>> x=[-5.0,-3.0,1.0,2.0,2.5,3.0,5.0]; >> 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=[y,x0*x0-5*x0+6]; else

y=[y,x0*x0-x0-1]; end end >> x x =

-5.0000 -3.0000 1.0000 2.0000 2.5000 3.0000 5.0000 >> y y =

14.0000 11.0000 2.0000 1.0000 -0.2500 5.0000 19.0000

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

1) 分别写入if 语句和switch 语句实现

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

第三题:硅谷公司员工的工资计算方法为

1)工作时间超过120小时者,超过的部分加15%

2)工作时数低于60小时的,扣发700元

3)其余按每小时84元

解:

>> n=input('请输入员工工号:');

请输入员工工号:

>> h=input('该员工工作时数是:');

该员工工作时数是:

>> 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),'号员工','的应发工资为',num2str(x)]);

号员工的应发工资为

第四题:设计程序,完成两位数的加减乘除四则运算,即产生两位随机整数,再输入一个运算符号,作相应的运算,并显示相应的结果。

解:

>> a=fix(10+(99-10)*rand(1,2))

x=a(1);

y=a(2);

t=input('请输入运算符号:','s');

if t=='+'

z=x+y;

elseif t=='-'

z=x-y;

elseif t=='*'

z=x*y; elseif t=='/' z=x/y; end

disp([num2str(x),t,num2str(y),'=',num2str(z)]) a =

81 22

请输入运算符号:

第五题:建立5*6矩阵,要求输出第n 行元素。当n 超过矩阵的行数时,自动转入输出矩阵最后一行的元素,并给出出错信息。 解:

>> a=rand(5,6);

>> n=input('请输入您要输出矩阵的第几行:'); 请输入您要输出矩阵的第几行: >> if n>5

disp('超出了矩阵的行数,矩阵的最后一行为:') a(5,:) else

disp(['矩阵的第',num2str(n),'行为:']) a(n,:) end

矩阵的第行为:

ans =

Empty matrix: 0-by-6

实验四 循环结构程序设计

第一题: 根据公式

22222

1 (3121116)

n

++++=

π,求π的近似值。当n 分别取100,1000,10000时,结果是多少?(要:分别用循环结构和向量运算(使用sum 函数)来实现。)

解: >> s=0; >> n=100;

>> for i=1:n s=s+1/i/i; end

PI=sqrt(6*s) pi PI =

3.1321 >> s=0; >> n=1000; >> for i=1:n s=s+1/i/i; end

PI=sqrt(6*s) pi PI =

3.1406

>> s=0; >> n=10000; >> for i=1:n s=s+1/i/i; end

PI=sqrt(6*s) pi PI =

3.1415 第二题:根据1

21...51311-++++

=n y ,求: (1)y<3时的最大n 值。

(2)与(1)的n 值对应的y 值 。 解: >> y=0; >> n=1;

>> while(y<3) y=y+1/(2*n-1); n=n+1;

end

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

2.9944 n =

56

第三题:考虑以下迭代公式: n

n x b a

x +=+1 其中a ,b 为正的常数。

(1)编写程序求迭代的结果,迭代的终止条件为5110-+≤-n n x x ,迭代初值0x =1.0,迭代次数不超过500次。

(2)如果迭代过程收敛于r ,那么r 的准确值是2

42a

b b +±-,当(a ,b )的值取(1,

1),(8,3),(10,0.1)时,分别对迭代结果和准确值进行比较。 解:

>> a=input('a=?'); a=?

>> b=input('b=?'); b=?

>> Xn=1;

Xn1=a/(b+Xn); n=0;

while abs(Xn1-Xn)>1e-5 Xn=Xn1;

Xn1=a/(b+Xn); n=n+1; if n==500 break; end end n Xn1

r1=(-b+sqrt(b*b+4*a))/2

r2=(-b-sqrt(b*b+4*a))/2 n =

Xn1 =

[] r1 =

[] r2 =

[]

第四题:已知:

???????>+-=======---3

,23,12,01,132132

1n f f f f n f n f n f n n n n

求1f --100f 中:

(1)最大值,最小值,各数之和。

(2)正数,零,负数的个数。 解:(1)

>> for i=1:100 if i==1 f(i)=1;

elseif i==2 f(i)=0; elseif i==3 f(i)=1; else

f(i)=f(i-1)-2*f(i-2)+f(i-3); end end

>> max(f)

ans =

4.3776e+011

>> min(f)

ans =

-8.9941e+011

>> sum(f)

ans =

-7.4275e+011

(2)

>> length(find(f>0))

ans =

49

>> length(find(f==0))

ans =

2

>> length(find(f<0))

ans =

49

第五题:若两个连续自然数的乘积减1是素数,则称这两个连续自然数是亲密数对,该素数是亲密素数。例如,2 3-1=5,由于5是素数,所以2和3 是亲密数对,5是亲密对数。求{2,50}区间:

(1)亲密数对的对数。

(2)与上述亲密数对对应的所有亲密素数之和。

解:

>> s=0; n=0;

>> for i=2:49

b=i*(i+1)-1;

m=fix(sqrt(b));

for j=2:m

if rem(b,j)==0

break

end

end

if j==m

n=n+1;

s=s+b;

end

end

n

s

n =

28

s =

21066

实验六高层绘图操作

第二题:已知y1=x^2,y2=cos(2x),y3=y1*y2,完成下列操作

1)在同一坐标系中的不同颜色和线型绘制三条曲线

2)以子图像绘制三条曲线

3)分别用条形图,阶梯图,杆图和填充图绘制三条曲线

解:(1)

>> x=linspace(-2*pi,2*pi,100);

>> y1=x.^2;

>> y2=cos(2*x);

>> y3=y1.*y2;

>> plot(x,y1,'b-',x,y2,'r:',x,y3,'y--');

>>

-8

-6-4-202468

-30-20

-10

10

20

30

40

>> text(4,16,'\leftarrow y1=x^2');

>> text(6*pi/4,-1,'\downarrow y2=cos(2*x)');

>> text(-1.5*pi,-2.25*pi*pi,'\uparrow y3=y1*y2'); (2):

>> x=linspace(-2*pi,2*pi,100); >> y1=x.^2;

>> y2=cos(2*x); >> y3=y1.*y2;

>> subplot(1,3,1); >> plot(x,y1); >>

-8

-6-4-202468

05101520253035

40

>> title('y1=x^2'); >> subplot(1,3,2); >> plot(x,y2); >>

-8

-6

-4

-2

2

4

6

8

-1-0.8-0.6-0.4-0.200.20.40.60.8

1

>> title('y2=cos(2*x)'); >> subplot(1,3,3); >> plot(x,y3); >>

-8

-6-4-202468

-30-20

-10

10

20

30

40

>> title('y3=x^2*cos(2*x)');

(3)

>> x=linspace(-2*pi,2*pi,20); >> y1=x.^2;

>> subplot(2,2,1); >> bar(x,y1); >>

-8

-6-4-202468

05101520253035

40

>> title('y1=x^2的条形图'); >> subplot(2,2,2); >> stairs(x,y1); >>

-8

-6-4-202468

05101520253035

40

>> title('y1=x^2的阶梯图'); >> subplot(2,2,3); >> stem(x,y1); >>

0510152025303540

>> title('y1=x^2的杆图'); >> subplot(2,2,4); >> fill(x,y1,'r'); >>

-8

-6-4-202468

05101520253035

40

>> title('y1=x^2的填充图'); (2)

>> x=linspace(-2*pi,2*pi,20); y2=cos(2*x); subplot(2,2,1); bar(x,y2);

title('y2=cos(2*x)的条形图'); subplot(2,2,2); stairs(x,y2);

title('y2=cos(2*x)的阶梯图'); subplot(2,2,3); stem(x,y2);

title('y2=cos(2*x)的杆图'); subplot(2,2,4); fill(x,y2,'r');

title('y2=cos(2*x)的填充图');

《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);

Matlab编程与应用习题和一些参考答案

Matlab 上机实验一、二 3.求下列联立方程的解???????=+-+-=-+=++-=--+4 1025695842475412743w z y x w z x w z y x w z y x >> a=[3 4 -7 -12;5 -7 4 2;1 0 8 -5;-6 5 -2 10]; >> b=[4;4;9;4]; >> c=a\b 4.设???? ??????------=81272956313841A ,??????????-----=793183262345B ,求C1=A*B’;C2=A’*B;C3=A.*B,并求上述所有方阵的逆阵。 >> A=[1 4 8 13;-3 6 -5 -9;2 -7 -12 -8]; >> B=[5 4 3 -2;6 -2 3 -8;-1 3 -9 7]; >> C1=A*B' >> C2=A'*B >> C3=A.*B >> inv(C1) >> inv(C2) >> inv(C3) 5.设 ?? ????++=)1(sin 35.0cos 2x x x y ,把x=0~2π间分为101点,画出以x 为横坐标,y 为纵坐标的曲线。 >> x=linspace(0,2*pi,101); >> y=cos(x)*(0.5+(1+x.^2)\3*sin(x)); >> plot(x,y,'r') 6.产生8×6阶的正态分布随机数矩阵R1, 求其各列的平均值和均方差。并求该矩阵全体数的平均值和均方差。 (mean var ) a=randn(8,6) mean(a) var(a) k=mean(a) k1=mean(k) i=ones(8,6) i1=i*k1 i2=a-i1 i3=i2.*i2 g=mean(i3) g2=mean(g)

刘卫国版MATLAB程序设计与应用课后实验六八九

实验六 高层绘图操作 %第一题: 程序代码如下: x=linspace(0,2*pi,101); y=(0.5+3*sin(x)./(1+x.^2)).*cos(x); plot(x,y) 01234567 -1 -0.5 0.5 1 1.5 %第二题: %(1) 程序代码如下: x=linspace(-2*pi,2*pi,100); y1=x.^2; y2=cos(2*x); y3=y1.*y2; plot(x,y1,'b-',x,y2,'r:',x,y3,'y--'); text(4,16,'\leftarrow y1=x^2'); text(6*pi/4,-1,'\downarrow y2=cos(2*x)'); text(-1.5*pi,-2.25*pi*pi,'\uparrow y3=y1*y2');

-8 -6 -4 -2 2 4 6 8 -30-20 -10 10 20 30 40 %(2) 程序代码如下: x=linspace(-2*pi,2*pi,100); y1=x.^2; y2=cos(2*x); y3=y1.*y2; subplot(1,3,1);%分区 plot(x,y1); title('y1=x^2');%设置标题 subplot(1,3,2); plot(x,y2); title('y2=cos(2*x)'); subplot(1,3,3); plot(x,y3); title('y3=x^2*cos(2*x)');

-10 10 0510 15202530 35 40y1=x 2 -10 10 -1-0.8 -0.6 -0.4-0.200.20.4 0.6 0.8 1y2=cos(2*x) -10 10 -30-20 -10 10 20 30 40 y3=x 2*cos(2*x) %(3) 程序代码如下: x=linspace(-2*pi,2*pi,20); y1=x.^2; subplot(2,2,1);%分区 bar(x,y1); title('y1=x^2的条形图');%设置标题 subplot(2,2,2); stairs(x,y1); title('y1=x^2的阶梯图'); subplot(2,2,3); stem(x,y1); title('y1=x^2的杆图'); subplot(2,2,4); fill(x,y1,'r');%如果少了'r'则会出错 title('y1=x^2的填充图'); %其他的函数照样做。

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

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):

MATLAB程序设计与应用(第二版)

阅阅读读时时::请请选选择择““视视图图||文文档档结结构构图图””,,弹弹出出文文档档中中的的标标题题链链接接。。数学软件 MATLAB 程序设计与应用

第1章MATLAB系统环境 1.1 MATLAB概貌 1.2 MATLAB环境的准备 1.3 MATLAB操作界面 1.4 MATLAB帮助系统 自上世纪80年代以来,出现了科学计算语言,亦称数学软件。 MATLAB Mathematica Mathcad Maple LINDO LINGO 1.1 MATLAB概貌p3 MATLAB 是MATrix LABoratory(矩阵实验室)的缩写。 1984年由Math Works 公司推出,现已成为国际公认的优秀的工程应用开发环境,是影响最大,流行最广的科学计算语言。 1.1.1 MATLAB的发展

1. 从MATLAB 4.2c开始,每个版本增加了一个建造编号; 2. 例如MATLAB7.6的建造编号是R2008a。说明MATLAB7.6与MATLAB2008a是等同的; 3. 对于建造编号,正规化以后,每年出两个版本。一般来说。a是测试版,b是正式版。a是前半 年出,b是后半年出。 教材采用MATLAB7.0(R14,2004) 实验室采用MATLAB 7.8(R2009a,2009.3,汉化) 1.1.2 MATLAB的主要功能p4 ◆数值计算和符号计算功能 ◆绘图功能 ◆语言体系 ◆MATLAB工具箱 (1) 数值计算和符号计算功能 MATLAB以矩阵作为数据操作的基本单位,还提供了十分丰富的数值计算函数。 MATLAB先后和著名的符号计算语言Maple与MuPAD(从MATLAB 2008b开始使用MuPAD)相结合,使得MATLAB具有符号计算功能。 (2) 绘图功能 可以绘制二维和三维图形。 MATLAB提供了两个层次的绘图操作: ●对图形句柄进行的低层绘图操作; ●建立在低层绘图操作之上的高层绘图操作。 (3) 语言体系 MATLAB具有程序结构控制、函数调用、数据结构、输入输出、面向对象等程序语言特征,而且简单易学、编程效率高。 MATLAB是解释性语言,不能脱离MATLAB环境而独立运行。 (4) MATLAB工具箱 MATLAB包含两部分内容:基本部分和各种可选的工具箱。 MATLAB工具箱分为两大类:功能性工具箱和学科性工具箱。 基本部分 构成MATLAB的核心内容,也是使用和构造工具箱的基础。 功能性工具箱 主要用来扩充其符号计算功能、可视建模仿真功能及文字处理功能等。 学科性工具箱 Control System Toolbox 控制系统工具箱 Signal Processing Toolbox 信号处理工具箱 Neural Network Toolbox 神经网络工具箱 Optimization Toolbox 最优化工具箱 Financial Toolbox 金融工具箱 Statistics Toolbox 统计学工具箱 开始→工具箱 MATLAB具备很强的开放性 除内部函数外,所有MATLAB基本文件和各工具箱文件都是可读、可改的源文件,用户可通过对源文件的修改或加入自己编写的文件去构成新的专用工具箱。

MATLAB程序设计及应用(第二版)课后实验答案

。 Matlab课后实验题答案 《 实验一 MATLAB运算基础 1. 先求下列表达式的值,然后显示MATLAB工作空间的使用情况并保存全部变量。 (1) 0 12 2sin85 1 z e = + (2) 21 ln( 2 z x =,其中 212 0.455 i x + ??=?? -?? (3) 0.30.3 3 0.3 sin(0.3)ln, 3.0, 2.9,,2.9,3.0 22 a a e e a z a a - -+ =++=--

(4) 22 42011 122123t t z t t t t t ?≤

) 3. 设有矩阵A 和B 1234 53 166789101769,11 121314150 23416171819209 7021222324254 1311A B ???? ????-??? ?????==-??? ? ???????????? (1) 求它们的乘积C 。 (2) 将矩阵C 的右下角3×2子矩阵赋给D 。 (3) 查看MATLAB 工作空间的使用情况。 4. 完成下列操作: (1) 求[100,999]之间能被21整除的数的个数。 (2) 建立一个字符串向量,删除其中的大写字母。 解:(1) 结果:

MATLAB程序设计与应用课后习题答案

西安科技大学MATLAB程序设计 专业:信息与计算科学 班级:1001班 学号:1008060129 姓名:刘仲能 2012年6月27日

实验一 2.已知: ??? ? ? ?????-= 765 3 8773443412A ,???? ? ?????--=72 3 302131 B 求下列表达式的值: (1)A+6*B 和A-B+I (其中I 为单位矩阵) (2)A*B 和A.*B (3)A^3和A.^3 (4)A/B 及B\A (5)[A,B]和 [A([1,3],:);B^2]

3.设有矩阵A 和B ????? ?? ? ????????= 2524 23 22 21 2019181716151413121110987654321A ,??????? ? ????????--=1113 4 079423096171603 B (1) 求它们的乘积 C 。 (2) 将矩阵C 的右下角3×2子矩阵赋给D 。 (3) 查看MATLAB 工作空间的使用情况 (1) (2) (3)

4.完成下列操作 (1)求[100,999]之间能被21整除的数的个数。(2)建立一个字符串向量,删除其中的大写字母。 (1)(2)

实验二 3.建立一个5×5矩阵,求它的行列式值、迹、秩和范数。 运行截图: A 矩阵的行列式值、迹、秩分别如下: 范数如下: 4.已知 ???? ? ?????--= 58 8 1252018629A 求A 的特征值及特征向量,并分析其数学意义。 运行截图:

5.下面是一个线性方程组:???? ??????= ???? ? ????????? ? ?????52.067.095.06/15 /14 /15 /14/13 /14/13/12 /1321x x x (1)求方程的解; (2)将方程右边向量元素改为0.53,在求解,并比较的变化和解的相对 变化; (3)计算系数矩阵A 的条件数并分析结论。 (2) 变大,其解中,相对未变化前的的解:x1变大,x2变小,x3变大。 (3) 由于A 矩阵的条件数很大,故当线性方程组中的b 变大时,x 也将发生很大的变

Matlab程序设计与应用第二版刘卫国

实验 T1: %%第一小题 z1=2*sin(85*pi/180)/(1+exp(2)) %%第二小题x=[2,1+2i;-0.45,5]; z2 %%第三小题 a=-3.0:0.1:3.0; 0.3)+log((0.3+a)/2) %%第四题 t=0:0.5:2.5 z4=(t>=0&t<1).*(t.A2)+(t>=1 &t<2).*(t 八2-1)+(t>=2&t<3).*(t.A2-2*t+1) T2: A=[12,34,-4;34,7,87;3,65,7] B=[1,3,-1;2,0,3;3,-2,7] disp ('A+6*B='); disp(A+6*B); disp('A-B+I=');disp(A-B+eye(3)); disp('A*B=');

disp(A*B); disp('A.*B='); disp(A.*B); disp('A A3='); disp(AT); disp('A.A3二'); disp(A.A3); disp('A/B='); disp(A/B); disp('B\A='); disp(B\A); disp('[A,B]='); disp([A,B]); disp('[A([1,3],:);BA2]='); disp([A([1,3],:);BA2]); T3: z=1:25; A=reshape(z,5,5)'; B=[3,0,16;17,-6,9;0,23,-4;9,7,0;4,13,11];C=A*BD=C(3:5,2:3) T4-1: a=100:999; b=find(rem(a,21)==0); c=length(b)

MATLAB程序设计与应用(第二版)实验参考答案

MATLAB程序设计与应用(第二版)实验参考答案 %实验一MATLAB运算基础 %第一题 %(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>=0&t<1)+(t.^2-1).*(t>=1&t<2)+(t.^2-2*t+1).*(t>=2&t<3) %第二题 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] %第三题 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 %第四题 %(1): A=100:999; B=rem(A,21); C=length(find(B==0)) %(2): A='lsdhKSDLKklsdkl';

k=find(A>='A'&A<='Z'); A(k)=[] %实验二MATLAB矩阵分析与处理 %第一题 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] %第二题 H=hilb(5) P=pascal(5) Hh=det(H) Hp=det(P) Th=cond(H) Tp=cond(P) %第三题: A=fix(10*rand(5)) H=det(A) Trace=trace(A) Rank=rank(A) Norm=norm(A) %第四题: A=[-29,6,18;20,5,12;-8,8,5] [V,D]=eig(A) %数学意义略 %第五题方法一: %(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) %第五题方法二: A=hilb(4) A(:,1)=[] A(4,:)=[] B=[0.95,0.67,0.52]';

(完整word版)MATLAB程序设计及应用(第二版)课后实验答案

Matlab课后实验题答案 实验一 MATLAB运算基础 1. 先求下列表达式的值,然后显示MATLAB工作空间的使用情况并保存全部变量。 (1) 0 12 2sin85 1 z e = + (2) 21 ln( 2 z x =+,其中 212 0.455 i x + ??=?? -?? (3) 0.30.3 3 0.3 sin(0.3)ln, 3.0, 2.9,,2.9,3.0 22 a a e e a z a a - -+ =++=--L (4) 2 2 4 2 01 112 2123 t t z t t t t t ?≤< ? =-≤< ? ?-+≤< ? ,其中t=0:0.5:2.5 2. 已知:

1234413134787,2033657327A B --???? ????==???? ????-???? 求下列表达式的值: (1) A+6*B 和A-B+I (其中I 为单位矩阵) (2) A*B 和A.*B (3) A^3和A.^3 (4) A/B 及B\A (5) [A,B]和[A([1,3],:);B^2] 解: 3. 设有矩阵A 和B 1234 53 166789101769,11 121314150 23416171819209 7021222324254 1311A B ???? ????-??? ?????==-??? ? ???????????? (1) 求它们的乘积C 。 (2) 将矩阵C 的右下角3×2子矩阵赋给D 。 (3) 查看MATLAB 工作空间的使用情况。

4. 完成下列操作: (1) 求[100,999]之间能被21整除的数的个数。 (2) 建立一个字符串向量,删除其中的大写字母。 解:(1) 结果: (2). 建立一个字符串向量 例如: ch='ABC123d4e56Fg9';则要求结果是: 实验二 MATLAB 矩阵分析与处理 1. 设有分块矩阵33 322322E R A O S ?????? =? ??? ,其中E 、R 、O 、S 分别为单位矩阵、随机矩阵、零矩

电子书_MATLAB程序设计与应用(第二版)

阅阅读读时时::请请选选择择““视视图图 || 文文档档结结构构图图””,,弹弹出出文文档档中中的的标标题题链链接接。。 数学软件 MATLAB 程序设计与应用

第1章MATLAB系统环境 1.1 MATLAB概貌 1.2 MATLAB环境的准备 1.3 MATLAB操作界面 1.4 MATLAB帮助系统 自上世纪80年代以来,出现了科学计算语言,亦称数学软件。 MATLAB Mathematica Mathcad Maple LINDO LINGO 1.1 MATLAB概貌p3 MATLAB 是MATrix LABoratory(矩阵实验室)的缩写。 1984年由Math Works 公司推出,现已成为国际公认的优秀的工程应用开发环境,是影响最大,流行最广的科学计算语言。 1.1.1 MATLAB的发展 2. 例如MATLAB7.6的建造编号是R2008a。说明MATLAB7.6与MATLAB2008a是等同的;

3. 对于建造编号,正规化以后,每年出两个版本。一般来说。a是测试版,b是正式版。a是前半 年出,b是后半年出。 教材采用MATLAB7.0(R14,2004) 实验室采用MATLAB 7.8(R2009a,2009.3,汉化) 1.1.2 MATLAB的主要功能p4 ◆数值计算和符号计算功能 ◆绘图功能 ◆语言体系 ◆MATLAB工具箱 (1) 数值计算和符号计算功能 MATLAB以矩阵作为数据操作的基本单位,还提供了十分丰富的数值计算函数。 MATLAB先后和著名的符号计算语言Maple与MuPAD(从MATLAB 2008b开始使用MuPAD)相结合,使得MATLAB具有符号计算功能。 (2) 绘图功能 可以绘制二维和三维图形。 MATLAB提供了两个层次的绘图操作: ●对图形句柄进行的低层绘图操作; ●建立在低层绘图操作之上的高层绘图操作。 (3) 语言体系 MATLAB具有程序结构控制、函数调用、数据结构、输入输出、面向对象等程序语言特征,而且简单易学、编程效率高。 MATLAB是解释性语言,不能脱离MATLAB环境而独立运行。 (4) MATLAB工具箱 MATLAB包含两部分内容:基本部分和各种可选的工具箱。 MATLAB工具箱分为两大类:功能性工具箱和学科性工具箱。 基本部分 构成MATLAB的核心内容,也是使用和构造工具箱的基础。 功能性工具箱 主要用来扩充其符号计算功能、可视建模仿真功能及文字处理功能等。 学科性工具箱 Control System Toolbox 控制系统工具箱 Signal Processing Toolbox 信号处理工具箱 Neural Network Toolbox 神经网络工具箱 Optimization Toolbox 最优化工具箱 Financial Toolbox 金融工具箱 Statistics Toolbox 统计学工具箱 开始→工具箱 MATLAB具备很强的开放性 除内部函数外,所有MATLAB基本文件和各工具箱文件都是可读、可改的源文件,用户可通过对源文件的修改或加入自己编写的文件去构成新的专用工具箱。

Matlab程序设计与应用第二版刘卫国

实验一:T1: %%第一小题 z1=2*sin(85*pi/180)/(1+exp(2)) %%第二小题 x=[2,1+2i;-0.45,5]; z2 %%第三小题 a=-3.0:0.1:3.0; 0.3)+log((0.3+a)/2) %%第四题 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) T2: A=[12,34,-4;34,7,87;3,65,7] B=[1,3,-1;2,0,3;3,-2,7] disp ('A+6*B='); disp(A+6*B); disp('A-B+I=');disp(A-B+eye(3)); disp('A*B=');

disp(A*B); disp('A.*B='); disp(A.*B); disp('A^3='); disp(A^3); disp('A.^3='); disp(A.^3); disp('A/B='); disp(A/B); disp('B\A='); disp(B\A); disp('[A,B]='); disp([A,B]); disp('[A([1,3],:);B^2]='); disp([A([1,3],:);B^2]); T3: z=1:25; A=reshape(z,5,5)'; B=[3,0,16;17,-6,9;0,23,-4;9,7,0;4,13,11];C=A*BD=C(3:5,2:3) T4-1: a=100:999;

b=find(rem(a,21)==0); c=length(b) T4-2: a=input('请输入一个字符串:','s'); b=find(a>='A'&a<='Z'); a(b)=[]; disp(a); 实验二: T1: E=eye(3),R=rand(3,2),O=zeros(2,3),S=d iag([1,2]); A=[E,R;O,S] disp('A^2='); disp(A^2); disp('[E,R+RS;O,S^2]'); B=[E,R+R*S;O,S^2] T2: H=hilb(5) P=pascal(5)Hh=det(H) Hp=det(P) Th=cond(H)

最新MATLAB程序设计与应用(第二版)课后实验答案

Matlab 课后实验题答案 实验一 MATLAB 运算基础 1. 先求下列表达式的值,然后显示MATLAB 工作空间的使用情况并保存全部变量。 (1) 0 12 2sin851z e =+ (2) 221 ln(1)2z x x = ++,其中2120.45 5i x +??=??-?? (3) 0.30.330.3sin(0.3)ln , 3.0, 2.9,,2.9,3.022a a e e a z a a --+= ++=-- (4) 22 42011 122123t t z t t t t t ?≤=0&t<1).*(t.^2)+(t>=1&t<2).*(t.^2-1)+(t>=2&t<3) .*(t.^2-2*t+1) 2. 已知:

1234413134787,2033657327A B --???? ????==???? ????-???? 求下列表达式的值: (1) A+6*B 和A-B+I (其中I 为单位矩阵) (2) A*B 和A.*B (3) A^3和A.^3 (4) A/B 及B\A (5) [A,B]和[A([1,3],:);B^2] 解: M 文件: 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(3) A*B A.*B A^3 A.^3 A/B B\A [A,B] [A([1,3],:);B^2] 3. 设有矩阵A 和B 1234 53 166789101769,11 121314150 23416171819209 7021222324254 1311A B ???? ????-??? ?????==-??? ? ???????????? (1) 求它们的乘积C 。 (2) 将矩阵C 的右下角3×2子矩阵赋给D 。 (3) 查看MATLAB 工作空间的使用情况。 解:. 运算结果: E=(reshape(1:1:25,5,5))';F=[3 0 16;17 -6 9;0 23 -4;9 7 0;4 13 11]; C= E*F H=C(3:5,2:3) C = 93 150 77

MATLAB程序设计与应用

实验一 MATLAB 运算基础 第二题:已知 A=??????????7653877344-3412 B=??? ? ??????72-33021-31 求下列问题: 1) A+6*B 和A-B+I 2) A*B 和A.*B 3) A^3 A.^3 4) A/B B\A 5) [A,B] [A(1,3),:B.^2] 解: >> A=[12 34 -4;34 7 87;3 65 7]; B=[1 3 -1;2 0 3;3 -2 7]; I=[1 0 0;0 1 0;0 0 1]; (1) >> A+6*B ans = 18 52 -10 46 7 105 21 53 49 >> A-B+I ans = 12 31 -3 32 8 84 0 67 1 (2) >> A*B ans = 68 44 62 309 -72 596 154 -5 241 >> A.*B

ans = 12 102 4 68 0 261 9 -130 49 (3) >> A^3 ans = 37226 233824 48604 247370 149188 600766 78688 454142 118820 >> A.^3 ans = 1728 39304 -64 39304 343 658503 27 274625 343 (4) >> A/B ans = 16.4000 -13.6000 7.6000 35.8000 -76.2000 50.2000 67.0000 -134.0000 68.0000 >> B\A ans = 109.4000 -131.2000 322.8000 -53.0000 85.0000 -171.0000 -61.6000 89.8000 -186.2000 (5) >> [A,B] ans =

matlab程序设计与应用(第二版)第三章部分课后答案解析

第三章1. (1A=eye(3 (2A=100+100*rand(5,6 (3A=1+sqrt(0.2*randn(10,50 (4B=ones(size(A (5A+30*eye(size(A (6B=diag(diag(A 2. B=rot90(A C=rot90(A,-1 3. B=inv(A ;A的逆矩阵 C=det(A ;A的行列式的值 D=A*B E=B*A D=E 因此A与A-1是互逆的。 4. A=[4 2 -1;3 -1 2;12 3 0]; b=[2;10;8];

x=inv(A*b x = -6.0000 26.6667 27.3333 5. (1 diag(A ;主对角线元素ans = 1 1 5 9 triu(A ;上三角阵 ans = 1 -1 2 3 0 1 -4 2 0 0 5 2

0 0 0 9 tril(A ;下三角阵ans = 1 0 0 0 5 1 0 0 3 0 5 0 11 15 0 9 rank(A ;秩ans = 4 norm(A ;范数 ans = 21.3005 cond(A ;条件数ans = 11.1739 trace(A ;迹 ans = 16 (2略

6. A=[1 1 0.5;1 1 0.25;0.5 0.25 2] A = 1.0000 1.0000 0.5000 1.0000 1.0000 0.2500 0.5000 0.2500 2.0000 [V,D]=eig(A V = 0.7212 0.4443 0.5315 -0.6863 0.5621 0.4615 -0.0937 -0.6976 0.7103 D = -0.0166 0 0 0 1.4801 0 0 0 2.5365

MATLAB程序设计和应用课后习题答案解析

专业技术资料分享 西安科技大学MATLAB程序设计 专业:信息与计算科学 班级: 1001班 学号:1008060129 姓名:刘仲能 2012年6月27日

实验一 2.已知: ?? ??? ?????-=76538773443412A ,???? ? ?????--=723302131B 求下列表达式的值: (1)A+6*B 和A-B+I (其中I 为单位矩阵) (2)A*B 和A.*B (3)A^3和A.^3 (4)A/B 及B\A (5)[A,B]和 [A([1,3],:);B^2]

3.设有矩阵A 和B ????? ?? ?????????=25242322212019181716151413121110987654321A ,??????? ?????????--= 11134079423096171603B (1) 求它们的乘积C 。 (2) 将矩阵C 的右下角3×2子矩阵赋给D 。 (3) 查看MATLAB 工作空间的使用情况 (1) (2) (3)

4.完成下列操作 (1)求[100,999]之间能被21整除的数的个数。 (2)建立一个字符串向量,删除其中的大写字母。 (1) (2) 实验二 3.建立一个5×5矩阵,求它的行列式值、迹、秩和范数。

运行截图: A 矩阵的行列式值、迹、秩分别如下: 范数如下: 4.已知 ?? ?? ? ?????--=5881252018629A 求A 的特征值及特征向量,并分析其数学意义。 运行截图:

5.下面是一个线性方程组:?? ??? ?????=???? ????????????????52.067.095.06/15/14/15/14/13/14/13/12/1321x x x (1) 求方程的解; (2) 将方程右边向量元素 改为0.53 ,在求解,并比较 的变化和解的相 对变化; (3) 计算系数矩阵A 的条件数并分析结论。 (2) 变大,其解中,相对未变化前的 的解:x1变大,x2变小,x3变大。 (3) 由于A 矩阵的条件数很大,故当线性方程组中的b 变大时,x 也将发生很大的变化,即数值稳定性较差。 实验三 3.硅谷公司员工的工资计算方法如下: (1)工作时数超过120小时者,超过部分加发15%; (2)工作时数低于60小时者,扣发700元; (3)其余按每小时84元计发。

Matlab程序设计及应用实验讲义

Matlab程序设计及应用实验讲义 自编 电子科学与工程系 2013.02

实验一 MATLAB 环境与命令窗口 1、实验目的 1)熟悉MATLAB 的操作环境及基本操作方法; 2)掌握MATLAB 的搜索路径及其设置方法; 3)熟悉MATLAB 帮助信息的查阅方法; 2、实验主要仪器设备和材料 计算机PC 一台 2010a 软件 3、实验内容和原理 1、先建立自己的工作目录,再将自己的工作目录设置到MATLAB 的搜索路径下,再试验用help 命令能否查询到自己的工作目录。 2、在MATLAB 环境下验证下面几个例子,并总结MATLAB 的主要优点。 1)绘制正弦曲线和余弦曲线 2)求方程432379230x x x ++-=的全部根 3)求积分()1 0ln 1x x dx +? 4)求解线性方程组234832245917x y z x y z x y z -+=?? ++=??+-=? 3、利用MATLAB 的帮助功能分别查询inv 、plot 、 max 、round 等函数的功能与用法 4、完成下列操作: 1)在MATLAB 命令窗口输入以下命令: x=0:pi/10:2*pi;

y=sin(x); 2)在工作空间窗口选择变量y,再在工作空间窗口选择绘图菜单命令或在工具栏中单击绘图命令按钮,绘制变量的图形,并分析图形的含义。 5、访问MathsWorks公司的主页,查询有关MATLAB的产品信息。 思考与练习 1、如何启动和退出MATLAB的集成环境? 2、简述MATLAB的主要功能。 3、如果一个MATLAB命令包含的字符很多,需要分成多行输入,该如何处理? 4、help命令和look for命令有何区别? 5、在MATLAB环境下,建立一个变量fac,同时又在当前目录下建立了一个M 文件fac.m,如果需要运行fac.m文件,该如何处理?

MATLAB程序设计与应用(刘卫国编)课后实验答案

实验一 MATLAB 运算基础 1. 先求下列表达式的值,然后显示MATLAB 工作空间的使用情况并保存全部变量。 (1) 012 2sin851z e =+ (2) 21ln(2 z x =+,其中2 120.45 5i x +??=? ?-?? (3) 0.30.330.3sin(0.3)ln , 3.0, 2.9,,2.9,3.022a a e e a z a a --+= ++=-- (4) 2242011 122123t t z t t t t t ?≤

- 2. 已知: 1234413134787,2033657327A B --???? ????==???? ????-???? 求下列表达式的值: (1) A+6*B 和A-B+I (其中I 为单位矩阵) (2) A*B 和A.*B (3) A^3和A.^3 (4) A/B 及B\A

(5) [A,B]和[A([1,3],:);B^2] @ 解: 运算结果:

3. 设有矩阵A和B

1234 53 166789101769,11 121314150 23416171819209 7021222324254 1311A B ???? ????-??? ?????==-??? ? ???????????? (1) 求它们的乘积C 。 (2) 将矩阵C 的右下角3×2子矩阵赋给D 。 ( (3) 查看MATLAB 工作空间的使用情况。 解:. 运算结果: ! 4. 完成下列操作: (1) 求[100,999]之间能被21整除的数的个数。 (2) 建立一个字符串向量,删除其中的大写字母。 解:(1) 结果:

相关主题
文本预览
相关文档 最新文档