|
|
Anfängerproblem if Bedingung funktioniert nicht |
|
kiwi121 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 23.08.2013, 10:37
Titel: Anfängerproblem if Bedingung funktioniert nicht
|
 |
Hi Leute,
ich bin absuluter Matlab Anfänger und habe auch gleich zu Beginn meiner Simulation ein Problem. Ich habe verschiedene Strahlungswerte die auch zu Null werden. Um für diesen Fall eine Ausnahme zu schaffen soll in der For-Schleife eine if-Bedingung realisiert werden. Leider funktioniert das nicht wie es soll. Sobald die Strahlung Null wird soll eigentlich der Wert für Tout an dieser Stelle auf einen bestimmten Wert gesetzt werden und gar keine Berechnung mit der Strahlung gemacht werden. Kann mir vielleicht einer sagen warum es nicht funktionert? Warum wird die if Bedingung nicht beachtet und sobald i=0 ist, alle Werte auf NaN gesetzt (trotz if- Bedingung)?
Vielen Dank schon mal im Vorraus für eure Hilfe.
|
|
|
|
|
Kascho |

Forum-Century
|
 |
Beiträge: 195
|
 |
|
 |
Anmeldedatum: 24.03.10
|
 |
|
 |
Wohnort: Jena
|
 |
|
 |
Version: R2008b ... :(
|
 |
|
|
 |
|
Verfasst am: 23.08.2013, 10:59
Titel:
|
 |
Hi Kiwi,
ich denke mal, dass er schon die Bedingung beachten. Problem ist nur das du Tour mit jedem Durchgang überschreibst, und am Ende nur den Wert des letzten Schleifendurchgangs hast.
Besser:
Gruß, Kascho
|
|
|
Winkow |

Moderator
|
 |
Beiträge: 3.842
|
 |
|
 |
Anmeldedatum: 04.11.11
|
 |
|
 |
Wohnort: Dresden
|
 |
|
 |
Version: R2014a 2015a
|
 |
|
|
 |
|
Verfasst am: 23.08.2013, 11:03
Titel:
|
 |
du teilst trotzdem durch i auch wenn du elementweise teilst enthällt i immernoch eine 0 und darum das nan
meinst du vieleicht i(zahl)
anmerkung: i ist die imaginäre einheit und sollte nicht mit variablen namen überschrieben werden.
_________________
richtig Fragen
|
|
|
Gast |
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 23.08.2013, 11:21
Titel:
|
 |
Also ich habe jetzt mal eine Kleinigkeit geändert (Tout(zahl)), aber das Ergebnis stimmt immer noch nicht ganz.
das kommt dabei raus:
Also am Ende macht er das richtige, aber für den ersten Null-Wert und den darauf folgenden Wert nicht. Woran kann das liegen? Wenn ich für i überall i(zahl) einsetze kommt am Ende nur ein Wert heraus,...
|
|
|
Winkow |

Moderator
|
 |
Beiträge: 3.842
|
 |
|
 |
Anmeldedatum: 04.11.11
|
 |
|
 |
Wohnort: Dresden
|
 |
|
 |
Version: R2014a 2015a
|
 |
|
|
 |
|
Verfasst am: 23.08.2013, 11:26
Titel:
|
 |
phuuu aaaallllsoo du speicherst jetzt wen i=0 ist einmal einen wert bei tout(zahl) sonst überschriebst du einfach nur alle werte in tout im anderen fall da du da keinen index hast. dann hast du immernoch das problem das dein deltaT keine zahl sondern ein array ist das nunmal werte hat die nan sind da i irgendwo 0 ist. denk nochmal drüber nach was du rechnen willst und was du als ergebnis haben willst. wenn du i(zahl) nimmst soll am ende ja auch nur ein wert rauskommen. das ist das was du programmiert hast. denke der rest ist ein fehler. wenn du alle werte haben willst must du die auch seperat speichern wie du es im fall tout(zahl) gemacht hast. am besten du gehst mal mit dem debugger rein damit dir klar wird was dein programm eigentlich macht
_________________
richtig Fragen
|
|
|
|
|
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.
|
|