我想通過忽略零元素在矩陣上運行快速Matlab算法。執行公式忽略零元素
在過去,我只是用一個非常慢的double-for-loop例如
for i = 1 : size(x,1)
for j = 1 : size(x,2)
if x(i,j) ~= 0
... do something with x(i,j)
end
end
end
但我怎麼能對整個矩陣X矩陣運算? 例如我怎樣才能運行
x(i,j) = log(x(i,j)) if x>0 else 0 <-- pseudo code
在Matlab上的整個矩陣沒有for循環?
最後,我想重寫線,如
result = sum(sum((V.*log(V./(W*H))) - V + W*H));
與忽略零。
我只需要了解這個概念。 在需要的情況下,我也可以使用NaN而不是零,但我沒有找到例如功能
nanlog()
你爲什麼要這麼做?計算可能性? – AGS