Warum erhalte ich einen Indexierungsfehler, obwohl ich nirgendwo eine Indexierung versuche?[geschlossen]

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

  •  21-12-2019
  •  | 
  •  

Frage

Ich führe einen einzelnen Befehl aus und erhalte:

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

distances ist nur ein Vektor nicht negativer Doppel.

War es hilfreich?

Lösung

Indem Sie dies mehr als einmal aufrufen, haben Sie das Ergebnis gespeichert rms(distances(1:50,1)), was ein skalares Double ist, zur Variablen rms.Also rms ist keine Funktion mehr, sondern ein Skalar, und bei jedem weiteren Aufruf versuchen Sie, ihn zu indizieren rms mit Ihren nicht negativen Doppeln.Es ist, als ob Sie Folgendes getan hätten:

x = 1.1; 
x(5.4)

Speichern Sie Ergebnisse im Allgemeinen niemals in Funktionsnamen.Gehen Sie stattdessen wie folgt vor:

clear rms
distancesRMS = rms(distances(1:50,1));
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top