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

fminsearch - übergabe problem

 

manolo_TT
Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 16.08.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.08.2010, 17:15     Titel: fminsearch - übergabe problem
  Antworten mit Zitat      
hallo,

ich hoffe, dass ich in diesem subforum richtig bin. jedenfalls habe ich in matlab 7.5 ein skript geschrieben, welches messwerte einließt, diese normalisiert. anschließend soll die theorie unterveränderung einer variable an die theorie angefittet werden (least square error).


das ist die entsprechende passage, die die messwerte (OD_mea...) and die unten beschriebene m-file weiterleitet, zudem werden weitere benötigte werte übermittelt (im moment zu testzwecken ausgelassen)

Code:

%% least square error


options=optimset('MaxIter', 1000,'Display','iter');
dropletsize0=150*10^-9; %minimal droplet size
dropletsize = fminsearch(@leastsquare,dropletsize0, OD_measured_normalized,lambda_min,lambda_step,lambda_max,options); %find suitable droplet size (iteratively)
 



m-file leastsquare
Code:
function error = leastsquare(OD_measured_normalized,lambda_min,lambda_step,lambda_max)

Vector_Ext=[];
im=0.0000001;
for lambda = lambda_min:lambda_step:lambda_max


        lambda=lambda*10^-9; %transform lambda unit in m
       
        %optical dispersion of the water
        lambda3=lambda*10^6; %transform lambda into needed unit for the calculation
        nm=(1.29+((0.47*(lambda3)^2)/((lambda3)^2-(0.119)^2))-((0.08*(lambda3)^2)/(2.92^2-(lambda3)^2)))^0.5;
 
        %optical dispersion of the droplet
        np=1.45797+0.00598 * (lambda3^-2) -0.00036*(lambda3^-4);
   
        % initialize the relative refractive index
        m=(np+im*i)/nm;
       
        %calculating the mie theory related variables
        x_ma=((2*pi*nm*0.5*dropletsize)/lambda); % calculating the mie parameter
        [Mie_ma]=Mie(m,x_ma); %calculating the Mie Efficiencies                  
        Q_ext= Mie_ma (:,1); %defining the mie efficiencie for the extinktion
        OD_ext=(Q_ext*dropletsize^2); %calculating the optical density+normailization
        Vector_Ext = [Vector_Ext OD_ext]; %#ok<AGROW>
           
end

%changes the generated vector to the needed shape
Vector_Ext=Vector_Ext';
Vector_Ext=flipud (Vector_Ext);
Vector_Ext_max=max(Vector_Ext);
Vector_Ext=Vector_Ext ./ Vector_Ext_max; %normalize the turbidity spectrum

delta_X_Square = (Vector_Ext-OD_measured_normalized).^2; %quadratic error


error=sum(abs(delta_X_Square));
 


die funktion mie(..) berechnet die geforderten werte, mit dem gelieferten input




so ich hoffe ihr könnt mir helfen, das skript zum laufen zu bringen

edit by denny: bitte BBCode in deinem Profile aktivieren. Damit Code-Umgebung verwendet werden kann. Danke!
Private Nachricht senden Benutzer-Profile anzeigen


manolo_TT
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 16.08.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.08.2010, 08:29     Titel:
  Antworten mit Zitat      
so das problem hat sich erledigt, es war wie ich angenommen habe ein fehler bei der übergabe der variablen, nachdem ich die zu übergebenen variablen in beiden skripten als global definiert habe ging es
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 - 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.