【发布时间】:2014-05-01 22:07:06
【问题描述】:
我知道在 Matlab 中编写 for 循环通常效率不高。 现在我正在尝试用更好的选择替换嵌套的 for 循环。 这是嵌套循环,
for i = 1: size(A,1)
for j = 1: size(B,1)
S(i,j, :) = c*(A(i,:)*a - B(j,:)*b);
end
end
我应该使用什么操作? (我在考虑笛卡尔积的实现)
【问题讨论】:
-
输入是什么维度?
-
A为1000*500,B为300*40,a为500*5,b为40*5,c为1*1。
-
您对问题中代码后面的尺寸有疑问...
-
包含这段代码的函数被调用了10^6次,所以在这个过程中的任何加速,最终都会导致整个过程的加速。
-
我提到的尺寸也可能大得多,具体取决于输入,所以我更感兴趣的是知道如何消除 for 循环,而不是如何使 for 循环适合我的尺寸。跨度>