A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

13/14 Abril de 2004Trajectória de um Projéctil1 Trajectória de Projéctil - Funções Pedro Barahona DI/FCT/UNL Março 2004.

Apresentações semelhantes


Apresentação em tema: "13/14 Abril de 2004Trajectória de um Projéctil1 Trajectória de Projéctil - Funções Pedro Barahona DI/FCT/UNL Março 2004."— Transcrição da apresentação:

1 13/14 Abril de 2004Trajectória de um Projéctil1 Trajectória de Projéctil - Funções Pedro Barahona DI/FCT/UNL Março 2004

2 13/14 Abril de 2004 Trajectória de um Projéctil 2 Trajectória de Projéctil - Bases Físicas A trajectória de um projéctil é uma generalização da queda de corpos em que se têm de considerar 2 dimensões para o movimento vertical (y) e horizontal (x) e não apenas vertical. Todas as grandezas de interesse para o movimento, posição, velocidade e acleração, devem pois ser definidas nestas duas dimensões. Por exemplo, a velocidade, pode ser decomposta nos suas duas componentes (regra do paralelograo) vyvy vxvx v θ v 2 = v x 2 + v y 2 ; Θ = atan(v y /v x ) v x = v  cosΘ ; v y = v  sin Θ

3 13/14 Abril de 2004 Trajectória de um Projéctil 3 Trajectória de Projéctil - Bases Físicas Na horizontal, só existe uma causa de aceleração, provocada pelo atrito, que consideramos proporcional à velocidade a x = - k a  v x Na vertical, há que considerar a aceleração da gravidade para além da provocada pelo atrito. Temos pois, a y = - k a  v y – g Condições iniciais Tipicamente, estanos interessados em determinar a trajectória de um projéctil quando a este é lançado com uma determinada velocidade inicial v 0 num ângulo θ 0

4 13/14 Abril de 2004 Trajectória de um Projéctil 4 Modelação de Equações Diferenciais Baseado na aproximação de funções por séries de Taylor, vamos simular, df, a variação da função f ao longo de um intervalo de tempo dt, através de A velocidade do corpo (v) e a posição são assim obtidas nas suas duas dimensões, x e y, já que a aceleração é a velocidade são, respectivamente, as suas derivadas em ordem ao tempo df = dt df dt dv x = dt = a x · dt dv x dt dv y = dt = a y · dt dv y dt dx = dt = v x · dt dx dt dy = dt = v y · dt dy dt

5 13/14 Abril de 2004 Trajectória de um Projéctil 5 Trajectória Óptima de Projéctil O cálculo da trajectória (com ou sem gráfico) pode ser feita como anteriormente (será visto mais á frente). Podendo-se calcular várias trajectórias, coloca-se muitas vezes a questão de saber qual a “melhor” de entre elas. Naturalmente a noção de melhor tem de ser precisada (maior alcance, maior velocidade no solo, mais alta???). Podemos começar por determinar qual a trajectória com maior alcance. Trajectória Óptima de Projéctil Entrada Velocidade Inicial Coeficiente de Atrito Resultados Alcance Máximo

6 13/14 Abril de 2004 Trajectória de um Projéctil 6 Trajectória Óptima de Projéctil A forma mais simples de determinar a melhor trajectória, é testar as várias possíveis e escolher a melhor. Sendo necessário calcular várias trajectórias, é conveniente abstrair todo o cálculo da trajectória numa função, cujos detalhes de implementação podem ser estudados posteriormente. Esta forma de proceder, tem muitas vantagens, já que permitem –Estruturar um programa nos seus componentes básicos –Reutilizar esses componentes básicos noutros programas Vamos pois considerar uma função, alcance, que corresponde ao alcance de um projéctil lançado inicialmente com velocidade v e ângulo de disparo, theta, num meio com coeficiente de atrito, k a alcance(v, theta, k a )

7 13/14 Abril de 2004 Trajectória de um Projéctil 7 Programas e Funções A utilização desta função torna o programa trivial: % inicialização de variáveis entra vi; entra Ka; dist  0; % ciclo de geração e teste para alfa de 0 a 90 fazer x  alcance (vi,alfa,ka); se x > dist então dist  x; fim se; fim para; % apresentação de resultados sai dist

8 13/14 Abril de 2004 Trajectória de um Projéctil 8 Especificação da Função A função que foi abstraída, alcance, deverá determinar, com base na situação inicial (velocidade e ângulo inicial do projéctil), e para um determinado coeficiente de atrito, a distância percorrida, pelo projéctil. Existe pois uma correspondência óbvia entre funções e programas A maior diferença está na sua interface com o exterior (entradas e saídas) Algoritmo de Trajectória de Projéctil Entrada Velocidade Inicial Ângulo Inicial Coeficiente deAtrito Resultados Distância percorrida

9 13/14 Abril de 2004 Trajectória de um Projéctil 9 Tipos de Dados da Função Alcance Os valores iniciais de v, alfa e k a são dados como parâmetros de entrada da função (dt pode ser fixado). A partir de v e alfa, são calculados os valores iniciais das velocidades, v x e v y. Como posição inicial arbitra-se o ponto (0,0). Se se pretenderem gráficos para a posição (em coordenadas x, y) é conveniente manter as posições por onde passa o projéctil num conjunto de vectores T, X, Y. Os valores das velocidades e das acelerações ao longo do tempo, não se pretendendo calcular os seus gráficos podem ser representados por variáveis v x e v y, a x e a y que representam os valores correntes destas grandezas.

10 13/14 Abril de 2004 Trajectória de um Projéctil 10 Estrutura do Algoritmo Estamos agora em condições de especificar o algoritmo para simulação da trajectória de um projéctil, que como habitualmente pode ser decomposto em 3 “componentes” 1. Inicialização de Variáveis 2. Ciclo de Simulação da Queda 3. Apresentação de Resultados Algoritmo de Trajectória de Projéctil Entrada Velocidade Inicial Ângulo Inicial Coeficiente deAtrito Resultados Gráfico da posição

11 13/14 Abril de 2004 Trajectória de um Projéctil 11 1. Inicialização de Variáveis função alcance(v, alfa, ka) % v, alfa e ka são dados de entrada % alcance é o valor final dt  0.01; % Intervalo de tempo g  9.8; % Aceleração da Gravidade % inicializar vectores T,X,Y; T(1)  0; X(1)  0; % valores iniciais de T, X e Y Y(1)  0; vx  v*cos(alfa); % valores correntes de vx e vy vx  v*sin(alfa); ax  0 ; % valores correntes de ax e ay ay  -g;

12 13/14 Abril de 2004 Trajectória de um Projéctil 12 2/3. Ciclo de Simulação e Resultado Os valores da posição, velocidade e aceleração vão sendo calculados nas sucessivas iterações do ciclo de simulação. i  1 enquanto Y(i) >= 0 fazer i  i + 1; T(i)  T(i-1) + dt ; X(i)  X(i-1) + vx · dt; Y(i)  Y(i-1) + vy·dt; vx  vx + ax·dt; vy  vx + ax·dt; ax  -ka · vx; ay  -ka · vy - g; fim para; alcance  X(i)

13 13/14 Abril de 2004 Trajectória de um Projéctil 13 3. Apresentação de Resultados O resultado que se pretende apresentar é o alcance do projéctil. Como a função está definida com o nome alcance, deverá ser atribuído a uma “variável” com esse nome o valor final de x, que representa o alcance do projéctil. alcance  X(i) Na realidade, não existe nenhuma variável com esse nome (a variável existe no programa que chama a função). A atribuição acima é apenas a forma de apresentar o resultado.

14 13/14 Abril de 2004 Trajectória de um Projéctil 14 Algoritmo Completo – Programa Principal % Inicialização de Variáveis entra vi; entra Ka; dist  0; % Ciclo de Geração e Teste para alfa de 0 a 90 fazer x  alcance (vi,alfa,ka); se x > dist então dist  x; fim se; fim para; % Apresentação de Resultados sai dist

15 13/14 Abril de 2004 Trajectória de um Projéctil 15 Algoritmo Completo – Função Alcance função alcance(vi, alfa, ka) dt  0.01; g  9.8; T(1)  0; X(1)  0; Y(1)  0; vx  v*cos(alfa); vx  v*sin(alfa); ax  0 ; ay  -g; i  1; enquanto Y(i) >= 0 fazer i  i + 1; T(i)  T(i-1) + dt ; X(i)  X(i-1) + vx· dt; Y(i)  Y(i-1) + vy·dt; vx  vx + ax·dt; vy  vx + ax·dt; ax  -ka · vx; ay  -ka · vy - g; fim enquanto; alcance  X(i); fim função;

16 13/14 Abril de 2004 Trajectória de um Projéctil 16 Programa Octave Em Octave, o programa e a função são muito semelhantes aos apresentados em pseudo-código. No entanto eles devem ser escritos em dois ficheiros m distintos, que devem residir na mesma directoria (a menos que se utilizem instruções de alteração da directoria corrente). O nome do ficheiro onde uma função é definida deve ter o nome dessa função. Por exemplo, a função alcance deverá ser definida num ficheiro com o nome “alcance.m”. De notar que a função pode ser invocada a partir de qualquer ficheiro e mesmo do terminal.

17 13/14 Abril de 2004 Trajectória de um Projéctil 17 Programa Octave vi = input("Qual a velocidade inicial (em m/s) ? "); ka = input(" e o coeficiente de atrito (1/s) ? "); dist = 0; for alfa = 0:90 x = alcance(vi,alfa,ka); if x > dist dist = x; end; disp(" O alcance máximo (em metros) é de "), disp(dist) O programa principal, maior_alcance, guardado no ficheiro “maior_alcance.m” chama a função alcance.

18 13/14 Abril de 2004 Trajectória de um Projéctil 18 Função Octave function a = alcance(vi, alfa, ka) dt = 0.01; g = 9.8 ; i = 1; T = eye(1); X = eye(1); Y = eye(1); T(1) = 0; X(1) = 0; Y(1) = 0; vx = vi*cos(alfa*pi/180) ; vy = vi*sin(alfa*pi/180); ax = - ka * vx ; ay = -g - ka * vy; while Y(i) >= 0 i = i + 1 ; T(i) = T(i-1) + dt; X(i) = X(i-1) + vx * dt; Y(i) = Y(i-1) + vy * dt; vx = vx + ax * dt ; vy = vy + ay * dt; ax = 0 - ka * vx ; ay = -g - ka * vy; endwhile; a = X(i); endfunction; A função alcance, é guardada no ficheiro “alcance.m” que começa com a declaração de função.

19 13/14 Abril de 2004 Trajectória de um Projéctil 19 Programa Octave O programa pode ser testado com vários valores para os diferentes parâmetros. Por exemplo Nenhum atrito v i = 30; k a = 0.0 Pouco atrito v i = 30; k a = 0.2 Muito atrito v i = 30; k a = 2.0 De notar que embora se saiba o alcance máximo, o programa apresentado não nos indica para que ângulo de disparo ele é atingido. Para esse efeito há que reformular um pouco a função e permitir que ela “devolva” mais do que um valor.


Carregar ppt "13/14 Abril de 2004Trajectória de um Projéctil1 Trajectória de Projéctil - Funções Pedro Barahona DI/FCT/UNL Março 2004."

Apresentações semelhantes


Anúncios Google