Hi,
eigentlich weiss ich nicht so recht ob es eher hierher passt oder ins Programmierboard, ich versuche es einfach mal…
Ausgangssituation:
Anfangbedingung: Vektor v0=[v1, v2] (Anfangsgeschwindigkeit eines Massepunktes)
Eine entsprechende Diffenetialgleichung da v=v(t). So weit so schlecht. Nun habe ich es geschafft die DGL mit Matlab zu loesen (juhu, immerhin waren es die ersten Gehversuche). Als Ergebnis bekomme ich den Vektor X. X besteht aus zwei Spalten: v1(t) und v2(t), also Geschwindigkeitsvektoren in die x- und y-Richtung. Die kann ich dann auch plotten, das Ergebnis sind dann zwei Kurven.
Was ich aber nun will: ich will die Bewegungskurve Plotten, also die Bahn des Massepunktes. Nett waere auch wenn die Loesung am hoechsten Punkt der Bahn enden wuerde (also wenn v2(t)=0). Nun ist Matlab aber leider noch mir ziemlich fremd… Waere toll wenn einer die Idee haette wie ich das anstelle. Anbei das Programmlisting:
[Hauptdatei]
[…]
% Berechnung der Endgeschwindigkeit Zone 2
xPunkt = zeros(2,1);
t0=0;
tende = 0.5;
x01 = v1;
x02 = v2;
[T, X] = ode45(@DglSystem, [t0, tende], [x01, x02]);
plot(T,X(:,1),’-’,T,X(:,2),’-.’)
[…]
[DglSystem.m]
function xPunkt=DglSystem(t, x)
xPunkt = zeros(2,1);
xPunkt = 9.81 * [ x(1)*x(2) / (x(1)*x(1) + x(2)*x(2)) ;
- x(1)*x(1) /( x(1)*x(1) + x(2)*x(2)) ];
Was hier geplottet wird ist v1(t) und v2(t) gegen t…
Was ich aber haben will ist v(t) gegen t und optimalerweise x(t) gegen t, also die Bahn… Fuer Anregungen dankbar
Gruss
Paul