Os problemas 5 e 6 da 1a. série 1 de Outubro de 2010 A posição de uma partı́cula é determinada em diferentes instantes, e os resultados obtidos são os apresentados na tabela em baixo. O problema 5 começa por t (s) 0,000000 0,500000 1,000000 1,500000 2,000000 2,500000 3,000000 3,500000 4,000000 4,500000 x (m) 0,000000 0,250000 0,500000 0,750000 1,000000 1,250000 1,500000 1,750000 2,000000 2,250000 y (m) 1,000000 0,951057 0,809017 0,587785 0,309017 0,000000 -0,309017 -0,587785 -0,809017 -0,951057 t (s) 5,000000 5,500000 6,000000 6,500000 7,000000 7,500000 8,000000 8,500000 9,000000 9,500000 x (m) 2,500000 2,750000 3,000000 3,250000 3,500000 3,750000 4,000000 4,250000 4,500000 4,750000 y (m) -1,000000 -0,951057 -0,809017 -0,587785 -0,309017 -0,000000 0,309017 0,587785 0,809017 0,951057 Tabela 1: Posições ocupadas por uma partı́cula em diferentes instantes. pedir uma representação gráfica da trajectória da partı́cula. Isso pode fazer-se introduzindo os valores das coordenadas x e y da partı́cula numa calculadora gráfica e executando o comando para a feitura do gráfico. Eu obtive o seguinte: Figura 1: Representação gráfica das sucessivas posições apresentadas na Tabela 1 Em seguida, pedem-nos que calculemos as componentes da velocidade média 1 nos intervalos de tempo [0,0 s;2,0 s], [2,5 s;5,0 s] e [4,0 s;6,0 s]. A velocidade média de uma partı́cula num intervalo de tempo [ti ,tf ] é, por definição, dada por h~v i = ~rf − ~ri , tf − ti onde ~ri e ~rf representam, respectivamente, os vectores posição da partı́cula nos instantes inicial e final do intervalo de tempo considerado. Nos instantes que definem os intervalos de tempo que devemos analizar, o vector posição da partı́cula é, de acordo com o expresso na tabela (expresso em metro e mantendo apenas três algarismos decimais), 0,0 1,0 ~r(t = 0,0 s) = ; ~r(t = 2,0 s) = ; 1,0 0,309 1,25 2,5 ~r(t = 2,5 s) = ; ~r(t = 5,0 s) = ; 0,0 −1,0 2,0 3,0 ~r(t = 4,0 s) = ; ~r(t = 6,0 s) = . −0,809 −0,809 Assim, durante o intervalo de tempo [0,0 s;2,0 s], a velocidade média é 1,25 0,0 − 0,0 1,0 0,625 = m/s. h~v i1 = −0,5 2,0 s Da mesma maneira, para os outros dois intervalos de tempo, obtemos 0,5 0,5 h~v i2 = m/s h~v i3 = m/s. −0,4 0,0 Estas velocidades estão representadas na Figura 2. Figura 2: O vector velocidade média da partı́cula, para os três intervalos de tempo considerados. Por fim, o problema 6 pede-nos que escrevamos um programa que processe a Tabela 1 para calcular estimativas numéricas das componentes da velocidade 2 instantânea da partı́cula, de acordo com a seguinte fórmula para o cálculo numérico da derivada da função. f2 −f1 se k = 1 t2 −t1 , f −fk−1 , se 2 ≤ k ≤ N f 0 (tk )a = tk+1 k+1 −tk−1 fN −f N −1 se k = N tN −tN −1 , No nosso caso, esta expressão será aplicada à função (vectorial) posição, logo, ela deve ser lida como ~r −~r 2 1 se k = 1 t2 −t1 , ~ rk+1 −~ rk−1 ~v (tk ) = tk+1 −tk−1 , se 2 ≤ k ≤ N − 1 ~rN −~rN −1 se k = N tN −tN −1 , Tratando-se de uma igualdade vectorial, ela pode ser separada em duas igualdades escalares (uma para cada componente): y2 −y1 x −x 2 1 se k = 1 t2 −t1 , t2 −t1 xk+1 −xk−1 yk+1 −yk−1 vy (tk ) = tk+1 −tk−1 , se 2 ≤ k ≤ N − 1 vx (tk ) = tk+1 −tk−1 yN −yN −1 xN −xN −1 se k = N tN −tN −1 tN −tN −1 , Em baixo apresenta-se um programa em linguagem Python que faz o que se pretende: #e n c o d i n g=u t f −8 ################################################################ #D e f i n i c a o das t a b e l a s d a t a f i l e = open ( ” p o s d a t a . dat ” , ’ r ’ ) t =[] x =[] y =[] f o r l i n e in d a t a f i l e : tv , xv , yv = l i n e . s p l i t ( ) t . append ( f l o a t ( tv ) ) x . append ( f l o a t ( xv ) ) y . append ( f l o a t ( yv ) ) ############################################################### #D e f i n i c a o da f u n c a o para o c a l c u l o das d e r i v a d a s numericas def d e r i v ( x , f ) : #I n p u t : duas l i s t a s com os v a l o r e s de x e de f #Output : l i s t a d com os v a l o r e s da d e r i v a d a d = [ ( f [1] − f [ 0 ] ) / ( x [1] − x [ 0 ] ) ] #1o e l e m e n t o da l i s t a d e r i v a d a f o r k in r a n g e ( 1 , l e n ( x)−1 ) : #A c r e s c e n t a a l i s t a as d e r i v a d a s nos p o n t o s ” i n t e r i o r e s ” d . append ( ( f [ k+1]− f [ k − 1 ] ) / ( x [ k+1]−x [ k −1]) ) #Por fim , a c r e s c e n t a a d e r i v a d a no u l t i m o ponto d . append ( ( f [ −1]− f [ − 2 ] ) / ( x[−1]−x [ − 2 ] ) ) return d ################################################################ #C a l c u l o numerico das componentes da v e l o c i d a d e vx = d e r i v ( t , x ) vy = d e r i v ( t , y ) As listas vx e vy calculadas no final contêm os valores das componentes da velocidade da partı́cula nos instantes definidos na Tabela 1. São os seguintes: 3 t (s) 0,000000 0,500000 1,000000 1,500000 2,000000 2,500000 3,000000 3,500000 4,000000 4,500000 vx (m) 0,500000 0,500000 0,500000 0,500000 0,500000 0,500000 0,500000 0,500000 0,500000 0,500000 vy (m) -0,097886 -0,190983 -0,363272 -0,500000 -0,587785 -0,618034 -0,587785 -0,500000 -0,363272 -0,190983 t (s) 5,000000 5,500000 6,000000 6,500000 7,000000 7,500000 8,000000 8,500000 9,000000 9,500000 vx (m) 0,500000 0,500000 0,500000 0,500000 0,500000 0,500000 0,500000 0,500000 0,500000 0,500000 vy (m) 0,000000 0,190983 0,363272 0,500000 0,587785 0,618034 0,587785 0,500000 0,363272 0,284080 Tabela 2: Componentes da velocidade da partı́cula. Figura 3: Representação gráfica das velocidades calculadas com o programa vel.py. 4