%RK4 approximate the solution of the initial value problem
%
% x'(t) = RHS( t, x ), x(t0) = x0
%
% using the classical fourth-order Runge-Kutta method - this % routine will work for a system of first-order equations as % well as for a single equation
%
% calling sequences: % [wi, ti] = rk4 ( RHS, t0, x0, tf, N ) % rk4 ( RHS, t0, x0, tf, N )
%
% inputs: % RHS string containing name of m-file defining the % right-hand side of the differential equation; the % m-file must take two inputs - first, the value of % the independent variable; second, the value of the % dependent variable % t0 initial value of the independent variable % x0 initial value of the dependent variable(s) % if solving a system of equations, this should be a % row vector containing all initial values % tf final value of the independent variable % N number of uniformly sized time steps to be taken to % advance the solution from t = t0 to t = tf
%
% output: % wi vector / matrix containing values of the approximate % solution to the differential equation % ti vector containing the values of the independent % variable at which an approximate solution has been % obtained
%
neqn = length( x0 );
ti = linspace( t0, tf, N+1);
wi = [zeros( neqn, N+1)];
wi(1:neqn, 1) = x0';
Lösungssystem:
[math]
y_1' = -0.5y_1 + 32.6y_2 + 35.7y_3 \\
y_2' = - 48 y_2 + 9 y_3 \\
y_3' = 9 y_2 - 72y_3\\
mit Anfangswerten y(0) = \begin{pmatrix}
4 \\
13 \\
1 \\
\end{pmatrix}
[\math]
Schrittweite: Einmal 0.035 und einmal 0.045
Im intervall sagen wir mal von 0 bis 1.2
Also mein größtes Problem ist, dass ich keine Ahnung hab wie ich das gleichungssystem in diese Funktion implementieren soll. Wäre super wenn mir da jemand helfen könnte! Den Rest müsste ich eigentlich alleine hinbekommen hoffe ich.
Das Posten des Runge-Kutta-Programms ist hier gar nicht hilfreich, oder?
Das Gleichungssystem zu implementieren ist nicht schwierig. Was hast Du denn bisher versucht und welche Probleme sind aufgetreten? Hast Du schon die Dokumentation zu "doc ode45" gelesen? ODE45 macht nämlich im Prinzip das gleiche.
Es ist schwierig eine Antwort zu geben, ohne gleich die ganze Hausaufgabe zu lösen.
Gruß, Jan
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.