我是 MATLAB 的初学者,希望能在这里找到一些帮助。我在一个大矩阵中总共有 80 个人的一些模型预测结果。我需要从大矩阵中提取每个人的数据,将它们分配到一个新的变量/矩阵中,进行一些额外的计算,然后根据需要绘制某些信息。
为此,我正在尝试编写一个带有循环函数的脚本,但是以一种复杂的,或者更准确地说:以一种原始的方式!
简化示例:我的矩阵称为:All_Indi_Data .... 它的维度是:600 行 x 21 列
%Column 1: grouping variable (e.g., code or ID with values 1,2,3,4,5, etc.);
%Column 2: independent var.;
%Column 3: t;
%Column 4: OBS;
%Column 5: PRED;
i= length (All_Indi_Data);
%% First Indi.
q=1; % indicating the ID of the indi for which I want to extract the data
j=1; % variable added to insure writing start from the first row
for r=1:i
if All_Indi_Data (r,1)==q
Indi_1 (j,1:21) = All_Indi_Data (r,1:21)
j=j+1
end
end
%% Second Indi.
q=q+1
j=1
for r=1:i
if All_Indi_Data (r,1)==q
Indi_2 (j,1:21) = All_Indi_Data (r,1:21)
j=j+1
end
end
.
.
.
1)我的第一个问题是:我可以在有或没有循环函数的情况下以更简单的方式将这些数据分配到新变量(Indi_1、Indi_2 等)中吗?!!!非常感谢您的帮助。
2)是否有任何代码或任何方法可以从前面提到的大矩阵中绘制这些选定的部分(根据分组变量,例如 Indi_1 的数据)而不浪费大量时间和空间(wto 重新复制代码的核心部分)并再次)为脚本,并使用循环功能?!换句话说,我想检测 - 使用循环函数和分组变量 - 哪些值是感兴趣的,然后绘制它们(例如,第 3 列中的数据以及每个人的第 4 列中的数据,从第一个到最后一个)?!
我希望我清楚地描述了我的问题,并希望听到专家们的意见:) ...
非常感谢提前..