Verlocity Verlet Verfahren - Zusammenstoß zweier Kugeln

2 次查看(过去 30 天)
Ich soll die Bewegung beider Partikel durch die Gravitations und Auftriebskraft und die Kollisionskraft berechnen mit dem Velocity Verlet-Verfahren. Erstellen sie für die Kräfte Matlab Funktionen, die die jeweilige Kraft als Ausgabeparameter haben.
Ich stecke immer noch bei Aufgabe 1 fest, erstmal weiß ich nicht wie man überhaupt eine Geschwindigkeit berechnen kann wenn man erstmal die Widerstandskraft nach Stokes vernachlässigen soll. Weiterhin verstehe ich nicht ganz wie ich in der overlap Funktion die Geschwindigkeit de Partikel einfügen soll
%% Zeitsimulation - Velocity Verlet Verfahren
for g = 1:n-2
v_p1 = Geschwindigkeit_1 (m_1, V_K,r1)
v_p2 = Geschwindigkeit_2 (m_2, V_K,r2)
x_p2(g+1,:) = x_p2(g,:) + v_p2(g,:) * dt + 0.5 * a_p2(g,:) * dt * dt;
overlap(g) = betrag(overlapping(x_p1(g,:), x_p2(g,:), r1, r2));
if(betrag(overlapping(x_p1(g,:), x_p2(g,:), r1, r2)) > 0 && coll_flag)
coll_flag = false;
waitfor(msgbox("Beginn der Kollision"));
end
end
%% Überlappungsfunktion
function [d] = overlapping(x1, x2, r1, r2)
delta_x = x1 - x2;
d_betrag = betrag(delta_x) - (r1 + r2);
if(d_betrag > 0)
d_betrag = 0;
end
d = delta_x ./ norm(delta_x) * d_betrag;
end
%% Betragsfunktion
function l = betrag(x)
l = sqrt(x(1)^2 + x(2)^2);
end
%% Funktion Geschwindigkeit 1
function v_p1 = Geschwindigkeit_1 (m_1, V_K,r1)
g = 9.81;
roh_fluid = 1000;
eta = 0.001;
v_p1 = ((m_1 * g) - (roh_fluid * V_K * g))/ (6 * pi *eta * r1)
end
Es kommt folgender Fehler:
Output argument "v_p1" (and possibly others) not assigned a value in the execution with
"Versuch_NEU>Geschwindigkeit_2" function.
Error in Versuch_NEU (line 63)
v_p2 = Geschwindigkeit_2 (m_2, V_K,r2)

回答(1 个)

Andreas Goser
Andreas Goser 2023-6-19
编辑:Andreas Goser 2023-6-19
Die Fehlermeldung bedeutet zunächst, dass die Übergabeparameter die die Funktion erwartet nicht im Workspace vorhanden sind. Also eine Variable (noch) nicht zugewiesen ist.
Da sich die Fragestellung nach einer Art Hausaufgabe anhört stellt sich die Frage, ob der Code von einer anderen Person übernommen wurde oder selbst entwickelt.
  1 个评论
Andreas Goser
Andreas Goser 2023-6-19
Weiterhin fällt mir auf, dass im Codefragment die Funktion Geschwindigkeit_2 gar nicht vorkommt, Geschwindigkeit_1 aber zweimal...

请先登录,再进行评论。

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!