Warum erhalte ich einen Indexierungsfehler, obwohl ich nirgendwo eine Indexierung versuche?[geschlossen]
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.
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