我想要绘制一个变量名的单元格数组。例如,
var = {...
'Xp_1';
'Xp_2';
'Xp_3';
'PRES_1';
'PRES_2';
'PRES_3';
'FLOW_1';
'FLOW_2';
'FLOW_3'};
现在,我想按照他们的名字对它们进行分组,即所有Xps,PRES和FLOW,并在单独的图上叠加它们;因此,三个数字的总数:一个用于Xps,一个用于PRES,一个用于FLOW。
我通过比较所有变量的前两个或三个字符来集思广益。
我该怎么做?
答案 0 :(得分:0)
您可以extract a substring并通过逻辑操作比较结果,也可以使用this method。
figure(1); hold all; figure(2); hold all; figure(3); hold all;
for i = 1:length(var)
if strncmpi('xp',var(i),2) // compare the first 2 characters
figure(1)
plot(eval(var(i))) // eval calls the variable by the name in var(i)
elseif strncmpi('pr',var(i),2)
figure(2)
plot(eval(var(i)))
elseif strncmpi('fl',var(i),2)
figure(3)
plot(eval(var(i)))
else
disp('No case for variable name');
end