Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 为了评估Matlab而避免评估_Arrays_Matlab_For Loop_Matrix_Parfor - Fatal编程技术网

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{}