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

nützen von nlinear function zum fitten

 

marcel09

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.12.2008, 11:22     Titel: nützen von nlinear function zum fitten
  Antworten mit Zitat      
Hallo Zusammen

habe da ein kleines Problemchen.
Hab was simuliert mit Comsol und habe als Krierium wie gut ich das gemacht habe eine einzige Zahl (Z).
Diese müsste einer analytischen funktion gehorchen.
Also dachte ich mir ich tip die Funktion in ein File, nehm meine y und x Werte und fitte diese mit einer nonlinear fitting prozedur.
Das sieht umgefähr so aus:

vStart=['4.3'];
w2 =WZuHmatrix;
yStart=nonfitimpedanz(vStart,w2);
plot(WZuHmatrix,yStart,'--r',WZuHmatrix,ZMatrix,'o','LineWidth',2);

[beta,r,J,SIGMA,mse]=nlinfit(WZuHmatrix,ZMatrix,@nonfitimpedanz,vStart);


plot(WZuHmatrix,yEnd,'-g','LineWidth',2);

mein nonfitimpedanz-file sieht so aus:

function [Z] = nonfitimpedanz(v,w2)
er1 = v(1);
h=1;
Z = (120*pi)./(2*sqrt(2).*pi.*sqrt(er1+1)) .*log(1+ (4.*h)./w2.*( (14+(8./er1))./11 .* (4*h)./w2+ sqrt( (14+(8./er1))./(11)).^2 *((4*h)./(w2)).^2 + ((1+(1./er1))./(2)) .*pi^2));

ich hab irgendwie noch nicht verstanden was mir mein pc sagen will mit :
??? Error using ==> eps
Class must be 'single' or 'double'.

Error in ==> nlinfit>LMfit at 266
sqrteps = sqrt(eps(class(beta)));

Error in ==> nlinfit at 168
[beta,J,lsiter,cause] = LMfit(X,y, model,beta,options,verbose,maxiter);

Error in ==> mathimpedance at 122
[beta,r,J,SIGMA,mse]=nlinfit(WZuHmatrix,ZMatrix,@nonfitimpedanz,vStart);

Vielleicht kann mir einer von euch helfen wäre echt super.
Gruß MArcel
Code:
Code:
Code:


marcel09

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.12.2008, 11:28     Titel: sorry fehler gefunden
  Antworten mit Zitat      
hab bei den startwerten einen fehler gemacht.
es fehlt zum einem ein x,wert und zum anderen darf man 4.3 nicht in anführungszeichen schreiben.

Trotzdem danke
 
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.