我在自己的电脑上安装了 Matlab R2012a,在朋友的电脑上安装了 Matlab R2009a(多线程)。由于我的电脑只有 2gb 内存,而我朋友的内存只有 128gb 和更好的处理器,我决定在我朋友的电脑上执行我的代码。
我通过远程桌面连接程序连接到他的计算机,从 Dropbox 下载了我的代码和数据集并执行了我的代码。但是,即使一个小时过去了,我的代码的执行也没有完成。(在我的电脑上花了大约 20 分钟,如果你认为我朋友的系统比我的好得多,那应该不到 20 分钟。)然后我又等了几个小时,但执行没有完成。
然后,为了了解问题出在哪里,我一步一步地评估了代码,并注意到它无法完成以下循环的执行:
l=1;
for n=1:max_t
for m=1:t(1,n).numberofPoints
x_t(l)=t(1,n).matrix(m,1);
y_t(l)=t(1,n).matrix(m,2);
z_t(l)=t(1,n).matrix(m,3);
l=l+1;
end
end
minx = min(x_t(:));
miny = min(y_t(:));
minz = min(z_t(:));
这只是一个简单的循环来获得我在 x,y,z 坐标中的最小点。(我确信这个循环没有任何问题。它可以在我的 PC 上成功运行。)我知道我不需要循环来获取结构的最大和最小点,但我是 MATLAB 新手,不太了解。因此,这对我来说似乎是最简单的选择。
我真的必须能够使用我朋友的电脑,因为我的内存不足以进行进一步的处理。因此我需要解决这个问题。
相同的代码在我的计算机上运行但在我朋友的计算机上运行的原因是什么?