我有一个矩阵I
,我希望在数组A
中为I
中的每个值累积,相应于I
中的值的间隔称他们为i
和j
。
function acc(i,j)
global A
A(i:j) = A(i:j)+1;
end
然而,传递和返回数组需要花费太多时间,因为我多次执行该函数,并不像那个例子那么简单。
有没有办法加快速度?如何在没有全局的情况下传递返回值?
答案 0 :(得分:1)
评论中的链接建议使用嵌套函数作为解决方案。如果您正在使用的功能在几个不同的地方使用,您可能不希望在每个地方嵌套。在这种情况下,我会尝试将功能修改到位。
http://blogs.mathworks.com/loren/2007/03/22/in-place-operations-on-data/
function A = acc(A,i,j)
A(i:j) = A(i:j)+1;
end
如果您符合Loren博客文章中规定的要求,则不需要复制。