MATLAB全部实验及答案

  • 格式:doc
  • 大小:1.95 MB
  • 文档页数:28

下载文档原格式

  / 28
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

MATLAB全部实验及答案

实验一、MATLAB基本操作

实验内容及步骤

4、有关向量、矩阵或数组的一些运算

(1)设A=15;B=20;求C=A+B与c=a+b?

(2)设A=[1 2 3;4 5 6;7 8 9],B=[9 8 7;6 5 4;3 2 1];求A*B与

A.*B?

A*B就是线代里面的矩阵相乘 A.*B是对应位置的元素相乘(3)设a=10,b=20;求i=a/b=0.5与j=a\b=2?

(4)设a=[1 -2 3;4 5 -4;5 -6 7]

请设计出程序,分别找出小于0的矩阵元素及其位置(单下标、全

下标的形式),并将其单下标转换成全下标。

clear,clc

a=[1 -2 3;4 5 -4;5 -6 7];

[x,y]=find(a<0);

c=[];

for i=1:length(x)

c(i,1)=a(x(i),y(i));

c(i,2)=x(i);

c(i,3)=y(i);

c(i,4)=(y(i)-1)*size(a,2)+x(i);

end

c

(5)在MATLAB命令行窗口运行A=[1,2;3,4]+i*[5,6;7,8];看结果如何?如果改成运行A=[1,2;3,4]+i[5,6;7,8],结果又如何?前面那

个是虚数矩阵,后面那个出错

(6)请写出完成下列计算的指令:

a=[1 2 3;3 4 2;5 2 3],求a^2=?,a.^2=?

a^2= 22 16 16

25 26 23

26 24 28

a.^2=

1 4 9

9 16 4

25 4 9

(7)有一段指令如下,请思考并说明运行结果及其原因

clear

X=[1 2;8 9;3 6];

X( : ) 转化为列向量

(8)使用三元组方法,创建下列稀疏矩阵

2 0 8 0

0 0 0 1

0 4 0 0

6 0 0 0

方法一:

clear,clc

data=[2 8 1 4 6];

ir=[1 1 2 3 4 ];

jc=[1 3 4 2 1];

s=sparse(ir,jc,data,4,4);

full(s)

方法二:不用三元组法

clear,clc

a=zeros(4,4);

a(1,[1,3])=[2,8];

a(2,4)=1;

a(3,2)=4;

a(4,1)=6;

a

(9) 写出下列指令的运行结果

>> A = [ 1 2 3 ]; B = [ 4 5 6 ];

>> C = 3.^A

>> D = A.^B

5、 已知⎪⎭⎫

⎝⎛+⋅=-334sin 234πt e y t 若需要计算t ∈[-1,1],取间隔为

0.01,试计算出相对应的y 值。

用步长为0.01的for 循环 搞定

实验二、MATLAB 运算基础

实验内容及步骤

(一)

2、设有矩阵A和B,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

(2)将矩阵C的右下角3x2子矩阵赋给D

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

D=c([3:5],[2:3])

D=c([3,4,5],[2,3])

3、已知A=[23 10 -78 0;41 -45 65 5;32 5 0 32;6 -54 92

14],取出其前3行构成矩阵B,其前两列构成矩阵C,其左下角3x2

子矩阵构成矩阵D,B与C的乘积构成矩阵E,分别求E

~E|~D。

解:A=[23 10 -78 0;41 -45 65 5;32 5 0 32;6 -54

92 14];

B=A([1:3],:)

c=A(:,[1,2])

D=A([2:4],[1,2])

E=B*c

E

4、使用函数,实现矩阵左旋90°或右旋90°的功能

解:A=[23 10 -78 0;41 -45 65 5;32 5 0 32;6 -54 92 14] rot90(A)

rot90(A,3)

5、求S=20+21+22+23+24+……+210的值(提示:利用求和函数与累乘积函数。)

解:a=2*ones(1,10)

b=cumprod(a)

c=sum(b)+1

aa=2*ones(1,11)

aa(1)=1

bb=cumprod(aa)

cc=sum(bb)

(二)

1、求[100,999]之间能被61整除的数及其个数(提示:先利用冒号表达式,

再利用find和length函数。)

2、建立一个字符串向量,删除其中的大写字母(提示:利用find函数和空

矩阵。)

解:1)clear,clc 2)clear,clc

t=[100:999]; b=['asSldSjfkSlGjFhslFf']

i=find(rem(t,61)==0); d=find(b<='Z'&b>='A');

t(i) b(d)=[]