450 likes | 693 Views
Métodos e Software Numéricos. Considerações Iniciais. Prof.: José Eustáquio Rangel de Queiroz rangel@dsc.ufcg.edu.br rangeldequeiroz@gmail.com. Carga Horária: 60 horas. Métodos Numéricos. Objetivo Estudo dos métodos para a resolução numérica de problemas do mundo real
E N D
Métodos e Software Numéricos Considerações Iniciais Prof.:José Eustáquio Rangel de Queiroz rangel@dsc.ufcg.edu.br rangeldequeiroz@gmail.com Carga Horária:60 horas
Métodos Numéricos • Objetivo • Estudo dos métodos para a resolução numérica de problemas do mundo real • Problemas do Mundo Real • Tentativa de explicação e previsão de fenômenos naturais Estabelecimento de relações causa-efeito
Razões da Computação Numérica • Inviabilidade de solução analítica de um problema matemático devido questões de complexidade • Exemplo: Solução de sistemas de equações lineares • Inexistência de métodos analíticos para a resolução de algumas categorias de problemas matemáticos • Exemplo: y’ = y² + t² não pode ser resolvida analiticamente.
Uso de Métodos Numéricos • Problemas matemáticos nem sempre são triviais • O sistema de equações obtém como solução de um PC: • x = -42587641,592475 • y = -34772663,750032 enquanto uma calculadora científica (e.g., HP) lhe fornece como solução: • x = 4082482,90464 • y = 3333333,33333
Uso de Métodos Numéricos • Solução correta • x = 46099201 • y = 37639840
Princípio Básico dos Métodos Numéricos APRIMORAMENTO DOS VALORES MÉTODOS VALOR INICIAL VALOR ACEITÁVEL DO RESULTADO MINIMIZAÇÃO DOS ERROS
Uso de Métodos Numéricos • Análise dos Resultados: • Conhecimento dos métodos; • Conhecimento das condições em que funcionam bem ou mal. • Exigências da Computação Numérica: • Verificação da validade dos resultados; e • Verificação da existência de dificuldades no problema em si.
Programas de Computação Numérica • Programa Individual • Composto de alguns módulos, cuja finalidade é executar uma computação específica. • Pacote • Coleção de programas para resolução de problemas de uma dada área.
Programas de Computação Numérica • Biblioteca • Coleção sistematizada para a resolução de diversas classes de problemas da Matemática. • Sistema de Software • Pacote ou biblioteca com uma interface de comunicação com o usuário, o qual se comunica com o sistema a partir de uma linguagem de programação.
Biblioteca • Características • Resolução de um amplo espectro de problemas que ocorrem com maior freqüência em Ciência e Tecnologia. • Seletividade do acervo de programas sobre um dado tópico • Interesse do usuário na resolução de um problema de interesse, não na absorção de conhecimentos na área • Concepção voltada para o atendimento da maioria das necessidades do usuário, não de todas.
Biblioteca • Características • Seleção de conteúdo fundamentada na existência de algoritmos que satisfazem atributos bem definidos. • Estruturação hierárquica de programas • Programas destinados à resolução de problemas • Rotinas primárias destinadas à implementação de algoritmos • Módulos básicos destinados à implementação de operações básicas
Biblioteca • Características • Uso de nomenclatura dos programas que reflita a classificação dos tópicos. • Existência de documentação que reflita tanto a organização geral da biblioteca quanto níveis de detalhamento dos algoritmos que a compõem.
Biblioteca • Uso • Resolução de problemas matemáticos • Seleção de uma biblioteca adequada • Conhecimento do uso do(s) programa(s) que a compõe(m) • Informações obtidas • Manual impresso; • Auto-documentação; • Ajuda online global e contextual.
Biblioteca • Dificuldades Usuais • Concisão da documentação • Carência de detalhamento de informações sobre os parâmetros adotados nas soluções • Exemplo: Semente inicial de um gerador de números pseudo-aleatórios. • Área de Trabalho • Necessidade de espaço extra de memória para armazenamento dos resultados intermediários durante a computação do problema.
Biblioteca • Dificuldades Usuais • Conjuntos e funções como argumentos • Uma função para ser argumento de um programa deve ser declarada num comando externo (EXTERNAL). • Diversidade de Escolhas • Premissa Básica Nenhum método funciona adequadamente para todas as circunstâncias impostas por um problema ou para todos os problemas
Princípios Adotados • Iteração ou Aproximações Sucessivas • Discretização • Aproximação • Transformação • Divisão e Conquista
Iteração e Aproximações Sucessivas • Repetição de um conjunto de ações ou processos que tem uma estrutura bem definida e constante. • A partir de uma solução aproximada (valor inicial), produz-se o refinamento da aproximação a cada iteração do conjunto de ações.
Iteração e Aproximações Sucessivas • Exemplo – Método da Bissecção I Dada uma função f(x) contínua no intervalo [a,b] onde existe uma raiz única, é possível determinar tal raiz subdividindo sucessivas vezes o intervalo que a contém pelo ponto médio de a e b.
Iteração e Aproximações Sucessivas • Exemplo – Método da Bissecção II Definição do Intervalo Inicial • Atribui-se[a,b]como intervalo inicial • a0 =a • b0 =b Condições de Aplicação • f(a)*f(b) < 0 • Sinal da derivadaconstante
Iteração e Aproximações Sucessivas • Exemplo – Método da Bissecção III Definição de Novos Intervalos • Determina-se qual o subintervalo – [a, x1] ou [x1, b] – que contém a raiz • Calcula-se o produtof(a)*f(x1) • Verifica-se sef(a)*f(x1) < 0 • Se verdadeiro (a, x1) (Logo a =ae b =x1) • Caso contrário (x1, b) (Logo a =x1e b =b) • Repete-se o processo até que o valor de x atenda às condições de parada.
Iteração e Aproximações Sucessivas f(x) x2 = (a + x1)/2 f(x) a = a1 x2 x1 = b1 x x1 = (a + b)/2 a = a0 x x1 b = b0 f(x) x3 = (x2 + x1)/2 x2=a2 x x1=b2 Repete-se o processo até que o valor dexatenda àscondições de parada. x3 • Exemplo – Método da Bissecção IV Análise Gráfica
Discretização i i hi0 • Inversão do processo de passagem ao limite a partir da discretização do problema.
Discretização e it = cos t + isen t • Exemplo – Transformada Discreta de Fourier (DFT) I Fórmula de Euler Im i Vetor Rotativo (Fasor) eiwté periódico wt Re |eiwt| = 1 1 Freqüências negativas: Rotação na direçãooposta
Discretização Ak cos k t + sen k t Bk ½ cos t = (eiwt + e-iwt) Ak Ak eikwt e-ikwt = + 2 2 -½ sen t = (eiwt - e-iwt) Bk Bk eikwt e-ikwt - + ½ Ck eikwt C-k e-ikwt + = (Ak - iBk), k>0 Ck = 2 2 ½ = (A|k| - iB|k|), k<0 Ck • Exemplo – Transformada Discreta de Fourier (DFT) II Fórmula de Euler
Discretização 1 ¥ ò f ( t ) = F ( ) [cos t + isen t ] d 2 p - ¥ e it = cos t + isen t 1 ¥ ò f ( t ) = F ( ) e it d 2 p - ¥ • Exemplo – Transformada Discreta de Fourier (DFT) III Transformada de Fourier de uma função unidimensional
Discretização • Exemplo – Transformada Discreta de Fourier (DFT) IV Possibilidade de representação funções não periódicas como somatórios de funções senoidais e cossenoidais de (possivelmente) todas as freqüências
Discretização • Exemplo – Transformada Discreta de Fourier (DFT) V Aproximação com 6 harmônicos
Discretização N-1 -2 p iwx/N 1 N ∑ F ( u ) = f(x)e x = 0 • Exemplo – Transformada Discreta de Fourier (DFT) VI Transformada Discreta de Fourier de uma função unidimensional w = 0, 1, 2, ..., N-1
Aproximação • Substituição de uma função f(x) por outra g(x) de manipulação mais fácil. • Construção de métodos para a solução de: • Equações transcendentais • Equações diferenciais • Métodos de integração numérica
Aproximação Erro de aproximação constante i=(b-a)/N • Exemplo – Regra do Trapézio I Integrais com resolução difícil ou mesmo impossível a partir de métodos analíticos podem ser resolvidas numericamente através da fragmentação da integral em uma soma.
Aproximação • Exemplo – Regra do Trapézio II • Divisão mais fina ( Nmaior) conduz à precisão máxima permitida pelo computador. • Aumento do número de intervalos N até que o valor da integral não mude dentro dos números significativos que se quer. n número de algarismos significativos n não pode ser maior do que o número de algarismos significativos do cálculo numérico.
Aproximação • Exemplo – Regra do Trapézio III Aproximação a integral pela área de um trapézio Boa aproximação para uma determinada integral é função da: 1. Ordem do erro (O(hn)); 2. Extensão do intervalo h; 3. Suavidade do integrando.
Aproximação f(x) f(b) f(a) a b x • Exemplo – Regra do Trapézio IV Análise Gráfica
Transformação • Desmembramento de um problema P em dois (ou mais) subproblemas de resolução mais simples, P1 e P2 • Área de um trapézio por retângulo (P1) e triângulos (P2); • Decomposição LU.
Divisão e Conquista • Resolução de um problema P por partes ou etapas • Área do Trapézio • Redução Cíclica • Redução à metade do tamanho do problema repetidamente até que este atinja ao tamanho 1.
Ferramentas de Suporte Uso do método numérico Computador Programa Desenvolvimento Utilização Verificação da validade dos resultados obtidos
Ferramentas de Suporte • MATHCAD • Padrão industrial para cálculos técnicos e matemática aplicada • Ambiente de trabalho baseado em álgebra computacional • Avaliação numérica e simbólica de expressões matemáticas; • Geração de gráficos e construção de algoritmos; • Avaliação de integrais e derivadas de funções; • Resolução de sistemas lineares, etc. • http://www.ptc.com/products/mathcad/
Ferramentas de Suporte • MAPLE • Sistema de computação algébrica de propósitos gerais • Operações simbólicas; • Cálculos complexos; • Recursos para programação. • Resolução de problemas matemáticos • Geração de gráficos técnicos de alta qualidade • Pacotes de funções de teoria de grupos, álgebra linear e estatística, dentre outros. • pytheas.ucs.indiana.edu/~statmath/math/maple/overview.html
Ferramentas de Suporte • MATHEMATICA • Sistema genérico para computação matemática • Manipulação integrada de dados numéricos, simbólicos e gráficos • Ferramenta interativa de cálculo • Linguagem de programação. • www.indiana.edu/~statmath/math/mma/overview.html
Ferramentas de Suporte • SPSS (Statistical Package for the Social Sciences) • Originalmente desenvolvido como LP • Usualmente empregado na pesquisa quantitativa em ciências sociais • Realização de análises estatísticas, em especial análises de dados de levantamentos • Processamento numérico e gráfico de dados • www.csubak.edu/ssric/Modules/SPSS/SPSS9BOOK/
Ferramentas de Suporte • MATLAB I • Software interativo de alto desempenho; • Direcionamento ao Cálculo Numérico; • Integração de análise numérica, cálculo com matrizes, processamento de sinais e construção de gráficos; • Ambiente de fácil interação; • Resolução de problemas numéricos mais rapidamente do que se gastaria para escrever um programa semelhante em linguagem Fortran, Basic ou C. • http://www.mathworks.com/
Ferramentas de Suporte • MATLAB II • Soluções dos problemas expressas quase que exatamente como escritas matematicamente, ao contrário da programação tradicional;
Ferramentas de Suporte • MATLAB III
Ferramentas de Suporte • Determinadas situações exigem a utilização de uma LP mais adequada para a implementação de um algoritmo para a resolução de um problema de CN. • Exemplo de Linguagem: • FORTRAN (FORmula TRANslation)
José Eustáquio Rangel de Queiroz rangel@dsc.ufcg.edu.br rangeldequeiroz@gmail.com UNIVERSIDADE FEDERAL DE CAMPINA GRANDE CENTRO DE ENGENHARIA ELÉTRICA E INFORMÁTICA DEPARTAMENTO DE SISTEMAS E COMPUTAÇÃO