Borrar filtros
Borrar filtros

Verlocity Verlet Verfahren - Zusammenstoß zweier Kugeln

1 visualización (últimos 30 días)
Lea Hilfert
Lea Hilfert el 17 de Jun. de 2023
Editada: Lea Hilfert el 19 de Jun. de 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)

Respuestas (1)

Andreas Goser
Andreas Goser el 19 de Jun. de 2023
Editada: Andreas Goser el 19 de Jun. de 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 comentario
Andreas Goser
Andreas Goser el 19 de Jun. de 2023
Weiterhin fällt mir auf, dass im Codefragment die Funktion Geschwindigkeit_2 gar nicht vorkommt, Geschwindigkeit_1 aber zweimal...

Iniciar sesión para comentar.

Etiquetas

Community Treasure Hunt

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

Start Hunting!