Error: Index exceeds matrix dimensions while using bsxfun in matlab

Error: Index exceeds matrix dimensions while using bsxfun in matlab

我的代码是:

A =[1 5 8; 3 4 7;9 10 11]
B = bsxfun(@rdivide,A,sum(A));

在 运行 上,我得到一个错误:index exceeds matrix dimension

请帮忙。

您(很可能)在您的工作区中定义了一个名为 sum 的变量。 clear它,重命名它,就可以了。

A =[1 5 8; 3 4 7;9 10 11];
B = bsxfun(@rdivide,A,sum(A))
B =

   0.076923   0.263158   0.307692
   0.230769   0.210526   0.269231
   0.692308   0.526316   0.423077


sum = 5;   %% Oops!

B = bsxfun(@rdivide,A,sum(A))
Error: Index exceeds matrix dimensions