我有这样一个功能:
A(X,Y,Z,T)= A(X,Y,Z,T-1)+ A(X,Y,Z-1,T)+ A(X,Y,Z + 1, T-1)
y,z和t是我的数据向量,但是我必须在Matlab中实现具有四个for循环的网格上的函数,并且它非常慢。由于连续性,我无法对其进行矢量化。你能告诉我什么吗?
答案 0 :(得分:1)
我相信在您的示例中,以下代码可以在没有任何for循环的情况下完成您想要的任务:
A = circshift(A,[0,0,0,-1]) + circshift(A,[0,0,-1,0]) + circshift(A,[0,0,1,-1])
如果您想要循环移位,这将有效。否则,我认为你必须用零填充然后删除后缀填充。