我知道在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
Run Code Online (Sandbox Code Playgroud)
我应该使用什么操作?(我在考虑笛卡尔积的实施)
请尝试以下方法
AA = permute(A * a, [1, 3, 2]);
BB = permute(B * b, [3, 1, 2]);
CC = c * bsxfun(@minus, AA, BB);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1061 次 |
最近记录: |