|
Sarliefer |

Forum-Newbie
|
 |
Beiträge: 1
|
 |
|
 |
Anmeldedatum: 14.01.16
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 14.01.2016, 04:43
Titel: Numerisches Lösen
|
 |
Hallo liebe Community,
ich versuche derzeit eine Gleichung numerisch mit Matlab zu lösen.
Die Gleichung lautet:
Um ein einfaches Iterationsverfahren anwenden zu können, habe ich die Gleichung auf folgende Form gebracht:
a und b sind gegeben. y wird in einem Schritt zuvor berechnet.
Mein Matlab-Code zum Iterationsverfahren sieht folgendermaßen aus:
Leider taucht eine Fehlermeldung auf, da das Argument der Wurzel einen negativen Wert annimmt. Ist das Vorgehen an sich falsch? Oder gibt es schon fertige Funktionen, die solche Iterationsverfahren beherrschen?
Wäre sehr dankbar über eure Hilfe.
|
|
|
|
|
Mmmartina |

Forum-Meister
|
 |
Beiträge: 745
|
 |
|
 |
Anmeldedatum: 30.10.12
|
 |
|
 |
Wohnort: hier
|
 |
|
 |
Version: R2020a
|
 |
|
|
 |
|
Verfasst am: 14.01.2016, 10:10
Titel: Re: Numerisches Lösen
|
 |
|
 |
|
Sarliefer hat Folgendes geschrieben: |
a und b sind gegeben. y wird in einem Schritt zuvor berechnet. |
Dann füge diese doch in deinem Minimalbeispiel hinzu damit es lauffähig wird.
Wenn du x mit 100 Werten vorbelegst, solltest du deine Schleife nur bis 99 laufen lassen, da du sonst am Ende 101 Werte in x hast.
Sarliefer hat Folgendes geschrieben: |
Leider taucht eine Fehlermeldung auf, da das Argument der Wurzel einen negativen Wert annimmt.
Ist das Vorgehen an sich falsch? Oder gibt es schon fertige Funktionen, die solche Iterationsverfahren beherrschen? |
Die Wurzel aus einer negativen Zahl zu ziehen ist ein Diskusionsthema für sich und auch in Matlab nur unter Nutzung von komplexen Zahlen möglich.
Wenn ich mir die erste und zweite Gleichung anschaue, sehe ich:
- dass (b-x) bzw. (b+x) nicht größer als a bzw. a^2 werden dürfen,
- oder das die Iteration eben keine Lösung findet (-> evt. mit try-catch-arbeiten oder eine Auswertung vor der eigentlichen Rechnung einfügen),
- oder auf komplexe Zahlen ausweichen muss, was aber hier wohl dennoch nicht zu einer Lösung führen würde.
_________________
LG
Martina
"Wenn wir bedenken, daß wir alle verrückt sind, ist das Leben erklärt." (Mark Twain))
|
|
|
slinshady |

Forum-Century
|
 |
Beiträge: 115
|
 |
|
 |
Anmeldedatum: 12.01.16
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2012b+
|
 |
|
|
 |
|
Verfasst am: 14.01.2016, 12:54
Titel:
|
 |
Was mir einfällt. Wenn du komplexe Zahlen mit einschließen möchtest. solltest du den Laufindex nicht i nennen.
|
|
|
|
|
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.
|
|