matlab - 有没有办法减少 matlab 中 a 和 b 是大列向量的 ab' 相关操作所花费的时间?
问题描述
我正在尝试执行如下操作:(exp((a-b').^2)*(diag(c)*d))
、 where a
、b
、c
和d
是列向量。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
这使得代码需要很长时间才能运行,因为这个操作被调用了很多。有什么办法可以减少为此花费的时间吗?
解决方案
推荐阅读
- python - 使用 VectorUDT 列将 PySpark 数据帧读入 Pandas 的问题
- excel - Excel 条件格式通过在多个单元格中包含单元格(地址)的公式
- vb.net - 如何保存用户图像并将其保存在我的应用程序文件夹中并显示它?
- psql - 如何默认设置“\pset null(null)”?
- javascript - 相同的代码在不同的设备上运行不同
- scala - 按窗口分组字数
- python - 通过 ssh 运行 python 时似乎未安装模块
- c++ - 链表插入和打印 C++
- xml - 使用 XPath 从 XML 解析图像的问题
- javascript - 使用javascript如何将输入值作为条件传递给mysql查询