【问题标题】:Error: Index exceeds matrix dimensions while using bsxfun in matlab错误:在 matlab 中使用 bsxfun 时索引超出矩阵维度
【发布时间】:2016-04-30 06:29:44
【问题描述】:

我的代码是:

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

运行时出现错误:index exceeds matrix dimension

请帮忙。

【问题讨论】:

  • 我无法重现您的问题。代码执行没有错误。
  • 也无法重现。此代码按预期运行(至少对我而言)。
  • 从您的工作区中清除变量sum

标签: matlab bsxfun


【解决方案1】:

您(很可能)在您的工作区中定义了一个名为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

【讨论】:

  • 这就是为什么在函数调用和数组中使用() 有点傻......哦,matlab
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多