Matlab实验六循环结构程序设计答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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)列数组