Pourquoi est-ce que je reçois une erreur d’indexation même si je n’essaie d’indexer nulle part ?[fermé]
Question
J'exécute une seule commande et j'obtiens :
>> rms = rms(distances(1:50,1))
Subscript indices must either be real positive integers or logicals.
distances
n'est qu'un vecteur de doubles non négatifs.
La solution
En appelant ceci plusieurs fois, vous avez enregistré le résultat de rms(distances(1:50,1))
, qui est un double scalaire, à la variable rms
.Donc rms
n'est plus une fonction, mais un scalaire, et à chaque appel ultérieur, vous tentez d'indexer dans rms
avec vos doubles non négatifs.C'est comme si vous faisiez ce qui suit :
x = 1.1;
x(5.4)
En général, n'enregistrez jamais les résultats dans des noms de fonctions.Au lieu de cela, procédez comme suit :
clear rms
distancesRMS = rms(distances(1:50,1));
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow