¿Por qué recibo un error de indexación aunque no estoy intentando indexar en ningún lugar?[cerrado]
Pregunta
Ejecuto un solo comando y obtengo:
>> rms = rms(distances(1:50,1))
Subscript indices must either be real positive integers or logicals.
distances
es solo un vector de dobles no negativos.
Solución
Al llamar a esto más de una vez, guardó el resultado de rms(distances(1:50,1))
, que es un doble escalar, a la variable rms
.Entonces rms
ya no es una función, sino un escalar, y con cada llamada posterior intentas indexar en rms
con tus dobles no negativos.Es como si hicieras lo siguiente:
x = 1.1;
x(5.4)
En general, nunca guarde resultados en nombres de funciones.En su lugar, haga lo siguiente:
clear rms
distancesRMS = rms(distances(1:50,1));
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow