Pourquoi est-ce que je reçois une erreur d’indexation même si je n’essaie d’indexer nulle part ?[fermé]

StackOverflow https://stackoverflow.com//questions/25020549

  •  21-12-2019
  •  | 
  •  

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.

Était-ce utile?

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
scroll top