|
|
Problem mit Vergleichsoperator |
|
Gast |
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 08.01.2009, 16:25
Titel: Problem mit Vergleichsoperator
|
 |
Hallo,
habe mit dem folgenden Code Probleme:
Das Programm geht nie in die if Schleife, da die x(i) == 4.8 Abfrage immer 0 liefert.
4.8 is aber eindeutig im Vektor vorhanden.
Kann mir das einfach nicht erklären.
Weiß jemand Rat?
Gruß
edit by steve: Bitte die Code-Umgebung für Codebeispiele verwenden!
|
|
|
|
|
Epfi |

Forum-Meister
|
 |
Beiträge: 1.134
|
 |
|
 |
Anmeldedatum: 08.01.09
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 08.01.2009, 16:37
Titel: Re: Problem mit Vergleichsoperator
|
 |
Hast Du mal nach der Ausführung deines Programms
eingegeben? Kommt 10000 raus oder -1?
i und j sind in Matlab reservierte Bezeichner für die imaginäre Einheit (i*i == -1, j*j == -1). Für Zähler und Variablen empfiehlt es sich daher irgendwelche anderen Namen wie iCount zu benutzen oder einfach bei k anzufangen.
|
|
|
Gast |
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 08.01.2009, 17:33
Titel:
|
 |
daran liegts leider nicht
|
|
|
Epfi |

Forum-Meister
|
 |
Beiträge: 1.134
|
 |
|
 |
Anmeldedatum: 08.01.09
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 08.01.2009, 17:46
Titel:
|
 |
Habs gerade mal nachvollzogen. Das Problem ist wohl, dass Matlab mit
sich nicht immer so ganz an die 0.1-Schritte hält. Um genau zu sein, hat das Element, das Du suchst, den Wert 4.800000000000001 und nicht 4.8.
Wenn Du deinen Vektor mit
erstellst und statt der wenig performanten Schleife den Befehl find benutzt, funktioniert es prima und sieht so aus:
Hoffe, Du kannst damit was anfangen.
|
|
|
Gast |
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 08.01.2009, 18:29
Titel:
|
 |
danke für die Antwort funktioniert in meinem konkreten Anwendungsfall aber leider auch nicht, siehe:
[/code]
|
|
|
Gast |
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 08.01.2009, 18:37
Titel:
|
 |
habs jetzt etwas unsauber gelöst, indem ich noch in einem Zwischenschritt über round den Matlab begangenen Fehler egalisiere
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2025
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|