【问题标题】:Why am I getting an indexing error even though I'm not trying to index anywhere? [closed]为什么即使我没有尝试在任何地方建立索引,也会出现索引错误? [关闭]
【发布时间】:2023-03-14 01:26:01
【问题描述】:

我执行一个命令,我得到:

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

distances 只是一个非负双精度向量。

【问题讨论】:

  • 尝试更改要保存到的变量名称。您可能必须先在工作区中将其删除。
  • 重点是:distances正整数的向量,NOT是否包含零?
  • 确实做到了。谢谢。

标签: matlab indexing rms


【解决方案1】:

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

x = 1.1; 
x(5.4)

一般来说,永远不要将结果保存到函数名称中。相反,请执行以下操作:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-04-08
    • 1970-01-01
    • 2021-03-15
    • 1970-01-01
    • 2015-02-02
    • 2018-06-29
    • 1970-01-01
    相关资源
    最近更新 更多