Matlab实验六循环结构程序设计答案

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

.实验五循环结构程序设计实验内容

(1)编写程序实现求两矩阵A*B,A.*B.

A*B

>> A=input('输入矩阵A:');

B=input('输入矩阵B:');

C=zeros(size(A,1),size(B,2));

for ii=1:size(A,1)

for jj=1:size(B,2)

for k=1:size(A,2)

C(ii,jj)=C(ii,jj)+A(ii,k)*B(k,jj);

end

end

end

C

输入矩阵A:[1 2;3 4]

输入矩阵B:[5 6;7 8]

C =

19 22

43 50

A.*B

>> A=input('请输入矩阵A:');

B=input('请输入矩阵B:');

if size(A)==size(B)

[m,n]=size(A);

for i=1:m

for j=1:n

C(i,j)=A(i,j)*B(i,j);

end

end

disp('输出A.*B:')

C

else

disp('无效')

end

请输入矩阵A:[1 2 3]

请输入矩阵B:[4 5 6]

输出A.*B:

C =

4 10 18

(2)编写程序实现求矩阵的转置。

>> A=input('请输入矩阵A:');

[m,n]=size(A);

B=zeros(n,m);

for i=1:m;

for j=1:n;

B(i,j)=A(j,i);

end

end

disp(B)

请输入矩阵A:[1 2 3;4 5 6;7 8 9]

1 4 7

2 5 8

3 6 9

小结实验心得体会

通过本次实验,我慢慢理解了循环控制结构的执行过程,掌握了一些循环结构程序设计方法,但还不是很熟练。我了解了一些MATLAB的编程方法和循环结构程序设计方法,但都不是特别的熟练,都有待加强。

实验二一维二维数组的创建和寻访

一、实验目的

1、掌握一维数组、二维数组创建和寻访的几种方法。

2、区别数组运算和矩阵运算的差别。

3、熟悉执行数组运算的常用数组操作函数。

4、掌握数组运算中的关系和逻辑操作及常用的关系、逻辑函数。

5、掌握“非数”、“空”数组在MA TLAB中的应用。

二、实验主要仪器与设备

三、预习要求

做实验前必须认真复习第三章MATLAB的数值数组及向量化运算功能。

四、实验内容及实验步骤

1、一维数组的创建方法有哪几种?举例说明。

答:一维数组的创建方法有:

①递增/递减型一维数组的创建:冒号生成法:x=a:inc:b

线性(或对数)定点法:x=linspace(a,b,n),x=logspace(a,b,n)

②逐个元素输入法:如x=[0.1,sin(pi/5),-exp(-3),-2*pi]

③运用MA TLAB函数生成法:例ones,rand等。

2、输入以下指令,并写出运行结果。本例演示:数组元素及子数组的各种标识和寻访格式;冒号的使用;end的作用。

A=zeros(2,6) %创建(2×6)的全零数组

A(:)=1:12 %赋值号左边:单下标寻访(2×6) 数组A的全部12个元素

%赋值号右边:拥有12个元素的一维数组

A(2,4) %双下标:A数组的第2行第4列元素

A(8) %单下标:数组A的第8个元素

A(: , [1,3]) %双下标:显示A的“第1列和第3列上全部行的元素”

A([1, 2, 5, 6]') %单下标:把A数组第1,2,5,6个元素排成列向量

A(: , 4:end) %双下标:显示A的“从第4起到最后一列上全部行的元素”

%在此end用于“列标识”,它表示“最后一列”

A(2,1:2:5)=[-1, -3, -5] %把右边的3个数分别赋向A数组第2行的第1,3,5个元素位置

B=A([1, 2, 2, 2], [1, 3, 5]) %取A数组的1,3,5列的第1行元素作为B的第1行

%取A数组的1,3,5列的第2行分别作为B的第2,3,4行

L=A<3 %产生与A维数相同的“0,1”逻辑数组

A(L)=NaN %把逻辑1标识的位置上的元素赋为“非数”

运行结果:

A =

0 0 0 0 0 0

0 0 0 0 0 0

A =

1 3 5 7 9 11

2 4 6 8 10 12

ans =

8

ans =

8

ans =

1 5

2 6

ans =

1

2

5

6

ans =

7 9 11

8 10 12

A =

1 3 5 7 9 11

-1 4 -3 8 -5 12

B =

1 5 9

-1 -3 -5

-1 -3 -5

-1 -3 -5

L =

1 0 0 0 0 0

1 0 1 0 1 0

A =

NaN 3 5 7 9 11

NaN 4 NaN 8 NaN 12

3、输入以下指令,写出运行结果并说明reshape,diag,repmat,flipud,fliplr,rot90的作用。本例演示:数组操作函数的用法;空阵[ ]删除子数组的用法。

a=1:8 %产生(1×8)一维数组

A=reshape(a, 4, 2) %将一维数组a重排成(4×2)的二维数组

A=reshape(A, 2, 4) %再把(4×2)数组重组成(2×4)数组

b=diag(A) %取(2×4)数组的对角元素形成(2×1)列数组

相关文档
最新文档