消除環路鑑於我們已:你將如何從這個MATLAB代碼
- x是與大小的二維矩陣[NUMSAMPLES X numFeatures]
- A是2D方陣大小[numFeatures X numFeatures]
- B是一個一維向量,其具有尺寸[1×numFeatures]
我想沒有循環來計算下面的代碼:(或者在一個方式更快的方式)
out = zeros(1,numSamples);
for i = 1:numSamples
res = sum(repmat(B - x(i,:), numSamples, 1)*A.*(x - repmat(x(i,:), numSamples, 1)), 2).^2;
out(i) = var(res);
end
如果您對上述更快的改進有其他建議,它也是值得歡迎的。
讓我們退後一步。此代碼在測試數據上運行時速度有多快?你對時間不滿意嗎? – rayryeng
不幸的是沒有。對於大量的樣品,它變得非常緩慢。 – user2324712
除了上面的評論之外,是否還有一個特定的公式試圖實現? –