Dies erzeugt mir eine schöne Kurve von der ich in einem nächsten Schritt, einige Werte verändere. Für diese neuen y Werte möchte ich nun die Paramter, LAMDA; LIVER; NU; ALPHA und BETA und MU schätzen.
Code:
X = [ones(size(y,1), 1), -y(:,1), -y(:,1).*y(:,2), (y(:,1)- A).*stepfun(y(:,1),A)];
Y = VD.*(glucose - glucose1 - gyy.*10) - (oral(t));
p = regress(Y, X);
LiverGlucose = p(1);
LAMBDA = p(2);
NU = p(3);
MU = p(4);
Leider kommt absolut nicht das heraus was ich erwarte. Die Kurve trifft nicht die Punkte die ich zuver eingeben habe und auch sonst ist die Kurve wirklich wirr.
du berücksichtigst in deinem Code die Indexverschiebung der Formel nicht.
Für X würde ich (1:end-1, ...) nehmen, für Y die folgenden Werte, als (2:end, :).
Wie passen denn 2 regress-Aufrufe dazu, dass du in 1 Gleichung etwas anpassen willst?
Ansonsten bitte darauf achten, Variablennamen entsprechend der Formel zu verwenden oder umgekehrt. Hatten wir das nicht auch schon mal?
... was aus dem zur Verfügung gestellten Code ja nicht zu erahnen war.
Zitat:
Es sind 2 Funktionen die sich gegenseitig beeinflussen bei denen alerdings die Parameter geschätz gehören.
Dann kann man die Parameter aber nicht getrennt schätzen.
In deinem ersten Beitrag sehe ich nur eine Formel, und in der werden andere Bezeichnungen verwendet als im Code. Das macht es extrem schwierig, dir zu helfen.
Grüße,
Harald
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.