实验目的
掌握matlab的矩阵运算
掌握matlab的基本语法
掌握matlab中各种数字图像的读写与显示的函数和方法
实验内容
1.生成10*10的二维随机矩阵
实现矩阵的转置与裁剪
将矩阵中的第3到5行置为0,第5到7列置为0
设计思路
1. 生成一个随机的10*10的矩阵;
2. 显示原始矩阵;
3. 实现矩阵的转置;
4. 显示转置后的矩阵;
5. 实现矩阵的裁剪,将矩阵中的第3到5行和第5到7列置为0;
6. 显示裁剪后的矩阵。
代码及注释
% 生成一个随机的10*10的矩阵
A = randi(100,10,10);
% 显示原始矩阵
disp('Original Matrix:');
disp(A);
% 实现矩阵的转置
At = A'; % 使用 A' 进行转置
% 显示转置后的矩阵
disp('Transpose Matrix:');
disp(At);
% 实现矩阵的裁剪
% 将矩阵中的第3到5行和第5到7列置为0
A(3:5,:) = 0; % 将第3到5行置为0
A(:,5:7) = 0; % 将第5到7列置为0
% 显示裁剪后的矩阵
disp('Cropped Matrix:');
disp(A);
显示结果
结果分析
生成的随机矩阵每个元素的数值都是在 1 到 100 之间随机生成的,通过对比原始矩阵、转置后的矩阵、裁剪后的矩阵可以发现:
1. 转置操作会将原矩阵的行变成列,列变成行;
2. 裁剪操作会将矩阵中第3到5行和第5到7列全部置为0。
2. 冒泡法实现将10个元素的排序(不用自带函数)
设计思路
1.生成 10 个随机数,构成一个 10 阶向量;
2. 显示未排序的向量;
3. 使用 for 循环嵌套实现排序,每一次内循环比较相邻元素的大小,并交换位置,直到内循环结束;
4. 显示排序后的向量。
代码及注释
% 生成 10 个随机数
v = randi([1 100], 1, 10);
disp("未排序的向量:");