首页 > 解决方案 > 为什么使用循环和使用矩阵运算返回不同的结果?

问题描述

例如下面的代码,D就不D2一样了。任何人都可以指出这里的错误是什么?

m=100;
n=100;
X=repmat(1:m,[n 1]);
Y=repmat((1:n)',[1 m]);
D=((((X/m)-0.1)^2).*X) - ((((Y/n)-00.33)^2).*Y); %matrix-wise

D2=zeros(m,n);
for x=1:m
    for y=1:n
        D2(x,y)=((((x/m)-0.1)^2)*x) - ((((y/n)-00.33)^2)*y);
    end
end
isequal(D,D2)

标签: matlab

解决方案


推荐阅读