Effacer les filtres
Effacer les filtres

Verlocity Verlet Verfahren - Zusammenstoß zweier Kugeln

1 vue (au cours des 30 derniers jours)
Lea Hilfert
Lea Hilfert le 17 Juin 2023
Modifié(e) : Lea Hilfert le 19 Juin 2023
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)

Réponses (1)

Andreas Goser
Andreas Goser le 19 Juin 2023
Modifié(e) : Andreas Goser le 19 Juin 2023
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 commentaire
Andreas Goser
Andreas Goser le 19 Juin 2023
Weiterhin fällt mir auf, dass im Codefragment die Funktion Geschwindigkeit_2 gar nicht vorkommt, Geschwindigkeit_1 aber zweimal...

Connectez-vous pour commenter.

Community Treasure Hunt

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

Start Hunting!