为什么我得到索引错误,即使我不想在任何地方索引?

时间:2014-07-29 16:39:04

标签: matlab indexing rms

我执行一个命令然后得到:

>> rms = rms(distances(1:50,1))
Subscript indices must either be real positive integers or logicals.

distances只是非负双打的载体。

1 个答案:

答案 0 :(得分:3)

通过多次调用,您将rms(distances(1:50,1))的结果(标量为双精度)保存到变量rms。所以rms不再是一个函数,而是一个标量,并且每次后续调用都会尝试使用非负双精度索引到rms。就好像你做了以下事情:

x = 1.1; 
x(5.4)

通常,永远不要将结果保存到函数名称。相反,请执行以下操作:

clear rms
distancesRMS = rms(distances(1:50,1));