WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Fit mit einer custom GL

 

mana
Forum-Anfänger

Forum-Anfänger


Beiträge: 34
Anmeldedatum: 08.06.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.08.2016, 17:06     Titel: Fit mit einer custom GL
  Antworten mit Zitat      
Hallo,

ich möchte eine von mir definierte Gleichung anfitten. Jedoch bekomm ich nur Fehler und mir ist nicht ganz klar weshalb.
Die Gleichung die ich gerne anfitten würde hänge ich im Anhang als Bild an.

Mein bisheriger Versuch ein fitobjet zu definieren ist bisher ohne Erfolg gekrönt.

Zusätzliche Infos:
meine "Laufvariable" sollte pH2O sein
pH2_an = 1-pH2O

R,F,P0,T_kat,D_mol_H2,D_mol_H2O sind Konstanten

Code:
fttype = fittype('Rc =((R*T_kat/(2*F))^2)*1e-3*1/(psi_an*P0)*((1/(D_mol_H2*pH2_an))+(1/(D_mol_H2O*pH2O)))', 'Problem', 'psi_an', 'dependent', 'Rc','independent', 'pH2O','coefficients',{'R','P0','T_kat','F','D_mol_H2','D_mol_H2O'});



Aus dem Fit würde ich letzten endes gerne Rc und psi_an bestimmen können.

Vielen vielen Dank für eure Hilfe

Viele Grüße

Unbenannt.JPG
 Beschreibung:
Gleichung

Download
 Dateiname:  Unbenannt.JPG
 Dateigröße:  12.09 KB
 Heruntergeladen:  187 mal
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 27.08.2016, 00:00     Titel:
  Antworten mit Zitat      
Hallo,

und welche Fehlermeldungen bekommst du?

Wenn du mit Befehlen statt interaktiven Tools arbeiten möchtest, finde ich lsqcurvefit oder fitnlm wesentlich handlicher.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
mana
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 34
Anmeldedatum: 08.06.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.08.2016, 00:54     Titel:
  Antworten mit Zitat      
Hallo Harald,

vielen Dank für die erste Hilfestellung. Fehler kann ich morgen posten wenn ich wieder am Rechner bin, aber ich werde erst erstmal versuchen mit deinen Tipps das Ganze zu lösen.

ja ich möchte das mit Befehlen machen weil ich die Fits direkt in einem Auswertetool mitplotten möchte.

Viele Grüße
Timo
Private Nachricht senden Benutzer-Profile anzeigen
 
mana
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 34
Anmeldedatum: 08.06.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.08.2016, 10:15     Titel:
  Antworten mit Zitat      
Hallo,

ich habe es jetzt nochmal mit dem lsqcurvefit versucht und bekomme folgenden Fehler
Code:
fitty = lsqcurvefit( (R*T_kat/(2*F))^2*L/(psi_an*P0)*((1/(D_mol_H2*pH2_an))+(1/(D_mol_H2O*pH2O))),pH2O(1),pH2O,p1a);

Undefined function or variable 'psi_an'.


logischerweise gibt es diese Variable nicht, da ich diese durch den Fit ermitteln möchte.

Gibts 'ne Möglichkeit das zu lösen?


ich poste mal noch meinen Matlabcode dazu.
Code:
   P0 = 101330; % in Pa/atm
    F  = 96500;  % in C/mol
    R = 8.3144598; % J*(mol*K)^-1
    Na = 6.022e23;
    kb = 1.381e-23;
    T_kat = 7.551112800000000e+02+273;
    pH2O = H2O;
    pH2_an = 1-pH2O;
    L = 1e-3;
Results.D_mol_H2 = 5.7034e-5;
Results.D_mol_H2O = 1.9011e-5;
    D_mol_H2 = Results(1).D_mol_H2;
    D_mol_H2O = Results(1).D_mol_H2O;
    [fitty, psi] = lsqcurvefit( (R*T_kat/(2*F))^2*L/(psi_an*P0)*((1/(D_mol_H2*pH2_an))+(1/(D_mol_H2O*pH2O))),pH2O(1),pH2O,p1a);
 


Viele Grüße
Timo
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 29.08.2016, 10:21     Titel:
  Antworten mit Zitat      
Hallo,

schau dir bitte die Beispiele in der Doku von lsqcurvefit an.
Dort wird schön gezeigt, wie man das Modell richtig übergibt.

Insbesondere siehst du dort, dass das erste Argument immer die Form @(x,xdata) haben sollte, wobei x der zu schätzende Parametervektor ist und xdata die Prädiktoren.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
mana
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 34
Anmeldedatum: 08.06.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.08.2016, 16:58     Titel:
  Antworten mit Zitat      
Hi Harald,

vielen Dank für die Stütze hab es heute im Laufe des Tages hinbekommen.

Viele Grüße
Timo
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 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.