|
|
if in for Funktioniert nicht |
|
ECO |

Forum-Anfänger
|
 |
Beiträge: 37
|
 |
|
 |
Anmeldedatum: 07.07.13
|
 |
|
 |
Wohnort: Berlin
|
 |
|
 |
Version: R2014b (Mac)
|
 |
|
|
 |
|
Verfasst am: 11.12.2013, 23:40
Titel: if in for Funktioniert nicht
|
 |
Hi Leute
ich sitze an einem Programm zur Berechnung der Sonnenposition.
In der For-Schleife ist zum Schluss noch ein If-else Bedingung eingebaut,
jedoch funktioniert es einfach nicht wie ich will. Entweder wird nur
SAz = 180 - b oder SAz = 180 + b (hier wäre es nur ersteres)
über einen Intervall, den ich mit LT = Anfangswert:Endwert, berechnet.
Kann einer mir bitte helfen.
|
|
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 12.12.2013, 00:20
Titel:
|
 |
Hallo,
bitte Beispielparameter für einen Funktionsaufruf zur Verfügung stellen, bei dem das Problem auftritt.
Grüße,
Harald
|
|
|
ECO |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 37
|
 |
|
 |
Anmeldedatum: 07.07.13
|
 |
|
 |
Wohnort: Berlin
|
 |
|
 |
Version: R2014b (Mac)
|
 |
|
|
 |
|
Verfasst am: 12.12.2013, 01:26
Titel:
|
 |
das ist meine Vorgabe
sundata2(13.2,52.3,2,172,6:20)
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 12.12.2013, 10:57
Titel:
|
 |
Hallo,
mit dieser Vorgabe bekomme ich:
( (LT - TZ)*60 + 4*lambdag - TEQ )'
ans =
294.41
354.41
414.41
474.41
534.41
594.41
654.41
714.41
774.41
834.41
894.41
954.41
1014.4
1074.4
1134.4
TLT ist also in jeder Iteration der Schleife > 12, daher wird immer dieser Teil der if-Anweisung ausgeführt.
Grüße,
Harald
|
|
|
ECO |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 37
|
 |
|
 |
Anmeldedatum: 07.07.13
|
 |
|
 |
Wohnort: Berlin
|
 |
|
 |
Version: R2014b (Mac)
|
 |
|
|
 |
|
Verfasst am: 12.12.2013, 11:20
Titel:
|
 |
Hi,
das kann ich dir nicht sagen Harald, ich habe die Werte noch
nicht einzeln ausgelesen. Aber wenn dem so ist muss ich
meine Bedingung bei if ändern bzw. TLT noch durch 60 teilen
um die Werte in Stunden zu kriegen. Ich versuche das hinzukriegen
und melde mich wieder.
Die folgenden Anhänge zeigen dir woher ich die Formeln habe bzw.
was ich versuche zu Implementieren. Und im dritten Bild siehst du wie das
ganze aussehen sollte. I
Beschreibung: |
|
 Download |
Dateiname: |
Bildschirmfoto 2013-12-12 um 10.05.29.png |
Dateigröße: |
123.9 KB |
Heruntergeladen: |
348 mal |
Beschreibung: |
|
 Download |
Dateiname: |
Bildschirmfoto 2013-12-12 um 10.05.47.png |
Dateigröße: |
121.07 KB |
Heruntergeladen: |
377 mal |
|
|
|
ECO |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 37
|
 |
|
 |
Anmeldedatum: 07.07.13
|
 |
|
 |
Wohnort: Berlin
|
 |
|
 |
Version: R2014b (Mac)
|
 |
|
|
 |
|
Verfasst am: 12.12.2013, 11:58
Titel:
|
 |
Hi,
Harald herzlichen Dank, das mit dem TLT war genial. Die If Bedingung
funktioniert. Nun habe irgendwo einen Fehler der die Amplitude meiner Funktion
um ca. 20 senkt.
Ich denke das liegt irgendwo am Bogen- und Gradmaß den ich benutzt habe.
Gruß, Eco
|
|
|
ECO |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 37
|
 |
|
 |
Anmeldedatum: 07.07.13
|
 |
|
 |
Wohnort: Berlin
|
 |
|
 |
Version: R2014b (Mac)
|
 |
|
|
 |
|
Verfasst am: 17.12.2013, 14:50
Titel:
|
 |
Hi,
habe das Problem mit dem Code gelöst.
ich würde nur noch gerne die einzelnen Punkte miteinander verbinden,
aber leider Funktioniert es nicht, wie ich es will. Mit dem folgenden Daten
sundata(13.2,52.3,2,172,6:20)
könnt ihr ein Aufruf machen und seht was ich meine.
Gruß Eco
|
|
|
Winkow |

Moderator
|
 |
Beiträge: 3.842
|
 |
|
 |
Anmeldedatum: 04.11.11
|
 |
|
 |
Wohnort: Dresden
|
 |
|
 |
Version: R2014a 2015a
|
 |
|
|
 |
|
Verfasst am: 17.12.2013, 14:59
Titel:
|
 |
wenn er die punkte verbinden soll wäre es sinnvoller in der for schleife die werte erst alle zu speichern und dann auf einmal zu plotten.
grüße
_________________
richtig Fragen
|
|
|
ECO |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 37
|
 |
|
 |
Anmeldedatum: 07.07.13
|
 |
|
 |
Wohnort: Berlin
|
 |
|
 |
Version: R2014b (Mac)
|
 |
|
|
 |
|
Verfasst am: 17.12.2013, 16:03
Titel:
|
 |
Hi Winkow
kannst du mir erklären wie ich das machen kann bzw. mir ein Beispiel dazu geben bin ein Matlab Neuling und weiss nicht wie das funktioniert.
|
|
|
denny |

Supporter
|
 |
Beiträge: 3.853
|
 |
|
 |
Anmeldedatum: 14.02.08
|
 |
|
 |
Wohnort: Ulm
|
 |
|
 |
Version: R2012b
|
 |
|
|
 |
|
Verfasst am: 17.12.2013, 16:59
Titel:
|
 |
Hallo
mit Speichern meint Winkow hier, die Werte in einem Vektor aufzusammeln oder in einer Cell:
Man kann aber einen Schritt weiter gehen und die FOR-Loop ganz vektorisieren:
|
|
|
ECO |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 37
|
 |
|
 |
Anmeldedatum: 07.07.13
|
 |
|
 |
Wohnort: Berlin
|
 |
|
 |
Version: R2014b (Mac)
|
 |
|
|
 |
|
Verfasst am: 17.12.2013, 21:47
Titel:
|
 |
Ok ich denke ich habe es verstanden.
Mit ein wenig Übung müsste ich diese Art der Denkweise
innehaben.
Vielen Dank nochmals an alle.
Gruß Eco
|
|
|
|
|
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.
|
|