Bewegungsgleichung Fussball

Neue Frage »

bitman Auf diesen Beitrag antworten »
Bewegungsgleichung Fussball
Meine Frage:
Ich habe das Kräftegleichgewicht für einen Fussball aufgestellt. Mit Luftwiderstand und Magnuskraft.
Nun steh ich vor dem Problem dass ich gerne die DGL numerisch in Matlab lösen möchte ,nur weiß ich leider nicht wie ich fortfahren soll.
Kann mir jemand vllt eine Hilfestellung geben?

Meine Ideen:
K, gamma, m, g, alle omegas und v0 sind Konstanten, v0=[vx vy vz]=vo*[cos alpha 0 sin alpha]
Ändru Auf diesen Beitrag antworten »

Ähm... irgendwie verstehe ich nicht was du willst... Brauchst du einen Beispielcode für Matlab? oder was willst du genau? ODE45 sollte dein Problem eigentlich ohne weiteres lösen... Oder willst du wissen wie man allgemein DGL's numerisch löst?

Grüße
Ändru Auf diesen Beitrag antworten »

Ich bin mal davon ausgegangen dass du einen Schreibfehler hattest und die DGL nur als Ableitung hat...

Im Anhang findest du den MatlabCode

PS: Ich weiß, der Code ist nicht im geringsten optimal implementiert aber für deine Zwecke sollte es reichen.

Grüße
bitman Auf diesen Beitrag antworten »

Hi Ändru,

Ja stimmt, die Funktion hat keine Ableitung der Masse. smile

Ich danke dir echt vielmals!!

Der Code funktioniert soweit super. Nur ist es nachdem ich meine Parameter angepasst hab und deinen Winkel gelassen hab gleich in eine Singularität gelaufen. Augenzwinkern

Ich bin leider nicht so versiert mit der ode-Funktion, ist es möglich jetzt noch nach dem Weg zu integrieren ?
Huggy Auf diesen Beitrag antworten »

In deiner Bewegungsgleichung stimmt der Luftwiderstand nicht. Der Luftwiderstand ist proportional zum Quadrat des Betrages der aktuellen Geschwindigkeit und dem aktuellen Geschwindigkeitsvektor entgegen gerichtet. Bei deiner Bewegungsgleichung ist aber jede Komponente des Luftwiderstandes proportional zum Quadrat der Geschwindigkeitskomponente in der gleichen Richtung und das ist etwas ganz anderes.

Sei v der Betrag der aktuellen Geschwindigkeit:



Dann gilt für den Luftwiderstand:



Dabei ist ein Einheitsvektor in der aktuellen Flugrichtung:



Damit ergibt sich:

bitman Auf diesen Beitrag antworten »

Danke dir, hab gleich in meiner Berechnung ausgebessert.

Grüße
 
 
Ändru Auf diesen Beitrag antworten »

Natürlich geht das, du musst nur das integrationsintervall ändern... ist ja völlig wurscht nach was du integrierst, ich habs halt bzw. genannt. Kannst natürlich auch einfach nehmen und das Intervall und die Dimension anpassen. Wie Huggy schon bemerkt hatte, hast du einen Fehler bei der Aufstellungen und Umformung gemacht, der fiehl mir aber auch nicht direkt auf. Deine DGL ist im Augenblick noch nicht skalierbar und deswegen musst einfach auf die Dimension deines Intervalls achten.

Grüße
bitman Auf diesen Beitrag antworten »

Hab hier mal den Code für die doppelte Integration:
Jedoch kommt meiner Meinung nach nicht dass erwartete Ergebnis raus, hat es nur was mit der numerischen Integration zu tun oder stimmt was anderes nicht?

Kann mir irgendwie keinen Reim daraus machen.


function fussball
close all
clear all




%Fehler vorgeben, z.B. 10^-6
options = odeset('RelTol',1e-6);
%Anfangswert
v_0 = 100/3.6;
alpha = 45;
t_0 =[0 v_0*cosd(alpha) 0 0 0 v_0*sind(alpha)];
%Intervall vorgeben bsp. [0,2]
tspan = [0:0.2:20];
%Solver

[t,y]= ode45(@dgl_fussball,tspan,t_0,options);
weg_x_y_z(:,1)=y(:,1);
weg_x_y_z(:,2)=y(:,3);
weg_x_y_z(:,3)=y(:,5);

assignin('base','weg_x_y_z',weg_x_y_z)
assignin('base','y',y)


figure
plot(y(:,1),y(:,5));
axis([0 80 0 15 ]);
grid on

end



%---------------------
function dy=dgl_fussball(t,y)


dichte=1.2;
cw=0.143;
r=0.11;
cs=0.2;
A=pi*r^2;
gamma=0.5*cs*dichte*A;
omx=0;
omy=0;
omz=0;
omega=2*pi*[omx omy omz];
m = 0.43;
K = 0.5*cw*dichte*A;
g = 9.81;


dy = zeros(6,1);

dy(1,1)=y(2);
dy(2,1)=1/m*(-K*y(2)*sqrt(y(2)^2+y(4)^2+y(6)^2)+gamma*(omega(2)*y(6)-omega(3)*y(4)));
dy(3,1)=y(4);
dy(4,1)=1/m*(-K*y(4)*sqrt(y(2)^2+y(4)^2+y(6)^2)+gamma*(omega(3)*y(2)-omega(1)*y(6)));
dy(5,1)=y(6);
dy(6,1)=1/m*(-g-K*y(6)*sqrt(y(2)^2+y(4)^2+y(6)^2)+gamma*(omega(1)*y(4)-omega(2)*y(2)));

end
Ändru Auf diesen Beitrag antworten »

Gib mal bei tspan einfach nur an, und nicht die Stützstellen selber, der ODE45 hat ne Schrittweitensteuerung drin, du brauchst das also nicht.

Grüße
bitman Auf diesen Beitrag antworten »

Vielen Dank für deine Hilfe.
Würd aber ne andere Flugkurve erwarten...

Die 2 Flugkurven sind von den eingestellen Parametern indentisch, jedoch völlig unterschiedlich.

Die "erwartete" Flugkurve wurde per Hand intergriert dass am Schluss x(t) rauskommt! (jedoch ohne Ballrotation um x und y) Siehe Foto Formeln
Huggy Auf diesen Beitrag antworten »

Wenn man sich deine Lösung der Bewegungsgleichungen für , also ohne Magnuskraft, ansieht, sieht man sofort, dass das keine Lösungen der Bewegungsgleichungen des schrägen Wurfs mit korrektem Luftwiderstand sind. Es sind Lösungen mit deiner ursprünglichen nicht korrekten Implementierung des Luftwiderstands.

Die korrekten Bewegungsgleichungen des schrägen Wurfs mit Luftwiderstand lassen sich nicht analytisch lösen. Man ist auf numerische Methoden angewiesen.

Um korrekt zu sein: Man kann analytisch schon ein paar Fortschritte machen. Aber deren praktischer Nutzwert ist gering. Siehe dazu die Links meines Beitrags in:

http://www.physikerboard.de/ptopic,172406.html#172406
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »