3
我有相等數目的行的兩個列矩陣:矢量被存儲在相同的載體數據
其中一個列矩陣的(我們稱之爲T
)是按升序排列的非週期性唯一整數集合。 T
可通過進行模擬:
其它柱基質(我們稱之爲C
)具有0或1,並且表示在對應行中T
在隨後的操作狀態。 0是不太可能超過1 C
發生可以通過模擬:
C=ones(100,1);
C(randperm(100,10))=0;
在現實中,這些列的矩陣將有幾百萬的元素,這裏的例子是故意短,以提高測試速度。
我們逐步穿過C
的每一行。如果C
中的元素的值爲0,則將從每個T
行中的所有後續值中減去T
中的對應行值,直到我們在C
中達到另一個0。
我現在正試圖矢量化以下操作以提高在幾百萬個元素矩陣上操作時的速度。
lastReset = 0;
newT = NaN*zeros(length(T),1);
for index = 1:length(C)
if C(index) == 0
lastReset = T(index);
else
newT(index) = T(index) - lastReset;
end
end
newT(C==0)=[];
我該如何矢量化上述for
循環?
你的問題是什麼? – saygins
親愛的saygins,對不起,我沒有包括一個問題。現在我編輯了指定我的請求的帖子。謝謝。 –