【发布时间】:2011-11-03 23:11:21
【问题描述】:
f = @(w) test(w, phis, t, r_coeff);
function test(w, phis, t, r_coeff)
M = size(phis, 2);
expt = exp(-t .* (phis * w'));
coeff = expt .* t .^ 2 ./ (1 + expt) .^ 2;
averaging_coef = 1.0 / M; % mean replace
G = bsxfun(@times, phis', coeff' * averaging_coef) * phis + 2 * r_coeff * eye(M);
end
- w - 大小为 (1xM)
- phis - 大小为 (NxM)
- t - 大小为 (Nx1)
- r_coeff 是常数
请帮我优化这段代码,因为函数f 运行了一千次,N 在 300-800 左右,M 的大小几乎相同。当我这样做时* phis 性能下降。
如您所见,它仅取决于 w - 我不知道。
【问题讨论】:
标签: performance algorithm optimization matlab