matlab中的数据截取(急)

请问如何能够用code做到在matlab中将以下数据进行特定分割。第一列为特定事物的代码,我想要根据第一列的代码将这一事物的所有信息生成一个新的矩阵(X行*4列)并存在workspace中,并重复这个步骤将所有特定事物都依次生成新的矩阵。谢谢
2026年09月21日 15:39
有1个网友回答
网友(1):

首先提取一共有多少特定事物代码,然后根据特定事物代码将相同的行提取出来。

需要使用unique函数,find函数,eval函数。

示例如下:

clc
close all
clear all
A = [21 724232 -3.99 43.34;21 724232 -3.99 43.34;22 724232 -3.99 43.34;]
A_I = unique(A(:,1));
for i = 1:length(A_I)
    eval(['B' num2str(A_I(i)) '= A(find(A(:,1)==' num2str(A_I(i)) '),:)']);
end


结果如下: