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.

Slides:



Advertisements
Apresentações semelhantes
Geometria Computacional Fecho Convexo II
Advertisements

Programação em Java Prof. Maurício Braga
AJUSTE DE CURVAS 6.1 Introdução 6.2 Método dos quadrados mínimos
Amintas engenharia.
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 9.
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.
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.
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.
1 Funções Trajectória de Projéctil DI/FCT/UNL 1º Semestre 2004/2005.
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
30 Novembro 2005Folha da Cálculo1 Jorge Cruz DI/FCT/UNL Introdução aos Computadores e à Programação 1º Semestre 2005/2006.
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.
Integração Numérica: Equações Diferenciais
Introdução aos Computadores e à Programação
Pesquisa e Ordenação de Vectores
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
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.
Função quadrática: a função geral de 2º grau
PERCEPTRON (CONTINUAÇÃO)
Modelos no Domínio do Tempo de Sistemas LTI Contínuos
Programação Linear Método Simplex
1 Complexidade de Algoritmos Complexidade de pior caso Complexidade de melhor caso de uso bem menos freqüente em algumas situações específicas Complexidade.
Geometria Computacional Interseção de Segmentos
BCC101 – Matemática Discreta
MOVIMENTO BIDIMENSIONAL
THOBER CORADI DETOFENO, MSC. Aula 07
Polinômios Prof. Marlon.
AULA 4 Função Exponencial.
UNIVERSIDADE FEDERAL DE UBERLÂNDIA FACULDADE DE MATEMÁTICA
Calculada a solução óptima
Folha de Cálculo Como Dar Nome a Uma ou mais Células?
Funções.
PROGRAMAÇÃO I UNIDADE 1.
Aula 02 Variáveis, Matrizes, Gráficos
Cálculo Numérico / Métodos Numéricos
Capítulo 10 Funções polinomiais slide 1
Movimentos sob a acção de uma força resultante constante
Interpolação.
Quadrados Mínimos.
Sistema de equações lineares
Campus de Caraguatatuba Aula 12: Sistemas de Equações Lineares (2)
20/21 Abril de 2004Funções, Expressões e Excepções1 Pedro Barahona DI/FCT/UNL Abril 2004.
Fundamentos de Programação
Linguagem e Ambiente Scratch
1 A COMPUTAÇÃO MODERNA Valdemar W. Setzer Depto. de Ciência da Computação da USP
Resolução de sistemas de equações lineares
Fontes de Erros Aula 1 Introdução; Erros em processos numéricos;
Aproximação de funções
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.
Interpolação Polinomial: Introdução; Lagrange.
Transcrição da apresentaçã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 2005/2006

16 Dezembro 2005 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

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

16 Dezembro 2005 Folha de Cálculo - Conclusão 4 Resolução Informal Problema: determinar a distância máxima (d max ) e a altura máxima (h max ) 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 x 0 =0: (x 0,y 0 ) –Considera-se uma sequência de valores de x (x 1,x 2,…) para os quais se calcula o respectivo valor de y usando a função f: (x 1,f(x 1 )), (x 2,f(x 2 )), … –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.

16 Dezembro 2005 Folha de Cálculo - Conclusão 5 Resolução Informal Graficamente a simulação da trajectória do projéctil corresponde a: O último ponto considerado é o x 11 uma vez que é o primeiro a aparecer com y negativo: f(x 11 )<0 A distância máxima (d max ) é aproximada pelo maior valor de x: d max x 11 A altura máxima (h max ) é aproximada pelo maior valor de y: h max f(x 6 ) (x0,y0)(x0,y0) x y (x 1,f(x 1 )) (x 2,f(x 2 )) (x 11,f(x 11 )) (x 6,f(x 6 )) h max ^ d max ^ 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.

16 Dezembro 2005 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);

16 Dezembro 2005 Folha de Cálculo - Conclusão 7 Folha de Cálculo

16 Dezembro 2005 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.

16 Dezembro 2005 Folha de Cálculo - Conclusão 9 Variante c/ Modelo Diferencial Um projéctil é lançado de uma altura de y 0 metros, com um ângulo inicial de lançamento de radianos e com uma velocidade inicial de v 0 metros por segundo. A trajectória do projéctil pode ser modelada através do seguinte sistema de equações diferenciais: v0v0 (0,0) x y y0y0 a f(a)f(a) onde: v x e v y são as componentes horizontal e vertical da velocidade; a x e a y são as componentes horizontal e vertical da aceleração; Se considerarmos o atrito então: a x =-kv x e a y =-kv y -g d max h max

16 Dezembro 2005 Folha de Cálculo - Conclusão 10 Folha de Cálculo

16 Dezembro 2005 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!!!

16 Dezembro 2005 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.

16 Dezembro 2005 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).

16 Dezembro 2005 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.

16 Dezembro 2005 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.

16 Dezembro 2005 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.

16 Dezembro 2005 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.

16 Dezembro 2005 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.

16 Dezembro 2005 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.

16 Dezembro 2005 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 = d n vezes, pelo que um algoritmo deste tipo é exponencial em n (número de variáveis).

16 Dezembro 2005 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) = (n-1) ((n-1)+1)/2 ½ n 2 pelo que o algoritmo é polinomial (quadrático) na dimensão, n, do vector.

16 Dezembro 2005 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!