【发布时间】:2015-07-29 00:20:30
【问题描述】:
【问题讨论】:
-
我认为是
cos(k*y_j)而不是n? -
M和K是什么? -
如果你知道 M 和 K 是什么,你可以用矩阵形式做所有事情,这样你就可以避免循环。
标签: matlab vectorization
【问题讨论】:
cos(k*y_j) 而不是n?
M 和 K 是什么?
标签: matlab vectorization
使用元素级 .* 操作将比 4 个嵌套的 for 循环快得多。我想你想要这样的东西:
M = 100;
K = 100;
N = 40;
x = linspace(0,1,N);
y = linspace(0,1,N);
%order reversed matches i,j notation in question
[Y,X] = meshgrid(y,x);
A = zeros(size(X));
for m = 1:M
for k = 1:K
A = A + sqrt(m^2 + k^2)*sin(m*X).*cos(k*Y);
end
end
【讨论】: