Hallo liebe gomatlab-user
Habe folgendes Problem:
Habe einen Zahlenpool K(t) gegeben. Näherungsweise wird K(t)=Ko-exp(-t/T) angenomme. Ich möchte nun die Werte für Ko und T herausbekommen. wie funktioniert des?
Stehe da völlig aufm schlauch!
Kann mir einer helfen?
Hallo,
also ich habe diesen Befehl mal eingegeben und es öffnete sic tatsächlich ein "erklärungsfenster".
Habe noch nie mit solchen tools gearbeitet, was soll ich denn nun damit machn?
LG
function fminfit
% FMINFIT minimiert die Abweichung einer Zielfunktion zu einem vorgegebenen % Vektor (z.B. aus einer Messung) und gibt die Parameter aus
% Erstellen der Zieldaten
t = 0:0.2:100;
K0 = 5; %parameter(1)
T = 6; %parameter(2)
parameter = [K0 T];
Rauschen = rand(1,length(t))*0.2;
K = Kx(t,parameter)+Rauschen;
% Suchen der optimalen Parameter
parameter = [00]; % Startparameter für den Suchalgorithmus
parameter_new = fminsearch(@(parameter)Kerr(K,parameter,t),parameter);
% Berechnen der Zielfunktion mit den optimierten Parametern
K_new = Kx(t,parameter_new);
% Darstellen der Rohdaten und der parametrisierten Zielfunktion plot(t,K,t,K_new)
% subfunctions % ------------------------------------------------------------------------- function fout = Kx(t,parameter) % KX berechnet die Funktionswerte aus den Eingangsvariablen
fout = parameter(1)-exp(-t./parameter(2));
end
function err = Kerr(K,parameter,t) % FITFUN berechnet die Abweichung zwischen den vorgegebenen Werten und % der gewünschten Zielfunktion mit den übergebenen Parametern
f = parameter(1)-exp(-t./parameter(2));
err = norm(f-K);
end end
fminsearch ist in dem Fall deutlich aufwändiger als nlinfit.
Was du mit der Erklärungsseite machen sollst? Lesen! Vor allem das Beispiel - und das dann auf deine Situation übertragen.
Wenns dabei konkrete Probleme gibt, rühr dich.
Grüße,
Harald
Karl
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 10.01.2011, 22:10
Titel:
Okay ich werde mich morgen dran machen diese Aufgabe zu lösen.
Meine vorerst letzte Frage:
Des ist aber schon noch alles Eingaben die im Command Window eingegeben werden?
LG
fminsearch ist in dem Fall deutlich aufwändiger als nlinfit.
Was du mit der Erklärungsseite machen sollst? Lesen! Vor allem das Beispiel - und das dann auf deine Situation übertragen.
Wenns dabei konkrete Probleme gibt, rühr dich.
Grüße,
Harald
Du hast natürlich recht, nur hab ich leider die Toolbox nicht
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 11.01.2011, 19:53
Titel:
Hallo,
also ich würde es gerne mit dem "nlinfit" probieren. Wenn das der wenigere aufwand ist, ich habe nun mal versucht das "erklärungsfenster" zu verstehen, mein problem is nur das es auf englisch ist...
da versteh ich ja noch weniger wie von der deutschen mathematik.
Wie könnte ich als nächstes Vorgehen um die Aufgabe zu lösn?
LG
Und habe natülich zuvor die Zahlenpool von I(t) und t angegeben.
Der Gedanke dahinter war die Ausgangsfunktion zu logarithmisieren.
Laut einer Lektüre müsste ich nun das ganze noch fitten um dann auf tau und I0 zu stoßen, aber da is au wieder mein nächstes Problem.
Wie soll ich das denn machen?
Ist mein Weg den bis hierhin korrekt?
LG
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 11.01.2011, 21:20
Titel:
Der Code lautet natürlich so:
X = [t( : ),ones(size(t( : )))];
b = log(I( : ));
a = X\b;
tau = -1 / a(1);
I0 = exp(a(2));
das sieht doch auf den ersten Blick gut aus. Zwar ein anderer Weg als der von mir gedachte, aber macht ja nix.
Fitten musst du nichts mehr, tau und I0 sind deine berechneten Parameter.
Um zu sehen, wie gut der Fit ist, solltest du nun mal die Daten zusammen mit der Kurve plotten. Wenns in etwa passt, ists gut - wenn nicht, ist Fehlersuche angesagt.
Grüße,
Harald
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 11.01.2011, 21:36
Titel:
Ehrlich gesagt hab ich komplett den überblick verloren und weiß nicht wirklich wie ich das ganze zu einem qualitativ guten plot zusammen schreiben soll...?
Ich suche ja einen Wert für I0 und tau. Wie bekomm ich denn den nun?
soll ich mit polyfit plotten?
LG
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.