Ich versuche die Bewegung eines Teilchens in einem Potential zu modellieren und Feedback zu integrieren. Das Problem, das ich habe, ist eine Verzögerung der Rückmeldung hinzuzufügen. Also, in Matlab arbeiten, habe ich ein einfaches Skript, das wie folgt aussieht:Lösen von gekoppelten Differentialgleichungen mit Zeitverzögerung
clear all; close all;
qx = .3;
qy = .4;
qz = .5;
om_D = 1.2e8;
ep = 1e-10;
t = 0:1e-11:1e-5;
[t,rss]=ode45(@ion_test, t, [1e-7 .45 2e-7 -.45 0.5e-7 .45],[], qx, qy, qz, om_D, ep);
wo ion_test.m
eine Funktion Datei, die wie folgt lautet:
function dr = ion_test(t,r, qx, qy, qz, om_D, ep)
dr = zeros(6,1);
dr(1) = r(2);
dr(2) = (2*qx*cos(om_D.*t) + ep.*2*r(3)*r(5));
dr(3) = r(4);
dr(4) = (2*qy*cos(om_D.*t) + ep.*2*r(1)*r(5));
dr(5) = r(6);
dr(6) = (2*qz*cos(om_D.*t) + ep.*2*r(1)*r(3));
end
So wie Sie sehen können, die Differentialgleichungen für Jede der Koordinaten von r
sind gekoppelt. Die Sache, die ich hinzufügen muss, ist die Fähigkeit für jede Gleichung, die Werte anderer Koordinaten zu früheren Zeiten aufzurufen, nicht nur ihre aktuellen Werte. Der Zweck ist, einen verzögerten Rückkopplungsmechanismus einzubauen. Jede Hilfe sehr geschätzt!
plese, post a [mcve] –
Hoffe, diese Version ist klarer –
nein. Ich muss in der Lage sein, es zu kopieren und es –