将单元格名称转换为变量名称,以从Matlab中的另一个数据集中提取数据[重复]

问题描述 投票:0回答:1
% Initial Inputs S.P1=[0.1,0.2,0.3]; % Varies in length S.P2=[3.5,5.5]; S.P3=[7,8,9,10];
C是整数索引的50x3矩阵,用于分配P1,P2,P3的值。

for i=1:numel(fieldnames(S)) x{i}=['S.P',num2str(i)]; end x={'S.P1','S.P2','S.P3'}; %Output of for loop

如何使用单元格名称作为变量名称来提取P1,P2,P3的值。

[S.P1(C(:,1)),S.P2(C(:,2)),S.P3(C(:,3))] % Desired Output

如何使用在for循环中生成的变量名来提取数据,如上所示。
matlab variables matrix cell-array
1个回答
0
投票
快捷方式

数据= [数据,S。(['P',num2str(i)])(C(:,i))]

© www.soinside.com 2019 - 2024. All rights reserved.