2010-11-25 50 views
1

我具有矩陣I,我想在一個數組A相應積累,爲每個值在I,間隔爲這些值在I讓調用它們ij快速數組作爲參數傳遞在MATLAB

function acc(i,j) 
    global A 
    A(i:j) = A(i:j)+1; 
end 

但是,傳遞和返回數組需要很多時間,因爲我多次執行函數,並且它不像那個示例那麼簡單。

有什麼方法可以加速嗎?我如何通過返回這些值沒有全球?

+0

http://stackoverflow.com/q/1258761/426834 – zellus 2010-11-25 07:08:06

回答

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 

這不應該需要做一個副本只要你滿足洛倫的博客文章中提出的要求。