|
Susi |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 30.07.2010, 13:51
Titel: Iteration
|
 |
hallo bin gerade dabei mich in Matlab einzuarbeiten fürs ende meines studiums...
nun sitze ich gerade an einer iteration und weiss nicht wie das funktioniert.
also ich habe als ergebnis den wert x = y/(1-y)^4....wie kommt man nun auf y in matlab? kann mir jemand helfen?
danke schonmal
|
|
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 30.07.2010, 13:57
Titel:
|
 |
Hallo Susi,
Du schreibst nicht genau, was Du suchst. Möchtest Du ein Y zu einem bestimmten X ausrechnen? Bist Du sicher, dass zu jedem Y nur ein X gibt? Wenn nicht, welches X suchst Du dann?
Oder möchtest Du die Gleichung symbolisch lösen?
Gruß, Jan
|
|
|
Susi |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 30.07.2010, 14:15
Titel:
|
 |
okay schreibs nochmal anders
also das y ist gesucht in der Gleichung. Das möchte ich haben..den x-wert habe ich schon bestimmt..der ist fest....nun soll einfach nur die Gleichung gelöst werde...d.h. mit dem x soll das y ausgerechnet werden.aber das problem ist ja das hoch 4 im nenner. und soweit ich weiss geht sowas ja nur iterativ...
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 30.07.2010, 16:18
Titel:
|
 |
Hallo Susi,
gut. Wenn es nur iterativ geht, löse es iterativ. Kennst Du den Befehl FZERO?
Gruß, Jan
|
|
|
Susi |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 30.07.2010, 18:55
Titel:
|
 |
ist fzero nicht nur für nullstellen? also ich hatte es jetzt mal mit fsolve versucht..aber klappt nicht
|
|
|
lilov |

Forum-Century
|
 |
Beiträge: 193
|
 |
|
 |
Anmeldedatum: 05.05.10
|
 |
|
 |
Wohnort: Bremerhaven
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 31.07.2010, 18:08
Titel:
|
 |
Hi,
fzero funktioniert.Da musst du allerdings ein initial guess vorgeben.matlab findet also nicht alle Lösungen automatisch, sondern jeweils ein Wert für jeden initial guess.
Du musst erstmal die Gleichung so umstellen dass du auf der einen Seite Null hast damit du fzero anwenden kannst x(1-y)^4-y=0:
es gibt auch die möglichkeit symbolisch mit matlab zu lösen (command: syms)
Lilov
[/code]
|
|
|
lilov |

Forum-Century
|
 |
Beiträge: 193
|
 |
|
 |
Anmeldedatum: 05.05.10
|
 |
|
 |
Wohnort: Bremerhaven
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 31.07.2010, 18:20
Titel:
|
 |
ach, was du noch machen kannst ist einfach viele Werte mit einem kleinen Inkrement für y schon vorgeben und dann die aussuchen die mit x die kleinste Differenz bilden:
wobei 0.1 einfach dein Konvergenzkriterium ist je nachdem wie genau du die Lösung brauchst
Gruß,
Lilov
|
|
|
Susi |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 01.08.2010, 17:23
Titel:
|
 |
okay also habe die drei varianten mal ausprobier...mit fzero kommt 2.3 für x= 0.75....was ja prinzipiell nicht falsch ist...aber es muss leider kleiner 1 als lösung sein
die variante mit konvergenz ist besser..also lösung kommt so 0.245 raus..muss man aber selber raussuchen ....
also net das otpimale--aber es funzt schonmal
die sum variante habe ich mal eingefügt..da passt etwas nicht
es komtm kein ergebnis raus
x = y/(1-y)^4;
solve(x,'y');
|
|
|
lilov |

Forum-Century
|
 |
Beiträge: 193
|
 |
|
 |
Anmeldedatum: 05.05.10
|
 |
|
 |
Wohnort: Bremerhaven
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 01.08.2010, 23:17
Titel:
|
 |
Hi:)
wenn die Lösung kleiner als 1 sein soll, musst du einen Anfangsschätzwert eingeben der kleiner als 1 ist. Dann klappt's
|
|
|
lilov |

Forum-Century
|
 |
Beiträge: 193
|
 |
|
 |
Anmeldedatum: 05.05.10
|
 |
|
 |
Wohnort: Bremerhaven
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 02.08.2010, 00:01
Titel:
|
 |
ach, ich hab das mit solve ausprobiert und es funktioniert wenn man die Gleichung zu einem Polynom umstellt:
|
|
|
Susi |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 05.08.2010, 13:16
Titel:
|
 |
funzt einwandfrei..vielen dank für die hilfe
|
|
|
lilov |

Forum-Century
|
 |
Beiträge: 193
|
 |
|
 |
Anmeldedatum: 05.05.10
|
 |
|
 |
Wohnort: Bremerhaven
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 05.08.2010, 13:29
Titel:
|
 |
Hehe...no prob
|
|
|
|
|
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.
|
|