矢量化我想「矢量化」這個循環在Matlab的計算效率矩陣二次方程式在MATLAB
for t=1:T
j=1;
for m=1:M
for n=1:N
y(t,j) = v{m,n} + data(t,:)*b{m,n} + data(t,:)*f{m,n}*data(t,:)';
j=j+1;
end
end
end
哪裏v
是標量的(M
X N
)細胞。 b
是(K
x1)個載體的(M
xN
)單元。 f
是(K
x K
)矩陣的(M
x N
)單元格。 data
是(T
x K
)數組。
爲了讓我的意思我曾經向量化同一迴路中無需二次項的代碼是一個示例:
B = [reshape(cell2mat(v)',1,N*M);cell2mat(reshape(b'),1,M*N)];
X = [ones(T,1),data];
y = X*B;
謝謝!
最後一個循環是草率的,但我的大腦傷害。如果您想到更有效的方式來添加這些元素,請告訴我。 – hipHopMetropolisHastings