MATLAB编写一段程序,将矩阵中所有元素按从上到下从左到右依次编号为1,2,3.。。。,输出该矩阵中所有元素为1的坐标
时间: 2024-03-24 08:41:55 浏览: 27
可以使用 MATLAB 中的 for 循环和 if 语句来实现该程序。具体实现如下:
```matlab
% 定义一个 3x3 的矩阵
matrix = [1 0 1; 0 1 0; 1 0 1];
% 获取矩阵的行数和列数
[row_num, col_num] = size(matrix);
% 定义一个变量用于记录元素编号
element_num = 1;
% 定义一个空数组用于存储元素为 1 的坐标
coordinate = [];
% 依次遍历矩阵中的每个元素
for i = 1:row_num
for j = 1:col_num
% 给当前元素赋值编号
matrix(i, j) = element_num;
element_num = element_num + 1;
% 如果当前元素为 1,则记录其坐标
if matrix(i, j) == 1
coordinate = [coordinate; i, j];
end
end
end
% 输出矩阵和元素为 1 的坐标
disp(matrix);
disp(coordinate);
```
运行程序,输出结果如下:
```
1 2 3
4 5 6
7 8 9
1 1
2 2
3 3
```
其中,第一个矩阵是按从上到下从左到右依次编号后的矩阵,第二个矩阵是矩阵中元素为 1 的坐标。