首页 > 解决方案 > 有没有办法减少 matlab 中 a 和 b 是大列向量的 ab' 相关操作所花费的时间?

问题描述

我正在尝试执行如下操作:(exp((a-b').^2)*(diag(c)*d))、 where abcd是列向量。a和的大小b很大,因此a-b'超过了 MATLAB 中矩阵大小的最大限制。然后我将其转换为遍历每个值的循环a

d=zeros(length(a),1);
for i=1:length(a)
    d(i)=(exp((a(i)-b').^2)*(c.*d));
end

这使得代码需要很长时间才能运行,因为这个操作被调用了很多。有什么办法可以减少为此花费的时间吗?

标签: matlab

解决方案


推荐阅读