Verfasst am: 06.03.2012, 22:08
Titel: Fitten eines simulierten Spektrums an Messdaten
Hallo Zusammen,
ich bin ehrlich gesagt absoluter Matlab-Neuling und hätte da mal eine Frage.
Ich habe mit Matlab ein Skript verfasst, dass mir ein Emissionsspektrum simuliert. Nun möchte ich diese Simulation gerne an meine Messdaten anfitten.
Allerdings berechnet sich das Spektrum mit mehreren for schleifen. Es handelt sich bei dem Spektrum also nicht um eine klassische Funktion wie sie bei den Matlab Fithilfsmitteln definiert werden kann.
Kann ich das Spektrum trotzdem anpassen und wenn ja, mit welchem Matlabbefehl am besten?
Viele Grüße
P.S. - Meine Matlab Version hat keinerlei Toolboxen
Die zu fittenden Daten sind angehängt, um sie hochladen zu können habe ich sie in .txt umbenannt. Falls sich also jemand daran versucht, wieder in .dat umbenennen.
for i=1:nx;
Epsilona(:,i) = (A2a*n2(:,i)*h*y)/(4*3.141);
end %Emissionskoeffizient Linienstrahlung
Epsilonla=Epsilona.*Fa;
for i=1:nx;
Epsilonb(:,i) = (A2b*n2(:,i)*h*y)/(4*3.141);
end
Epsilonlb=Epsilonb.*Fb;
%mesh(y,x,Epsilonlb)
for i=1:nx;
Epsilonk(:,i) = 1.63*10^-34*ne(:,i).^2*(c./y).^2*Bib*T.^(-1/2);
end %Emissionskoeffizient Kontinuumstrahlung
em=Epsilonla+Epsilonlb+Epsilonk;
%mesh(x,y,Epsilonk)
for i=1:nx;
Kappaa(:,i) = ((g2/ga*B2a*na(:,i) - B2a*n2(:,i))*h*y)/c;
end %Absorbtionskoeffizient Linienstrahlung
Kappala=Kappaa.*Fa;
for i=1:nx;
Kappab(:,i) = ((g2/gb*B2b*nb(:,i) - B2b*n2(:,i))*h*y)/c;
end
Kappalb=Kappab.*Fb;
%mesh(x,y,abs)
for i=1:nx;
Kappak(:,i) = Epsilonk(:,i)./Sks;
end %Absorbtionskoeffizient Kontinuumstrahlung
abs=Kappala+Kappalb+Kappak;
%mesh(x,y,abs)
I=zeros(ny+1,1);%Berechnung Strahlungstransportgleichung
for i=1:nx;
Verfasst am: 11.06.2012, 21:29
Titel: Fitten eines simulierten Spektrums an Messdaten
Hi,
ich weiß nicht, ob Du noch eine Antwort brauchst. Falls ja:
Du solltest am besten eine Funktion schreiben, die Dir die Differenz zwischen Mess- und theoretischen Daten berechnet. Hier bietet sich die Summe der Quadrate der Differenzen an. Die Wurzel brauchst Du nicht zu berechnen, da die anschließende Optimierung eh nur den Minimalwert sucht, und der Absolutwert eher keine brauchbare Aussage liefert.
Dann probier es mal mit der Funktion fmins. In der Hilfe findest Du Beispiele, oder Du fragst hier nochmal nach.[/code]
Gruß
Wolfgang.
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
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.