用matlab写一段代码,输入参数为一个3列的矩阵,把第一列数字相同的部分划分成矩阵。
时间: 2024-05-09 13:20:31 浏览: 70
将STM32采集来的数据进行简单16进制到10进制数据转化,并输出为n行3列的矩阵,matlab可以直接使用.zip
以下是一段简单的代码,实现了输入一个3列矩阵,按照第一列数字相同的部分划分成矩阵的功能:
```matlab
% 输入一个3列的矩阵
input_matrix = [1 2 3; 1 4 5; 2 5 6; 2 7 8; 2 9 10; 3 11 12];
% 获取第一列数字不重复的向量
unique_first_col = unique(input_matrix(:,1));
% 根据unique_first_col中的数字,将input_matrix分成多个矩阵
output_cell = cell(length(unique_first_col),1); % 初始化一个cell数组
for i = 1:length(unique_first_col)
output_cell{i} = input_matrix(input_matrix(:,1)==unique_first_col(i),:);
end
% 输出结果
disp(output_cell);
```
第一行输入了一个3列的矩阵。接着,通过`unique`函数获取了第一列数字不重复的向量。然后,使用一个`for`循环,遍历这个向量中的每一个数字,根据这个数字将原矩阵分成多个矩阵,并将这些矩阵存储在一个cell数组中。最后,使用`disp`函数输出结果。
阅读全文