矢量化我想“矢量化”这个循环在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