【发布时间】:2021-06-14 18:50:34
【问题描述】:
我是 MATLAB 的新手(这是我的第一个脚本)。 我想知道如何加快这个循环,我不知道任何工具箱或“技巧”,因为我是新手。我试着用直觉来编码,它有效,但它真的很长。
所有变量都是用fread 或integer 手动输入的,所以这基本上是简单的数学运算,但我不知道为什么这么长(可能是嵌套循环?)以及如何改进,就像我一样更熟悉 Python,例如multiprocess。
非常感谢
X = 0;
Points = [0,0,0];
for i=1:nbLines
for j=1:nbPositions-1
if lDate(i)>posDate(j) && lDate(i)<=posDate(j+1)
weight = (lDate(i) - posDate(j)) / (posDate(j+1)- posDate(j));
X = posX(j)*(1-weight) + posX(j+1) * weight;
end
end
if X ~= 0
for j=1:nbScans
Y = - distance(i,j) / tan(angle(i,j));
Points = [Points;X, Y, distance(i,j)];
end
end
end
【问题讨论】:
-
请阅读How to Ask 和edit 您的问题以包含minimal reproducible example。您没有提供有关此代码应该实现什么或许多变量可能是什么的上下文
标签: performance matlab for-loop