&First create the data.
t=0:.1:10;
t=t(:); % To make t a column vector % Add random noise to the data
Data=40*exp(-.5*t)+rand(size(t));
%Next, write a function file that accepts curve parameters as inputs and %then outputs the fitting error.
function sse=myfit(params,Input,Actual_Output)
A=params(1);
lamda=params(2);
Fitted_Curve=A.*exp(-lamda*Input);
Error_Vector=Fitted_Curve - Actual_Output;
% When curvefitting, a typical quantity to % minimize is the sum of squares error
sse=sum(Error_Vector.^2);
% You could also write sse as % sse=Error_Vector('*Error_Vector(; Now call FMINSEARCH.
Starting=rand(1,2);
options=optimset('Display','iter');
Estimates=fminsearch(@myfit,Starting,options,t,Data)
% To check the fit plot(t,Data,'*') hold on
plot(t,Estimates(1)*exp(-Estimates(2)*t),'r')
Hast Du den ganzen Text in ein File geschrieben?
Nur der Teil, der mit "function" beginnt, gehört in ein File. Der Teil davor ist der Aufruf von der Commando-Zeile.
Gruß, Jan
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 01.11.2011, 10:28
Titel:
Ja ich habe nur den Teil der mit Function beginnt in ein File geschrieben.......statt Data habe ich meine eigene Funktion genommen.
ste99947
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 03.11.2011, 17:00
Titel:
Hi,
Poste doch mal genau den Code, der den Fehler provoziert. Inklusive dem, das du statt Data verwendet hast. Der Code in der Matlab-Hilfe funktioniert nämlich einwandfrei.
Grüße
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.