2016-07-06 10 views
1

Problem: Verwenden Sie die folgenden Daten, um die Geschwindigkeit und Beschleunigung finden bei t = 10 Sekunden:zentrierte Finite-Differenzen in Scilab

Time, t, s  0 2 4 6 8 10 12 14 16 

Position, x, m 0 0.7 1.8 3.4 5.1 6.3 7.3 8.0 8.4 

Ich nahm mir vor die zentrierte Finite-Differenzen-

enter image description here

Wie kann ich das in Scilab anwenden?

Antwort

0

Diese berechnete Geschwindigkeit aus dem gegebenen Arrays x und t, mit zentralen Unterschieden:

v = (x(3:$) - x(1:$-2)) ./ (t(3:$) - t(1:$-2)) 

Um zu sehen, was das ist, in jedem Bereich auf dem ersten Index konzentrieren:

(x(3) - x(1)) ./ (t(3) - t(1)) 

ist klar, Dies ist die Geschwindigkeit im 2. Moment der Zeit. Die Formel führt diese Berechnung für alle Zeiten durch, wenn es möglich ist; Die zentrierte Differenzformel gilt nicht im ersten und letzten Moment. Man will kann verkürztes Zeitbereich einzuführen, dies zu reflektieren:

tr = t(2:$-1) 

Ebenso für die Beschleunigung:

a = (x(3:$) - 2*x(2:$-1) + x(1:$-2)) ./ (t(3:$) - t(1:$-2)).^2 

Dies kann nun mit plot(tr,v) oder plot(tr,a) aufgetragen werden. Und ihre Werte zu sehen, wenn die Zeit 10 ist, verwenden

v(tr==10) 

und

a(tr==10) 
Verwandte Themen