Arrays 为了评估Matlab而避免评估
我目前正在将我的数组评估为Arrays 为了评估Matlab而避免评估,arrays,matlab,for-loop,matrix,parfor,Arrays,Matlab,For Loop,Matrix,Parfor,我目前正在将我的数组评估为eval(['p'num2str(jj)'(I,:)],其中P1P2是我的数组,我只对(I,1:3)中的所有数组感兴趣,其中I用于行和jj评估12数组。我想避免eval(),因为我想使用PCT对两个数组进行并行处理,因为parfor循环不支持eval(),而且Matlab也建议尽可能避免,现在根据我的场景,可能的解决方案/建议是什么 我的代码: n=2; for i=1:10 for jj=1:n eval(['P' num2str(jj) '(i,:)']); end
eval(['p'num2str(jj)'(I,:)]
,其中P1
P2
是我的数组,我只对(I,1:3)
中的所有数组感兴趣,其中I
用于行和jj
评估1
2
数组。我想避免eval()
,因为我想使用PCT对两个数组进行并行处理,因为parfor
循环不支持eval()
,而且Matlab也建议尽可能避免,现在根据我的场景,可能的解决方案/建议是什么
我的代码:
n=2;
for i=1:10
for jj=1:n
eval(['P' num2str(jj) '(i,:)']);
end
end
尝试使用单元格数组:
P = cell(1,2);
P{1} = P1;
P{2} = P2;
现在您可以这样做:
n=2;
for i=1:10
for jj=1:n
P{jj}(i,:)
end
end
看起来很酷,但是其他一些方法会更好,因为我也想避免
P1
和P2
。如果你有其他的选择,请你建议一下好吗?好吧,也许你可以完成这个任务,然后运行clearp1p2
将它们从内存中清除,从现在开始,只使用P{}
。