Hallo zusammen,
ich habe ein paar Probleme bei dieser Aufgabe. Ich möchte unbekannte Dämpfungs- und Federkonstanten r und k festlegen durch die Differentialgleichung und Messwerte bzw. Zeitpunkte t und Auslenkung y. Dazu habe ich ode23 verwendet und programmiert aber irgendwas stimmt nicht. Könnt ihr mal schauen? Danke im Voraus
Diffglch: my"+ ry'+ ky = 0
% Differentialgleichung function f = ode_rhs(t,y,m,r,k)
function y1 = modellfunk(x,tData)
%UNTITLED2 Summary of this function goes here
% Detailed explanation goes here
m = 2;
r = x(1);
k = x(2);
dgl = @(t,y) ode_rhs(t,y,m,r,k);
T = tData;
[T,Y] = ode23(dgl,tData,[10]);
y1 = Y(:,1);
y2 = Y(:,2);
wenn du die Funktion mit den Anfangswerten aufrufst:
y1(x0, T)
dann kommt ein Spaltenvektor mit 6 Elementen heraus. Dein Y ist aber ein Zeilenvektor. Also Y beim Aufruf von lsqcurvefit transponieren.
wenn du die Funktion mit den Anfangswerten aufrufst:
y1(x0, T)
dann kommt ein Spaltenvektor mit 6 Elementen heraus. Dein Y ist aber ein Zeilenvektor. Also Y beim Aufruf von lsqcurvefit transponieren.
Grüße,
Harald
ja das habe ich in der modellfonktion y1 in matrix umgewandelt, aber funktionierte es nicht dann einfach als 1x6 matrix geschrieben und nun die Konstanten herausgefunden. Ich danke Ihnen.
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.