Re: Risalire allo spostamento dall'accelerazione

Messaggioda vegetablu » 27/02/2017, 11:43

apatriarca ha scritto:Devi usare un metodo di integrazione numerica. Siccome vuoi arrivare alla posizione dall'accelerazione dovrai integrare "due volte". Nota che qualsiasi metodo usato avrà un errore che crescerà con il tempo. E' quindi opportuno avere un qualche sistema che corregge questo errore ad intervalli regolari (se possibile e se il sistema deve funzionare per tempi lunghi).

Grazie per avermi risposto.
Si, lo so che devo integrare due volte, ma questo lavoro devo farlo fare al mio pc. Il problema è riuscire a capire la formula precisa.

Se io integro due volte l'accelerazione avendo definito il tempo, la formula finale sarà:
Spazio = (accelerazione * tempo^2)/2
dove il tempo è la distanza di tempo tra la prima e la seconda rilevazione. Dico bene?
Ho provato ad integrare due volte utilizzando wolfram alpha (noto programma per i calcoli matematici) ma il risultato viene differente (a me viene la metà). Sbaglio io oppure sbaglio ad inserire la formula in wolfram?

Grazie mille!
vegetablu
Starting Member
Starting Member
 
Messaggio: 3 di 18
Iscritto il: 26/02/2017, 16:08

Re: Risalire allo spostamento dall'accelerazione

Messaggioda apatriarca » 27/02/2017, 12:28

Devi prima di tutto considerare anche la velocità e la posizione iniziale. La tua accelerazione non è poi costante, ma cambia nel tempo. Non puoi quindi usare la formula per il moto uniformemente accelerato. Devi integrare una funzione \( \mathbf{a}(t) \) ottenendo:
\[\begin{align*}
\mathbf{v}(t) &= \mathbf{v_0} + \int_0^t \mathbf{a}(s)\,\mathrm{ds} = \mathbf{v_0} + \mathbf{A}(t) \\
P(t) &= P_0 + \mathbf{v_0}\,t + \int_0^t \mathbf{A}(s)\,\mathrm{ds} = P_0 + \mathbf{v_0}\,t + \mathbf{\Lambda}(t).
\end{align*} \]
Supponendo \(\mathbf{a}(t)\) costante tra intervalli di tempo consecutivi puoi pensare di usare la formula per il moto uniformemente accelerato per aggiornare i valori di \(\mathbf{v}(t)\) e \(P(t)\) tra intervalli consecutivi. Si tratta del metodo di integrazione più semplice. Ce ne sono di più complessi.
apatriarca
Moderatore
Moderatore
 
Messaggio: 4556 di 10435
Iscritto il: 08/12/2008, 20:37
Località: Madrid

Re: Risalire allo spostamento dall'accelerazione

Messaggioda vegetablu » 27/02/2017, 17:56

apatriarca ha scritto:Devi prima di tutto considerare anche la velocità e la posizione iniziale. La tua accelerazione non è poi costante, ma cambia nel tempo. Non puoi quindi usare la formula per il moto uniformemente accelerato. Devi integrare una funzione \( \mathbf{a}(t) \) ottenendo:
\[\begin{align*}
\mathbf{v}(t) &= \mathbf{v_0} + \int_0^t \mathbf{a}(s)\,\mathrm{ds} = \mathbf{v_0} + \mathbf{A}(t) \\
P(t) &= P_0 + \mathbf{v_0}\,t + \int_0^t \mathbf{A}(s)\,\mathrm{ds} = P_0 + \mathbf{v_0}\,t + \mathbf{\Lambda}(t).
\end{align*} \]
Supponendo \(\mathbf{a}(t)\) costante tra intervalli di tempo consecutivi puoi pensare di usare la formula per il moto uniformemente accelerato per aggiornare i valori di \(\mathbf{v}(t)\) e \(P(t)\) tra intervalli consecutivi. Si tratta del metodo di integrazione più semplice. Ce ne sono di più complessi.


Sia in V che in P, come tratto l'accelerazione?
Cioè, se $V = V0 + A(t) = m + m/s^2$
mi verranno metri più metri fratto secondi al quadrato, quindi la posizione sarà metri su secondo quadrato. Devo sicuramente applicare la radice quadrata su entrambe le formule no?
Anzi su entrambe forse no. Come faccio a far andare via i secondi al quadrato?
Grazie
vegetablu
Starting Member
Starting Member
 
Messaggio: 4 di 18
Iscritto il: 26/02/2017, 16:08

Re: Risalire allo spostamento dall'accelerazione

Messaggioda apatriarca » 27/02/2017, 17:59

Non capisco il commento.. Entrambe le grandezze hanno unità di misura m/s
apatriarca
Moderatore
Moderatore
 
Messaggio: 4558 di 10435
Iscritto il: 08/12/2008, 20:37
Località: Madrid

Re: Risalire allo spostamento dall'accelerazione

Messaggioda vegetablu » 27/02/2017, 20:07

apatriarca ha scritto:Non capisco il commento.. Entrambe le grandezze hanno unità di misura m/s

Intendo che l'accelerazione si misura in $m/s^2$, quindi sia per la velocità che per la posizione sommerò metri con metri su secondo quadro.

Facciamo un esempio con numeri per capire se ho capito o se sbaglio (cosa molto probabile ehehhe, scusatemi):

FORMULA:
V = V0 + A(t);
P = P0 + V0*t + A(t);


Quindi supponendo che io effettuo 4 misure ogni 40 millisecondi ed ottengo:

misura, tempo (secondi), accelerazione (metri/secondi*secondi)
1, 0 sec, 0.03 m/s^2;
2, 0.04 sec, 0.05 m/s^2;
3, 0.08 sec, 0.02 m/s^2;
4, 0.12 sec, 0.04 m/s^2;


Avrò:
1)$ v1 = 0 + A(1) = 0 + 0.03 = 0.03 m/s;
P1 = 0 + 0*0 + A(1) = 0 + 0*0 + 0.03 = 0.03 m $
2) $ v2 = V1 + A(2) = 0.03m/s + 0.05m/s^2 = 0.08 m/s;
P2 = P1 + V1*T + A(2) = 0.03m + 0.04s*0.03m/s + 0.05m/s^2 = 0.0812 m$
3) $ v3 = V2 + A(3) = 0.08m/s + 0.02m/s^2 = 0.10 m/s;
P3 = P2 + V2*T + A(3) = 0.0812m + 0.04s*0.08m/s + 0.02m/s^2 = 0.1044 m$
4) $ v4 = V3 + A(4) = 0.10m/s + 0.04m/s^2 = 0.14 m/s;
P4 = P3 + V3*T + A(3) = 0.1044m + 0.04s*0.10m/s + 0.04m/s^2 = 0.1484 m$

Totale = P1 + P2 + P3 + P4 = 0.03 + 0.0812 + 0.1044 + 0.1484 = 0.364metri ovvero 36.4cm (anche se in realtà l’oggetto non si è mai mosso con queste misure ehhehehhehe ).
vegetablu
Starting Member
Starting Member
 
Messaggio: 5 di 18
Iscritto il: 26/02/2017, 16:08

Re: Risalire allo spostamento dall'accelerazione

Messaggioda apatriarca » 27/02/2017, 20:31

Devi stare molto più attento alla notazione. Non ho usato simboli a caso. Quindi \(\mathbf{a}(t) \neq \mathbf{A}(t)\).. La prima è l'accelerazione, l'altra il suo integrale. Hai insomma completamente frainteso la formula.
apatriarca
Moderatore
Moderatore
 
Messaggio: 4560 di 10435
Iscritto il: 08/12/2008, 20:37
Località: Madrid

Re: Risalire allo spostamento dall'accelerazione

Messaggioda apatriarca » 27/02/2017, 23:00

Nota che quello che ho scritto non è una formula risolutiva numerica. Ho semplicemente riportato le formule matematiche che definiscono il moto nel tuo caso. Quindi non puoi usarle direttamente.

Per usarle devi fare qualche passaggio intermedio. Supponiamo ad esempio (è ovviamente una approssimazione) che tra il tempo \(t_i\) e \(t_{i+1}\) l'accelerazione varierà in modo lineare tra \(a_i\) e \(a_{i+1}\). Sia quindi \(t_i <= t <= t_{i+1}.\) Possiamo calcolare la velocità al tempo \(t\) con la formula:
\[ \begin{align*}
\mathbf{v_{t}} &= \mathbf{v_{i}} + \int_{t_i}^{t} \Bigl( \mathbf{a_i} + \frac{s - t_i}{t_{i+1} - t_i}\,(\mathbf{a_{i+1}} - \mathbf{a_{i}}) \Bigr)\,\mathrm{ds} \\
&= \mathbf{v_i} + \mathbf{a_i}\,(t - t_i) + \frac{\mathbf{a_{i+1}} - \mathbf{a_i}}{2\,(t_{i+1} - t_i)}\,(t - t_i)^2.
\end{align*} \]

Avendo l'equazione della velocità possiamo a questo punto calcolarci la posizione ottenendo (a meno di errori nei calcoli):
\[ \begin{align*}
P_{i+1} &= P_{i} + \int_{t_i}^{t_{i+1}} \Bigl(\mathbf{v_i} + \mathbf{a_i}\,(t - t_i) + \frac{\mathbf{a_{i+1}} - \mathbf{a_i}}{2\,(t_{i+1} - t_i)}\,(t - t_i)^2\Bigr)\,\mathrm{dt} \\
&= P_i + \mathbf{v_i}\,\mathrm{\Delta\,t} + \frac{\mathbf{a_{i+1}} + 2\,\mathbf{a_i}}{6}\,(\mathrm{\Delta\,t})^2.
\end{align*} \]

Il ciclo finale sarà quindi qualcosa di simile al seguente:
Codice:
P += v*dt + (a_new + 2*a_old)*dt*dt/6
v += 0.5*(a_new + a_old)*dt


Questo è solo un esempio di metodi approssimati per calcolare il valore che stai cercando. Ce ne sono tantissimi e ognuno ha i suoi vantaggi/svantaggi. Nel tuo esempio hai che \( \mathrm{\Delta\,t} = 0.04 \mathrm{s}. \) Seguendo la formula precedente, supponendo che \(\mathbf{v_0} = 0\) e \(P_0 = 0\) ottieni:
\[\begin{align*}
P_1 &= (0.05 + 2 \times 0.03) \times 0.04 \times 0.04/6 = 2.93\,10^{-5} \\
\mathbf{v_i} &= 0.5 \times (0.05 + 0.03) \times 0.04 = 0.0016 \\
P_2 &= ...
\end{align*}\]

Nel caso di vettore devi fare lo stesso calcolo su tutte le coordinate ovviamente..
apatriarca
Moderatore
Moderatore
 
Messaggio: 4561 di 10435
Iscritto il: 08/12/2008, 20:37
Località: Madrid

Re: Risalire allo spostamento dall'accelerazione

Messaggioda vegetablu » 28/02/2017, 12:06

apatriarca ha scritto:Nota che quello che ho scritto non è una formula risolutiva numerica. Ho semplicemente riportato le formule matematiche che definiscono il moto nel tuo caso. Quindi non puoi usarle direttamente.

Per usarle devi fare qualche passaggio intermedio. Supponiamo ad esempio (è ovviamente una approssimazione) che tra il tempo \(t_i\) e \(t_{i+1}\) l'accelerazione varierà in modo lineare tra \(a_i\) e \(a_{i+1}\). Sia quindi \(t_i <= t <= t_{i+1}.\) Possiamo calcolare la velocità al tempo \(t\) con la formula:
\[ \begin{align*}
\mathbf{v_{t}} &= \mathbf{v_{i}} + \int_{t_i}^{t} \Bigl( \mathbf{a_i} + \frac{s - t_i}{t_{i+1} - t_i}\,(\mathbf{a_{i+1}} - \mathbf{a_{i}}) \Bigr)\,\mathrm{ds} \\
&= \mathbf{v_i} + \mathbf{a_i}\,(t - t_i) + \frac{\mathbf{a_{i+1}} - \mathbf{a_i}}{2\,(t_{i+1} - t_i)}\,(t - t_i)^2.
\end{align*} \]

Avendo l'equazione della velocità possiamo a questo punto calcolarci la posizione ottenendo (a meno di errori nei calcoli):
\[ \begin{align*}
P_{i+1} &= P_{i} + \int_{t_i}^{t_{i+1}} \Bigl(\mathbf{v_i} + \mathbf{a_i}\,(t - t_i) + \frac{\mathbf{a_{i+1}} - \mathbf{a_i}}{2\,(t_{i+1} - t_i)}\,(t - t_i)^2\Bigr)\,\mathrm{dt} \\
&= P_i + \mathbf{v_i}\,\mathrm{\Delta\,t} + \frac{\mathbf{a_{i+1}} + 2\,\mathbf{a_i}}{6}\,(\mathrm{\Delta\,t})^2.
\end{align*} \]

Il ciclo finale sarà quindi qualcosa di simile al seguente:
Codice:
P += v*dt + (a_new + 2*a_old)*dt*dt/6
v += 0.5*(a_new + a_old)*dt


Questo è solo un esempio di metodi approssimati per calcolare il valore che stai cercando. Ce ne sono tantissimi e ognuno ha i suoi vantaggi/svantaggi. Nel tuo esempio hai che \( \mathrm{\Delta\,t} = 0.04 \mathrm{s}. \) Seguendo la formula precedente, supponendo che \(\mathbf{v_0} = 0\) e \(P_0 = 0\) ottieni:
\[\begin{align*}
P_1 &= (0.05 + 2 \times 0.03) \times 0.04 \times 0.04/6 = 2.93\,10^{-5} \\
\mathbf{v_i} &= 0.5 \times (0.05 + 0.03) \times 0.04 = 0.0016 \\
P_2 &= ...
\end{align*}\]

Nel caso di vettore devi fare lo stesso calcolo su tutte le coordinate ovviamente..


Praticamente ho sbagliato tutto. Per questo mi veniva metri su secondi quadrati più metri.
Di matematica non sono bravo :oops:

Nella V, le accelerazioni si sommano o si sottraggono $ V = ......(a_{i+1} - a_{i})/(........)*..... $ ? Perchè nella formula principale hai scritto che si sottragono e dopo le hai sommate.
$ V = V_{i} + a_{i}*(t-t_{i}) + ((a_{i+1} - a_{i})/(2*(t_{i+1} -t_{i}))*(t-t_{i})^2) $

Grazie
vegetablu
Starting Member
Starting Member
 
Messaggio: 6 di 18
Iscritto il: 26/02/2017, 16:08

Re: Risalire allo spostamento dall'accelerazione

Messaggioda apatriarca » 28/02/2017, 12:15

Quella formula vale per ogni \(t_i \leq t \leq t_{i+1}\). Nel codice sto calcolando \(v_{t+1}\) e in questo caso si semplificano diverse quantità. Il termine al quadrato diventa infatti \(t_{i+1} - t_i\) che si semplifica quindi con il denominatore. Siccome a questo punto i due termini con le accelerazioni sono moltiplicate per lo stesso termine li posso sommare tra di loro ottenendo \(a_{i+1} + a_i\). Si può arrivare a questa formula anche considerando il fatto che l'integrale che ho calcolato corrisponde a trovare l'area di un trapezio rettangolo di altezza \(t_{i+1} - t_i\) e basi \(a_{i+1}\) e \(a_i\).
apatriarca
Moderatore
Moderatore
 
Messaggio: 4562 di 10435
Iscritto il: 08/12/2008, 20:37
Località: Madrid

Re: Risalire allo spostamento dall'accelerazione

Messaggioda vegetablu » 28/02/2017, 13:18

apatriarca ha scritto:Quella formula vale per ogni \(t_i \leq t \leq t_{i+1}\). Nel codice sto calcolando \(v_{t+1}\) e in questo caso si semplificano diverse quantità. Il termine al quadrato diventa infatti \(t_{i+1} - t_i\) che si semplifica quindi con il denominatore. Siccome a questo punto i due termini con le accelerazioni sono moltiplicate per lo stesso termine li posso sommare tra di loro ottenendo \(a_{i+1} + a_i\). Si può arrivare a questa formula anche considerando il fatto che l'integrale che ho calcolato corrisponde a trovare l'area di un trapezio rettangolo di altezza \(t_{i+1} - t_i\) e basi \(a_{i+1}\) e \(a_i\).

Capito.

Non so perchè ma continuo a sbagliare :cry:
Il codice dovrebbe essere questo:

Codice:
v = v_i + a_old*dt + (a_new+a_old)*0.5*dt;
p = p_i + v*dt + ( (a_new + 2*a_old)*dt*dt/6 );

v_i = v;
p_i = p;


Non capisco dove sbaglio :( :cry:
vegetablu
Starting Member
Starting Member
 
Messaggio: 7 di 18
Iscritto il: 26/02/2017, 16:08

PrecedenteProssimo

Torna a Fisica, Fisica Matematica, Fisica applicata, Astronomia

Chi c’è in linea

Visitano il forum: Google Adsense [Bot] e 1 ospite