1 / 22

Folha da Cálculo - Conclusão

Folha da Cálculo - Conclusão. Jorge Cruz DI/FCT/UNL Programação para as Ciências Experimentais 1º Semestre 2005/2006. Ciclos de Simulação – Trajectória de um Projéctil. A técnica usada no exemplo da simulação da trajectória de um projéctil pode ser adaptada para uma folha de cálculo.

Download Presentation

Folha da Cálculo - Conclusão

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Folha da Cálculo - Conclusão Jorge Cruz DI/FCT/UNL Programação para as Ciências Experimentais 1º Semestre 2005/2006 Folha de Cálculo - Conclusão

  2. Ciclos de Simulação – Trajectória de um Projéctil • A técnica usada no exemplo da simulação da trajectória de um projéctil pode ser adaptada para uma folha de cálculo. • Em geral, é necessário • Utilizar uma coluna (ou linha) para as variáveis que estão a ser simuladas • Inicializar as “linhas de cima” com as constantes do modelo e com os valores iniciais das variáveis • Na linha seguinte obter os valores das variáveis a partir dos valores anteriores (i.e. da linha anterior) e das constantes. • Tendo em atenção as referências relativas e/ou absolutas (constantes), copiar a 2ª linha para as linhas seguintes. • Copiar tantas linhas quantas as necessárias Folha de Cálculo - Conclusão

  3. f(a) hmax dmax a Apresentação do Problema y • Um projéctil é lançado de uma altura de y0 metros, com um ângulo inicial de lançamento de  radianos e com uma velocidade inicial de v0 metros por segundo. • A trajectória do projéctil em coordenadas (x,y) pode ser modelada através da seguinte equação: v0  y0 (0,0) x • Problema:determinar a distância máxima (dmax) e a altura máxima (hmax) atingidas pelo projéctil. Folha de Cálculo - Conclusão

  4. Resolução Informal • Problema:determinar a distância máxima (dmax) e a altura máxima (hmax) atingidas pelo projéctil. • Pode-se simular a trajectória do projéctil usando a função f para calcular o valor de y correspondente a cada valor de x. • Considera-se o ponto inicial da trajectória x0=0: (x0,y0) • Considera-se uma sequência de valores de x (x1,x2,…) para os quais se calcula o respectivo valor de y usando a função f: (x1,f(x1)), (x2,f(x2)),… • Termina-se o cálculo quando aparecer o primeiro ponto da trajectória com o valor de y negativo. • Os valores da distância máxima e da altura máxima podem ser aproximados respectivamente pelos valores maximos de x e y obtidos nos pontos calculados da trajectória. Folha de Cálculo - Conclusão

  5. ^ (x6,f(x6)) y (x2,f(x2)) (x1,f(x1)) ^ hmax dmax (x0,y0) x (x11,f(x11)) Resolução Informal • Graficamente a simulação da trajectória do projéctil corresponde a: • O último ponto considerado é o x11 uma vez que é o primeiro a aparecer com y negativo: f(x11)<0 • A distância máxima (dmax) é aproximada pelo maior valor de x: dmax x11 • A altura máxima (hmax) é aproximada pelo maior valor de y: hmax f(x6) • A precisão das aproximações depende dos pontos da trajectória calculados: • se a distância (em x) entre cada dois pontos consecutivos for dx então, em geral, a precisão aumenta quando dx diminui. Folha de Cálculo - Conclusão

  6. Programa Octave % Inicialização de Variáveis g = 9.8; % aceleração da gravidade y0 = input(" Qual a altura inicial (m)? "); v0 = input(" Qual a velocidade inicial (m/s)? "); tet = input(" Qual o angulo inicial (rad)? "); dx = input(" Qual a precisao (m)? "); dmax = 0; % distância máxima da trajectória hmax = 0; % altura máxima da trajectória % Ciclo de Simulação x = 0; y =y0; while y > 0 x = x + dx; y = x*tan(tet)-(g*x^2)/(2*v0^2*cos(tet)^2)+y0; hmax = max(hmax,y); endwhile % Apresentação de Resultados dmax = x; disp("Distância maxima da trajectoria (m):"); disp(dmax); disp("Altura maxima da trajectoria (m):"); disp(hmax); Folha de Cálculo - Conclusão

  7. Folha de Cálculo Folha de Cálculo - Conclusão

  8. Gráficos da Simulação • Uma vez obtidas as tabelas de simulação, podem obter-se gráficos, seleccionando as colunas apropriadas e inserindo um gráfico (insert graph) com base nessa tabela. Folha de Cálculo - Conclusão

  9. f(a) hmax dmax a Variante c/ Modelo Diferencial y • Um projéctil é lançado de uma altura de y0 metros, com um ângulo inicial de lançamento de  radianos e com uma velocidade inicial de v0 metros por segundo. • A trajectória do projéctil pode ser modelada através do seguinte sistema de equações diferenciais: v0  y0 (0,0) x onde: vx e vy são as componentes horizontal e vertical da velocidade; ax e ay são as componentes horizontal e vertical da aceleração; Se considerarmos o atrito então: ax=-kvx e ay=-kvy-g Folha de Cálculo - Conclusão

  10. Folha de Cálculo Folha de Cálculo - Conclusão

  11. Ajuste de Parâmetros • Em geral, se forem dados os parâmetros de um modelo físico pode ser simulado o seu comportamento. Mas se se pretender determinar os parâmetros que conduzem a um certo comportamento a situação não é em geral simples. • Em muitos casos, a melhor solução é tentar as várias alternativas (em um ou mais ciclos encadeados) e verificar qual a adequada. Por exemplo o maior alcance pode ser tentado variando o ângulo, a velocidade inicial e a altura inicial. • Nestas situações uma folha de cálculo não é muito adequada para resolver o problema pois exige que o utilizador tente (manualmente) os vários parâmetros. • No caso do alcance podem existir 30 ângulos para testar (entre 31º e 60º com passo 1), 20 velocidades iniciais (de 11 a 20 com passo 0.5) e 10 alturas iniciais (de 0 a 10 com passo 1) o que dá um total de 30*20*10 = 6000 possibilidades!!! Folha de Cálculo - Conclusão

  12. Tratamento de Dados • O tratamento de dados numéricos, nomeadamente por regressão linear entre duas variáveis X e Y, pode ser feito através da folha de cálculo. • Para esse efeito deverão ser utilizadas duas colunas (uma para a variável) onde se guardam os valores X e Y observados • Para se obter os parâmetros da recta que melhor aproxima os pontos observados podem calcular-se esses valores utilizando as funções slope e intercept. • Pode depois construir-se uma nova coluna, com os valores dos Y esperados, baseados nos valores dos X e dos parâmetros da recta. • Finalmente pode obter-se o gráfico dos valores dos Xs e Ys observados e dos Ys esperados. Folha de Cálculo - Conclusão

  13. Tratamento de Dados Nota: O Excel permite obter uma ideia qualitativa da recta através da utilização da tendência no desenho do gráfico (opção add trendline). Folha de Cálculo - Conclusão

  14. Tratamento da Informação • A informação não numérica ou mista, como a que se pode organizar em tabelas (listas de estruturas), pode igualmente ser tratada por folhas de cálculo. • Por exemplo, para cada elemento da tabela podem fazer-se cálculos a partir dos dados individuais (eventualmente através de fórmulas condicionais) ou obterem-se medidas de agregação (totais, médias, etc.). • Podem ainda encontrar-se os valores máximos e mínimos de vectores e tabelas. • Para todas estas operações podem ser utilizadas funções predefinidas das folhas de cálculo, algumas das quais condicionais. Folha de Cálculo - Conclusão

  15. Tratamento da Informação • A tabela abaixo calcula a nota final dos alunos, obtida por 2 testes e um exame: • Um aluno tem frequência se a soma dos testes for maior ou igual a 9.5. A nota de frequência é a média dos testes. • A nota final é obtida pela média ponderada da nota de frequência (peso 5) e do exame (peso 15). • São ainda calculados os alunos com notas positivas e as médias da turma e dos alunos com nota positiva. Folha de Cálculo - Conclusão

  16. Tratamento da Informação • As tabelas podem ser ordenadas por alguns dos campos (pelo nome dos alunos, pelo número dos alunos, pela nota, etc...). • A mesma tabela anterior, ordenada por ordem (crescente) do nome dos alunos é mostrada abaixo. • É igualmente determinada a nota máxima e nota mínima. Folha de Cálculo - Conclusão

  17. Tratamento da Informação • Existem outras operações que envolvem operações de selecção e que não são tão fáceis de implementar com uma folha de cálculo. Por exemplo, escrever uma tabela apenas com os alunos passados. Numa folha de cálculo podem ordenar-se por notas, mas a selecção tem de ser feita “manualmente”. Folha de Cálculo - Conclusão

  18. Tratamento da Informação • Operações deste tipo podem ser executadas através de programas apropriados, que leiam os ficheiros de entrada e produzam os ficheiros de saída. • Em situações mais complexas, a informação pode estar distribuída por várias tabelas e os programas podem tornar-se muito complexos. • É para estes casos que são criados os sistemas de bases de dados (relacionais), em que • Se estabelecem metodologias para organizar os dados em tabelas (normalização) • Se utilizam linguagens de acesso (ex. SQL) para tornar as questões (queries) mais simples. Folha de Cálculo - Conclusão

  19. Algoritmos e Complexidade • Os modernos sistemas informáticos (folhas de cálculo, bases de dados) e linguagens de programação (funções e classes pré-definidas), disponibilizam facilidades em que procuram acomodar as necessidades mais comuns dos utilizadores. • Outras necessidades específicas, requerem o desenvolvimento de algoritmos (em programas, funções, etc.) especializados (special-purpose). • Ao desenvolver um algoritmo, e não obstante a rapidez dos modernos computadores, há que ter em atenção a sua complexidade, que mede os recursos (tempo e espaço) requeridos pelo algoritmo para terminar. • Informalmente os algoritmos podem ser divididos em duas grandes classes: polinomiais ou exponenciais. Folha de Cálculo - Conclusão

  20. Algoritmos Exponenciais • Um algoritmo que para n variáveis com d valores procure um valor adequado, pode no pior caso ter de ser implementado com ciclos encadeados: para X1 de 1 a d para X2 de 1 a d para X3 de 1 a d ... para Xn de 1 a d testar (X1, X2, X3, ..., Xn) fimpara; ... fimpara; • Como é fácil de calcular, o teste é executado d*d* *d = dn vezes, pelo que um algoritmo deste tipo é exponencial em n (número de variáveis). Folha de Cálculo - Conclusão

  21. Algoritmos Polinomiais • Muitos outros algoritmos são polinomiais. Tal é o caso da ordenação de um vector V com n valores, pelo método da bolha (bubble sort). • O número de trocas máximo é de (n-1)+(n-2)+...+1 = (n-1) ((n-1)+1)/2 ≈ ½ n2 pelo que o algoritmo é polinomial (quadrático) na dimensão, n, do vector. Folha de Cálculo - Conclusão

  22. Comparação da Complexidade • A diferença qualitativa entre estes algoritmos é importante. Se assumirmos que cada operação básica leva 1μs, podemos escrever a seguinte tabela ... o que justifica que a maioria das funções predefinidas (tais como ordenações, máximo, etc.) sejam do tipo polinomial! Folha de Cálculo - Conclusão

More Related