|
|
Parameterermittlung einer impliziten Funktion |
|
thunder |

Forum-Anfänger
|
 |
Beiträge: 11
|
 |
|
 |
Anmeldedatum: 27.08.08
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2010a Unix (Ubuntu)
|
 |
|
|
 |
|
Verfasst am: 14.09.2010, 07:10
Titel: Parameterermittlung einer impliziten Funktion
|
 |
Hallo zusammen,
ich möchte aus Messwerten (U,I) 7 Parameter einer impliziten nicht linearen Funktion ermitteln. Über die Matlab Hilfe bin ich auf lsqcurvefit gekommen.
Nur leider funktioniert bzw. versteh ich nicht so ganz wie das funktioniert.
zunächst habe ich meine Funktion definiert:
Der Aufmerksame Leser wird bemerken, dass es sich um das 2-Dioden-modell eines Solarmoduls handelt.
Wenn ich im nächsten Schritt meine die Funktion
fitten möchte habe ich das Problem, das in myfunc die Variable I nicht definiert ist. Wenn ich aber I in myfunc die Messwerte übergebe kommt nichts sinnvolles heraus.
muss ich als yWerte einen Vektor mit 0 übergeben und I in myfunc die Messwerte?
Das ist mir nicht ganz klar. Wäre super wenn mir hier jemand helfen könnte.
|
|
|
|
|
eupho |

Forum-Meister
|
 |
Beiträge: 777
|
 |
|
 |
Anmeldedatum: 07.01.09
|
 |
|
 |
Wohnort: Marburg
|
 |
|
 |
Version: R2009b
|
 |
|
|
 |
|
Verfasst am: 14.09.2010, 08:54
Titel:
|
 |
|
|
thunder |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 11
|
 |
|
 |
Anmeldedatum: 27.08.08
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2010a Unix (Ubuntu)
|
 |
|
|
 |
|
Verfasst am: 14.09.2010, 09:59
Titel:
|
 |
Hallo eupho,
dann bekomme ich immer die Fehler Meldung
mein Code dazu
die Werte U und I liegen dabei im workspace.
|
|
|
eupho |

Forum-Meister
|
 |
Beiträge: 777
|
 |
|
 |
Anmeldedatum: 07.01.09
|
 |
|
 |
Wohnort: Marburg
|
 |
|
 |
Version: R2009b
|
 |
|
|
 |
|
Verfasst am: 14.09.2010, 10:59
Titel:
|
 |
Ja, völlig korrekt. LSQCURVEFIT will die x/ydata sehen. Dann zurück zu deinem alten Code:
ist das ein Schreibfehler? Weil dort fehlt ja das I als Input!
|
|
|
thunder |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 11
|
 |
|
 |
Anmeldedatum: 27.08.08
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2010a Unix (Ubuntu)
|
 |
|
|
 |
|
Verfasst am: 14.09.2010, 16:51
Titel:
|
 |
das ist kein schreibfehler.
Wenn ich die Matlab Hilfe richtig verstehe werden nur Startwerte für x (also die Parameter die ermittelt werden sollen) und die x-Werte (Messwerte) übergeben.
Allerdings basiert das ja auf der Beispielfunktion ydata=x1*exp(x2*xdata).
Ist für mich explizit. Im Fall meiner Funktion heißt das ja das die y-Werte sowohl rechts als auch links des Gleichheitszeichens vorkommen. Etwa der Art:
ydata=x1*exp(x2*xdata+x3*ydata)
(nur noch komplizierter s.o.)
muss ich sowohl beim Aufruf von lsqcurvefit die y-Werte übergeben?
???
und in myfun auch noch mal? Oder bringe ich den y-Wert von links nach rechts das die Funktion Null wird und mit zeros einen Nullvektor übergeben, etwa so:
In diesem Beipiel wäre F=0. muss ich in diesem Fall dann in lsqcurvefit für die y-Werte einen Vektor mit Nullen übergeben?
|
|
|
|
|
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.
|
|