1 Funções Trajectória de Projéctil DI/FCT/UNL 1º Semestre 2004/2005.

Slides:



Advertisements
Apresentações semelhantes
Movimento em I dimensão
Advertisements

MOVIMENTO EM DUAS E TRÊS DIMENSÕES
Prof. Hebert Monteiro Movimento em I dimensão. Iniciaremos o nosso curso estudando a mecânica como ciência que estuda o movimento. A mecânica é dividida.
MOVIMENTO EM II DIMENSÕES
Movimento rectilíneo uniforme  MRU
Analisamos o movimento em cada uma das dimensões separadamente
Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 4.
Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 9.
Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 2.
29 Outubro 2005Funções: Zeros, Máximos e Mínimos1 Jorge Cruz DI/FCT/UNL Programação para as Ciências Experimentais 1º Semestre 2005/2006.
9 de Março de 2006Trajectória de um Projéctil1 Pedro Barahona DI/FCT/UNL Introdução aos Computadores e à Programação 2º Semestre 2005/2006.
Introdução aos Computadores e à Programação DI-FCT-UNL-2005/2006 Introdução 1.1 Octave Funções, Condições e Ciclos.
Integração Numérica – Áreas e Equações
16 Março 2006Vectores, Gráficos e Funções - Trajectória de um Projéctil1 Vectores, Gráficos e Funções Trajectória de Projéctil Pedro Barahona DI/FCT/UNL.
Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 3.
Ludwig Krippahl, 2008 Programação para as Ciências Experimentais 2007/8 Teórica 11.
Ludwig Krippahl, 2008 Programação para as Ciências Experimentais 2007/8 Teórica 4.
Vectores (e Listas) : Pesquisa e Ordenação
6 Outubro de 2005Trajectória de um Projéctil1 Jorge Cruz DI/FCT/UNL Introdução aos Computadores e à Programação 1º Semestre 2005/2006.
2 Dezembro de 2005Simulação com Modelos Diferenciais1 Jorge Cruz DI/FCT/UNL Programação para as Ciências Experimentais 1º Semestre 2005/2006.
17 Novembro 2006Algoritmos de Ordenação e Pesquisa Aplicação a Listas de Registos 1 Jorge Cruz DI/FCT/UNL Introdução aos Computadores e à Programação 1º
Ciclos e Funções Trajectória de Projéctil Pedro Barahona DI/FCT/UNL Introdução aos Computadores e à Programação 2º Semestre 2008/2009.
Funções, Execução Condicional, Recursividade e Iteração
1 Folha de Cálculo DI/FCT/UNL 1º Semestre 2004/2005.
24 Novembro 2006Folha de Cálculo 11 Jorge Cruz DI/FCT/UNL Introdução aos Computadores e à Programação 1º Semestre 2006/2007.
Recursividade e Iteração Factorial, Fibonacci e Maior Divisor Comum
Ciclos, Vectores e Gráficos Simulação da Queda de Corpos II
11 de Maio de 2006Listas e Ordenação1 Pedro Barahona DI/FCT/UNL Introdução aos Computadores e à Programação 2º Semestre 2005/2006.
31 de Março de 2005Trajectória de um Projéctil - Gráficos e Funções1 Trajectória de Projéctil –Gráficos e Funções Pedro Barahona DI/FCT/UNL Março 2005.
Vectores, Gráficos e Funções Trajectória de um Projéctil
1 Funções, Expressões e Excepções Trajectórias Óptimas DI/FCT/UNL 1º Semestre 2004/2005.
Ciclos e Funções Trajectória de Projéctil Pedro Barahona DI/FCT/UNL Introdução aos Computadores e à Programação 2º Semestre 2007/2008.
9 Março 2007Matrizes e Gráficos - Trajectória de um Projéctil1 Matrizes e Gráficos Trajectória de Projéctil Pedro Barahona DI/FCT/UNL Introdução aos Computadores.
Funções, Condições e Ciclos 3.1Introdução aos Computadores e à Programação DI-FCT-UNL-2006/2007 Octave Funções, Condições e Ciclos.
Integração Numérica: Equações Diferenciais
1 Introdução (Informal) à Programação DI/FCT/UNL 1º Semestre 2004/2005.
Pesquisa e Ordenação de Vectores
Introdução (Informal) à Programação
16 Dezembro 2005Folha de Cálculo - Conclusão1 Folha da Cálculo - Conclusão Jorge Cruz DI/FCT/UNL Programação para as Ciências Experimentais 1º Semestre.
2 de Junho de 2005Conclusão1 Pedro Barahona DI/FCT/UNL Junho 2005.
5 Março 2007Ciclos e Funções - Trajectória de um Projéctil1 Ciclos e Funções Trajectória de Projéctil Pedro Barahona DI/FCT/UNL Introdução aos Computadores.
Matrizes e Gráficos Trajectória de Projéctil Pedro Barahona DI/FCT/UNL Introdução aos Computadores e à Programação 1º Semestre 2007/2008.
1 Conclusão DI/FCT/UNL 1º Semestre 2004/ Ciclos de Simulação A técnica usada no exemplo da queda livre pode ser utilizada para trajectórias a duas.
Introdução aos Computadores e à Programação
Introdução aos Computadores e à Programação
Matrizes e Gráficos Trajectória de Projéctil Pedro Barahona DI/FCT/UNL Introdução aos Computadores e à Programação 2º Semestre 2008/2009.
O que você deve saber sobre
Polinômios Prof. Marlon.
3.2. – Movimentos e Forças Unidade 3 – Planeta Terra Forças
Movimento vertical no vácuo; Lançamento horizontal e lançamento oblíquo no vácuo. Professor Dante Deon.
Buscas em Grafos Prof. André Renato 1º Semestre/2012
MECÂNICA - DINÂMICA Cinemática de uma Partícula Cap. 12.
Movimentos sob a acção de uma força resultante constante
Movimento de um projétil Componentes da velocidade inicial
Leis do movimento Professor: Antonio dos Anjos Pinheiro da Silva
20/21 Abril de 2004Funções, Expressões e Excepções1 Pedro Barahona DI/FCT/UNL Abril 2004.
Fotografia estroboscópica de duas esferas largadas simultaneamente
Introdução aos Computadores e Programação DI-FCT-UNL-2003/2004
Movimento em duas dimensões
23/24 Março de 2004Simulação da Queda de Corpos1 Pedro Barahona DI/FCT/UNL Março 2004.
1 Simulação da Queda de Corpos DI/FCT/UNL 1º Semestre 2004/2005.
17 Março de 2005Simulação da Queda de Corpos1 Pedro Barahona DI/FCT/UNL Março 2004.
7 de Abril de 2005Funções, Expressões e Excepções1 Pedro Barahona DI/FCT/UNL Abril 2004.
Exemplo 7. Encontre a velocidade instantânea da partícula descrita na Figura 1 nos seguintes instantes: (a) t = 1.0 s, (b) t = 3.0 s, (c) t= 4.5 s, e (d)
30/31 Março de 2004Movimento de uma Mola1 Pedro Barahona DI/FCT/UNL Março 2004.
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.
Unidade 1 – Movimentos na Terra e no espaço 1.2. Da Terra à Lua (III)
Física I Aula02 – Movimento Unidimensional 2009/2010.
LOGO Queda Livre e Lançamentos no Espaço SIMONE CAARMO.
Movimento em Duas e Três Dimensões
Transcrição da apresentação:

1 Funções Trajectória de Projéctil DI/FCT/UNL 1º Semestre 2004/2005

2 Trajectória Óptima de Projéctil O cálculo de uma trajectória pode ser feito por simulação de forma semelhante à da queda de um corpo (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???). Vamos determinar qual a trajectória com maior alcance. Trajectória Óptima de Projéctil Entrada Velocidade Inicial Coeficiente de Atrito Resultados Alcance Máximo

3 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 permite: –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 i e ângulo de disparo, alfa, num meio com coeficiente de atrito, k a alcance(v i, alfa, k a )

4 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); % x evita 2 se x > dist então % chamadas de dist x; % alcance! fim se; fim para; % apresentação de resultados sai dist se alcance(vi,alfa,ka) > dist então dist alcance(vi,alfa,ka)

5 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 Algoritmo de Trajectória de Projéctil Entrada Velocidade Inicial Ângulo Inicial Coeficiente deAtrito Resultados Distância percorrida

6 Tipos de Dados da Função Alcance Os valores iniciais de v i, alfa e k a são dados como parâmetros de entrada da função (dt pode ser fixado). A partir de v i 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. Caso contrário serão representados por variáveis t, x e y respectivamente. 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.

7 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 aceleração, devem pois ser definidas nestas duas dimensões. Por exemplo, a velocidade, pode ser decomposta nas 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 Θ

8 Trajectória de Projéctil - Bases Físicas Na horizontal, só existe uma causa de aceleração, provocada pelo atrito, que consideramos proporcional, e oposta, à 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, como na queda dos corpos: a y = - k a v y - g Condições iniciais Tipicamente, estamos interessados em determinar a trajectória de um projéctil quando a este é lançado com uma determinada velocidade inicial v i num ângulo θ 0

9 Aceleração, Velocidade e Posição Tal como no problema da queda dos corpos, podemos considerar as seguintes aproximações (em cada uma das dimensões): x(t+dt) x(t) + v x (t) dty(t+dt) y(t) + v y (t) dt v x (t+dt) v x (t) + a x (t) dtv y (t+dt) v y (t) + a y (t) dt sendo a aceleração do projéctil dada por: a x = - k a v x a y = - k a v y - g

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 Distância percorrida

11 1. Inicialização de Variáveis função alcance(vi, alfa, ka) % vi, alfa e ka são dados de entrada % alcance é o valor final alfa alfa*2 /360;% Ângulo em Radianos dt 0.01; % Intervalo de tempo g 9.8; % Aceleração da Gravidade t 0; % Valor iniciais do tempo x 0; % Valor iniciais do x y 0; % Valor iniciais do y vx vi cos(alfa); % valores correntes de vx e vy vy vi sin(alfa); % inicializados com vi ax -ka vx ; % valores correntes de ax e ay ay -ka vy - g; % inicializados com vs iniciais

12 2. Ciclo de Simulação Os valores da posição, velocidade e aceleração vão sendo calculados nas sucessivas iterações do ciclo de simulação. enquanto y >= 0 fazer t t + dt; x x + vx dt; y y + vy dt; vx vx + ax dt; vy vy + ay dt; ax -ka vx; ay -ka vy - g; fim enquanto;

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 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 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 Algoritmo Completo – Função Alcance função alcance(vi, alfa, ka) alfa alfa*2 /360;% Ângulo em Radianos dt 0.01; % Intervalo de tempo g 9.8; % Aceleração da Gravidade t 0; x 0; y 0; % Valores iniciais de t, x e y vx vi cos(alfa); % Valores correntes de vx e vy vy vi sin(alfa); % inicializados com vi ax -ka vx ; % valores correntes de ax e ay ay -ka vy - g; % inicializados com vs iniciais enquanto y >= 0 fazer t t + dt; x x + vx dt; y y + vy dt; vx vx + ax dt; vy vy + ay dt; ax -ka vx; ay -ka vy - g; fim enquanto; alcance x; fim função;

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 (m files) 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 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; endif; endfor; 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 Função Octave function a = alcance(vi, alfa, ka) dt = 0.01; g = 9.8 ; t = 0; x = 0; y = 0; vx = vi*cos(alfa*pi/180) ; vy = vi*sin(alfa*pi/180); ax = - ka * vx ; ay = -g - ka * vy; while y >= 0 t = t + dt; x = x + vx * dt ; y = y + vy * dt; vx = vx + ax * dt ; vy = vy + ay * dt; ax = - ka * vx ; ay = -g - ka * vy; endwhile; a = x; endfunction; A função alcance é guardada no ficheiro alcance.m, que começa com a declaração de função.

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 basta reformular um pouco o programa, para nos devolver esse ângulo.

20 Programa Octave vi = input("Qual a velocidade inicial (em m/s) ? "); ka = input(" e o coeficiente de atrito (1/s) ? "); dist = 0; angulo = 0; for alfa = 0:90 x = alcance(vi,alfa,ka); if x > dist dist = x; angulo = alfa; end; disp(" O alcance máximo (em metros) é de "), disp(dist) disp(" com um disparo num ângulo (graus) de "), disp(angulo)

21 Programa Octave No entanto, existem várias características da trajectória que ficaram abstraídas na computação da função e que não são acessíveis ao utilizador, tais como: –A altura atingida pelo projéctil –O tempo que demora a atingir essa altura –O tempo total da trajectória –A velocidade com que o projéctil atingiu o solo –A aceleração com que o projéctil atingiu o solo, –... Para obter essas características há que reformular um pouco a função e permitir que ela devolva mais do que um valor.