Download - Apostila Método Numérico - 2007
Métodos Numéricos
Métodos Numéricos
com aplicações computacionais no
Matlab®
Profa. Patrícia Guimarães Abramof
Julho de 2007
MÉTODOS NUMÉRICOS
Apresentação do Curso
Objetivo
Estudar métodos numéricos seus fundamentos teóricos analisando suas vantagens e
desvantagens na resolução de problemas de aplicação da Matemática, Física e Engenharia.
Justificativa
Os métodos numéricos propostos para este curso auxiliam na resolução de
problemas de aplicação em engenharia como exemplo:
� Pesquisa Operacional
� Dimensionamento e Simulação de Sistemas
� Otimização de Sistemas
� Controle de Sistemas
Programa
Considerações Gerais sobre Métodos Numéricos
Erros e Aproximações Numéricas
Raízes de Funções Reais
Interpolação Numérica
Integração Numérica
Sistemas de Equações Lineares
Equações Diferenciais Ordinárias
Metodologia
Aulas de teoria
Aulas de exercícios
Aulas de aplicação
Critério de avaliação
Trabalhos da aplicação, exercícios e avaliações individuais.
Pontuação
Nas U1 e U2:
80% Avaliações
20% Exercícios
AD1 e AD2: Trabalho de aplicação
Bibliografia
RUGGIERO, Márcia A.G.; LOPES, Vera L.R. Cálculo Numérico: Aspectos Teóricos e
Computacionais. MAKRON Books do Brasil Editora Ltda, 1996.
ÍNDICE
AULA 1 ..................................................................................................................................6 INTRODUÇÃO ......................................................................................................................6
Métodos Numéricos ............................................................................................................6 Resolução de Problemas .....................................................................................................7
AULA 2 ..................................................................................................................................9 NOÇÕES SOBRE ERROS.....................................................................................................9
ERRO ABSOLUTO ( ( )E A) ..................................................................................................9
ERROS DE TRUNCAMENTO............................................................................................10 EXERCÍCIOS .......................................................................................................................14 AULA 3 ................................................................................................................................15 DETERMINAÇÃO DE RAÍZES DE FUNÇÕES REAIS ...................................................15
Introdução .........................................................................................................................15 FASE 1: ISOLAMENTO DE RAÍZES.................................................................................15 FASE 2: REFINAMENTO...................................................................................................18 MÉTODO DA BISSECÇÃO................................................................................................18 MÉTODO DE NEWTON-RAPHSON.................................................................................21 MÉTODO DA SECANTE....................................................................................................25 EXERCÍCIO .........................................................................................................................27 AULA 4 ................................................................................................................................28 INTERPOLAÇÃO................................................................................................................28 O CONCEITO DE INTERPOLAÇÃO.................................................................................28 INTERPOLAÇÃO POLINOMIAL - POLINÔMIO DE LAGRANGE................................29 EXERCÍCIOS .......................................................................................................................33 FUNÇÃO SPLINE INTERPOLANTE.................................................................................34 SPLINE LINEAR INTERPOLANTE...................................................................................34 SPLINE CÚBICA INTERPOLANTE ..................................................................................36
Função de interpolação no Matlab ....................................................................................36 EXERCÍCIOS .......................................................................................................................38 AULA 5 ................................................................................................................................41 INTEGRAÇÃO NUMÉRICA ..............................................................................................41 REGRA DO TRAPÉZIO......................................................................................................41 EXERCÍCIOS .......................................................................................................................44 REGRA DE SIMPSON ........................................................................................................44 EXERCÍCIOS .......................................................................................................................46 AULA 6 ................................................................................................................................47 RESOLUÇÃO DE SISTEMAS LINEARES........................................................................47
Introdução .........................................................................................................................47 MÉTODO ITERATIVO DE GAUSS-JACOBI E GAUSS-SEIDEL ...................................47
Critério de convergência ...................................................................................................49 Critério de parada..............................................................................................................49 Programa em Matlab para solução por Gaus-Jacobi.........................................................51
EXERCÍCIOS .......................................................................................................................52 AULA 7 ................................................................................................................................53 EQUAÇÕES DIFERENCIAIS ORDINÁRIAS - EDO ........................................................53 PROBLEMA DE VALOR INICIAL – EDO DE PRIMEIRA ORDEM ..............................53 MÉTODO DE EULER .........................................................................................................53 EXERCÍCIOS .......................................................................................................................55 EQUAÇÕES DIFERENCIAIS ORDINÁRIAS....................................................................56 MÉTODOS DE RUNGE-KUTTA .......................................................................................56
Métodos de Passo Simples................................................................................................56 PROBLEMA DE VALOR INICIAL – PVI..........................................................................56 MÉTODO DE RUNGE-KUTTA DE QUARTA ORDEM..................................................56 EXERCÍCIOS .......................................................................................................................59 EQUAÇÕES DIFERENCIAIS ORDINÁRIAS DE ORDEM SUPERIOR..........................60 MÉTODO DE RUNGE-KUTTA .........................................................................................60
Método de Quarta Ordem .................................................................................................60 Exemplo de aplicação - Vibração Forçada a Um Grau de Liberdade...............................61
BIBLIOGRAFIA...................................................................................................................64
AULA 1
INTRODUÇÃO
Considerações Históricas
Os métodos numéricos são antigos e têm um das primeiras exemplares anotações do
século 12a.c que tratam de métodos de contagem em base quinária.
Os babilônios sintetizaram um sistema eficaz de numeração baseado na mudança de
posição dos símbolos, além disso, por volta do séc 4a.c, desenvolveram complexos
processos algoritmos como, por exemplo, a extração de raiz quadrada, o que é atribuída a
homens que viveram bem mais tarde (veja BOYER, Carl; História da Matemática).
Os hindus ficam com a criação do sistema decimal e do zero já que os babilônios
não chegaram a uma definição sobre o mesmo.
Modernamente surgiram os matemáticos: Gauss, D’Lambert, Laplace, Lagrange,
Paschoal, Newton, Stiling e outros.
Atualmente, com a invenção e o aperfeiçoamento das máquinas de cálculo e dos
aplicativos e programas computacionais, os métodos numéricos são aplicados em várias
áreas, entre elas, a engenharia.
Assim, pode-se dizer que o cálculo numérico visa diretamente aplicações e contenta-se com
métodos, valores e resultados aproximados, que não é tão rigoroso em relação aos conceitos
como o cálculo ordinário e que comete corretamente o erro, pois se tem o conhecimento da
ordem de grandeza do erro cometido.
Métodos Numéricos
São o conjunto de processos que, isolados ou combinados, nos conduzem a soluções
particulares de um certo problema, e esse conjunto de soluções particulares deve levar a
uma solução geral. Os métodos numéricos têm aplicações em Matemática, Física, Biologia,
economia, engenharia, etc.
O cálculo numérico tem uma infinidade de métodos numéricos para a resolução de
um mesmo problema. Para a escolha do mais eficiente, deve-se obedecer a três seguintes
critérios:
� Previsão de resultados
� Capacidade de conduzir os resultados desejados
� Esforço de cálculo despendido para a obtenção dos resultados
Métodos numéricos de aparência inocente podem ser bem trabalhosos quando
executados manualmente. É aí que o computador se torna útil pela sua velocidade e pela sua
capacidade de executar automaticamente um conjunto de instruções chamado programa.
A qualidade dos resultados obtidos depende da capacidade e do bom senso de quem
utiliza os métodos. O acúmulo de erros de truncamento é agravado, geralmente, pelo
número elevado de operações, que pode chegar a inutilizar os resultados. Por isso se torna
imperativo a necessidade de criação de métodos cada vez mais eficientes.
Resolução de Problemas
A resolução de problemas utilizando métodos numéricos envolve várias fases que
podem ser assim estruturadas:
Observamos que não é raro acontecer que os resultados finais de um processo desse
tipo estejam distantes do que se esperaria obter ainda que todas as fases de resolução
tenham sido realizadas corretamente. Isto pode ocorrer devido a motivos anteriormente
abordados como, por exemplo:
� Precisão de dados de entrada
� Forma de como estes dados foram representados no computador
� Tipo e ordem das operações efetuadas
Por outro lado os métodos numéricos apresentam-se como ricos instrumentos de
resolução de problemas de diversas áreas como a física, a matemática pura ou aplicada,
engenharia, economia biologia, computação aplicada etc.
AULA 2
NOÇÕES SOBRE ERROS
Motivos que tornam o cálculo numérico aproximado
� Uso de dados provenientes de tabelas.
� Uso de dados inexatos pela própria natureza matemática dos mesmos, exemplo:
� números irracionais: 2 , π
� números transcendentes: xsin , xcos , xtan
� dízimas periódicas: 0,4545....
� Uso de dados provenientes de medidas com erros devido à constituição do aparelho.
� Uso de dados inexatos pela supressão de algarismos.
� Métodos ou fórmulas aproximadas.
� Ordem de cálculo nas operações.
� Uso de rotinas não adequadas.
ERRO ABSOLUTO ( ( )E A)
O erro absoluto E para um valor aproximado A de um número A exato, será:
Se ( ) AA 0A-A 0 ⟨→⟨→⟨AE (erro por excesso)
Se ( ) AAE ⟩→⟩→⟩ A 0A-A 0 (erro por falta)
Propriedade
Multiplicando-se ou dividindo-se o número aproximado A por um número inteiro, exato e diferente de zero, o erro absoluto fica multiplicado ou dividido por este número.
A e B=KA
A e B KA= onde k é inteiro
( )E B KA KA K A A= − = −( )
como ( )A A E A− =
então
( ) ( )E B KE A=
ERRO RELATIVO (( )E AR )
O erro relativo ER para um valor aproximado A de um número A exato, será:
( ) ( )
A
AEAER =
ou
( )
A
AAAER
−=
Propriedade
Multiplicando-se ou dividindo-se o número aproximado A por um número inteiro, exato e diferente de zero, o erro relativo fica inalterado.
A e B=KA
A e B KA= onde k é inteiro
como ( )
A
AAAER
−=
então
( ) ( )
AK
AA.K
A
AKKABER
−=
−=
Portanto: ( )
A
AABER
−=
.
ERROS DE TRUNCAMENTO
São erros provenientes de utilização de processos que deveriam ser infinitos ou
muito grandes para a determinação de um valor e que, por razões práticas, são truncados.
Estes processos infinitos são muito usados, por exemplo, na determinação de valores
para funções matemáticas, tais como, exponenciais, logarítmicas, trigonométricas e outras.
São exemplos de processos infinitos, as séries de potência utilizadas para calcular
valores de uma grande variedade de funções.
A série de Taylor consiste em expandir uma função f(x) em uma série de potência em (x-a)
dada pela forma:
.........).(!3
)().(
!2
)()).(()()( 32 +−
′′′+−
′′+−′+= ax
afax
afaxafafxf
Para que uma função seja representada pela série de Taylor é necessário que a
função e suas derivadas existam no ponto x=a .
A existência de tal função, no entanto, não assegura esta representação, é necessário que se
faça estudos de convergência da série para que o desenvolvimento da série seja garantido.
Para a=0 a série de Taylor transforma-se na série de McLaurin que é dada por:
.........x.!
)(fx.
!
)(fx).(f)(f)x(f +
′′′+
′′+′+= 32
3
0
2
000
Em se tratando de obter valores, processos infinitos deverão ser interrompidos e
portanto tornarem-se finitos. Ao interromper o processo infinito introduz-se então o que
chamamos de erro de truncamento. De modo geral, pode-se dizer que o erro de truncamento
deve ser avaliado e controlado a partir de uma precisão prefixada.
Exemplo:
a) Obtenha a série de McLaurin para a xexf =)( .
b) Considerando o intervalo [-1,1], faça o gráfico das aproximações n=2, 3 e 12 usando
Matlab.
c) Calcule o valor da f(x) em x=0,5 nas aproximações propostas acima.
d) Quantos termos do desenvolvimento devem ser utilizados para que o cálculo da função
com precisão 81050 −×≤ε , nos intervalos [0 , 1] e [1 , 10].
e) Calcule o valor da f(x) em x=0,5 com precisão 81050 −×≤ε , .
Solução
a) Desenvolvendo a função em série de potência temos:
+∞<<∞++++= x- 32
132
L!
x
!
xx)x(f
ou ( )∑
∞
=
−
+∞<<∞−
=1
1
x- 1i
n
!n
x)x(f
Para n=2 temos: x)x(f +≅1
Para n=3 temos: 21
2xx)x(f ++≅
Para n=12 temos: !
x
!
x
!
x
!
x
!
x
!
x
!
x
!
x
!
x
!
xx)x(f
1110982654321
111098765432
+++++++++++≅
b) Programa em Matlab para produção gráfica
-1 -0.5 0 0.5 1 1.5 20
1
2
3
4
5
6
7
8
x
y
Funçao Exponencial
Funçao
n=2
n=3
n=12
Gráfico das aproximações n= 2, 3 e 12
c) Para n=2 x)x(f +≅1 portanto 5150 ,),(f ≅
Para n=3 21
2x
x)x(f ++≅ portanto ≅)x(f 1.64583333
Para n=12 !
x
!
x
!
x
!
x
!
x
!
x
!
x
!
x
!
x
!
xx)x(f
1110982654321
111098765432
+++++++++++≅ portanto
1.64872127 ≅)x(f .
d) A forma mais geral a série de Taylor para uma f(x) é dada por :
nn
axn
axafax
afax
afaxafafxf ).(
!
)).(().(
!3
)().(
!2
)()).(()()(
)(32 −
−θ+++−
′′′+−
′′+−′+= L onde 10 <θ< . O
último termo da expressão é chamado de termo remanescente ou resto da série para f(x) quando aproximamos a função por uma soma de finitos termos.
No caso da xe)x(f = a expressão geral da série será:
10 e x- !
)!1(
!3!2
1)( .132
<θ<+∞<<∞+−
+++++= θ−
xnn
en
x
n
xxxxxf L
O resto será portanto x.
n
e!n
x θ
. O limite superior no valor deste resto será com 1=θ , isto é: x
n
e!n
x
, mas
queremos que
ε<
)x(f
e!n
x xn
ou
81050 −×<
,e
e!n
x
x
xn
ou
81050 −×< ,!n
x n
.
Para 1<x temos: n=12.
Para 10<x temos: n=41.
e) Para x=0.5, n=12 e 1.64872127 ≅)x(f .
EXERCÍCIOS
Dadas as funções:
1) xxf sin)( = , [ ]ππ− 2,2 , 4/π=x
2) xxf cos)( = , [ ]ππ− 2,2 , 4/π=x
3) xxf sinh)( = , [ ]ππ− 2,2 , 4/π=x
4) xxf cosh)( = , [ ]5,5− , 5,0=x
5) xxf 2)( = , [ ]5,5− , 5,0=x
6) xxf −= 2)( , [ ]5,5− , 5,0=x
7) ( )1ln)( −= xxf , [ ]10 , 5,1 , 2=x
8) ( )1log)( += xxf , [ ]10 , 5,0− , 5,2=x
Pede-se:
a) Obtenha a série de McLaurin em cada caso.
b) Faça o gráfico das aproximações n=2, 3 e 12 usando Matlab, no intervalo indicado.
c) Calcule o valor da f(x) nas aproximações propostas acima, nos pontos indicados.
c) Quantos termos do desenvolvimento devem ser utilizados para que o cálculo da função
com precisão 9100,1 −×≤ε .
d) Calcule o valor da f(x) com precisão 9100,1 −×≤ε no ponto indicado.
AULA 3
DETERMINAÇÃO DE RAÍZES DE FUNÇÕES REAIS
Introdução
Nas diversas áreas das ciências exatas ocorrem situações que envolvem a resolução de equações do tipo f(x)=0.
Nosso objetivo será determinar as raízes reais da f(x), ou seja, determinar xi tal que f(xi)=0.
Para determinar estas raízes utilizaremos métodos numéricos que se apresentam em duas fases:
- Fase 1: isolamento de raízes
- Fase 2: determinação de raízes com ε precisão prefixada.
FASE 1: ISOLAMENTO DE RAÍZES
Esta fase consiste em localizar a raiz, isto é, obter o intervalo que a contém. Para esta fase utilizaremos análise numérica e/ou análise gráfica da função.
ANÁLISE NUMÉRICA
Para fazer a análise numérica da função com o objetivo de isolar as raízes utiliza-se o seguinte teorema:
TEOREMA
Seja f(x) uma função contínua num intervalo [a,b].
Se 0)().( <bfaf então existe um ponto ixx =
entre a e b que é raiz da função.
a b x
f(x)
ξ a b x
f(x)
ξ
ANÁLISE GRÁFICA
A análise gráfica da f(x) é fundamental para obter boa aproximação. Nesta análise utilizaremos o seguinte processo:
- A partir da equação f(x)=0, obtém-se a equação equivalente g(x)=h(x) dada f(x)=g(x)-h(x), Esboça-se o gráfico da g(x) e da h(x) no mesmo eixo cartesiano e identifica-se o intervalo onde as duas funções se interceptam, isto é, o zero da f(x).
EXEMPLO: Dada 39)( 3 +−= xxxf determine os intervalos das raízes reais da função.
39
0)39(
0)( para
)39()(
)()()(
3
3
3
−=
=−−
=
−−=
−=
xx
xx
xf
xxxf
xhxgxf
f(a)<0
f(b)>0
⇒ f(a).f(b)<0
f(a)>0
f(b)<0
⇒ f(a).f(b)<0
a b x
f(x)
ξ
a b x
f(x)
ξ
Determinação dos intervalos das raízes pelo método numérico
-7 -277
-6 -159
-5 -77
-4 -25
-3 3
-2 13
-1 11
0 3
1 -5
2 -7
3 3
4 31
5 83
6 165
7 283
Determinação dos intervalos das raízes pelo método gráfico
[-4,-3]
[0,1]
[2,3]
FASE 2: REFINAMENTO
Para obter as raízes com aproximação prefixada ε , utilizaremos métodos numéricos iterativos: Método da Bissecção, Método de Newton-Raphison e o Método da Secante.
Um método iterativo consiste em uma seqüência de instruções que são executadas passo a passo, algumas repetidas em ciclos.
MÉTODO DA BISSECÇÃO
Seja a função f(x) contínua no intervalo [a,b] tal que f(a).f(b)<0 , e no intervalo [a,b] contenha apenas uma única raiz da f(x).
O método consiste em aproximar para o valor da raiz xi pela bissecção do intervalo até que ε≤)( ixf
. (Critério de Parada)
Se 0
2
0
0
0
000
<
+=
>
<
)x(f
bax
)b(f
)a(f
então 010 e bbaxa ===
Se 02
0
0
1
011
1
>
+=
>
<
)x(f
bax
)b(f
)a(f
então 111 e bxbaa ===
Se 02
0
0
2
112
1
1
>
+=
>
<
)x(f
bax
)b(f
)a(f
então 221 e bxbaa ===
Se 0
2
0
0
3
213
2
1
<
+=
>
<
)x(f
bax
)b(f
)a(f
então 223 e bbaxa ===
Se 02
0
0
4
224
2
2
<
+=
>
<
)x(f
bax
)b(f
)a(f
então 234 e bbaxa ===
M
M
M
EXEMPLO
Determine as raízes da função pelo método da bissecção 23 10 com 39 −≤ε+−= xx)x(f
Solução:
Os intervalos das raízes já foram anteriormente determinados: [-4,-3], [0,1] e [2,3].
Raiz no intervalo [-4,-3]
f(ai)<0 e f(bi)>0 teste: f(a)*f(b)<0
i ai bi xi=(ai+bi)/2 f(xi)
1 -4 -3 -3,5 -8,375
2 -3,5 -3 -3,25 -2,078125
3 -3,25 -3 -3,125 0,607421875
4 -3,25 -3,125 -3,1875 -0,697998047
5 -3,1875 -3,125 -3,15625 -0,03604126
6 -3,15625 -3,125 -3,140625 0,28799057
7 -3,15625 -3,140625 -3,1484375 0,126551151
8 -3,15625 -3,1484375 -3,1523438 0,045399249
9 -3,15625 -3,1523438 -3,1542969 0,004715092
Raiz no intervalo [0,1]
f(ai)>0 e f(bi)<0 teste: f(a)*f(b)<0
i ai bi xi=(ai+bi)/2 f(xi)
1 0 1 0,5 -1,375
2 0 0,5 0,25 0,765625
3 0,25 0,5 0,375 -0,322265625
4 0,25 0,375 0,3125 0,218017578
5 0,3125 0,375 0,34375 -0,053131104
6 0,3125 0,34375 0,328125 0,082202911
7 0,328125 0,34375 0,3359375 0,014474392
8 0,3359375 0,34375 0,33984375 -0,019343913
9 0,3359375 0,3398438 0,33789063 -0,002438627
Raiz no intervalo [2,3]
f(ai)<0 e f(bi)>0 teste: f(a)*f(b)<0
i ai bi xi=(ai+bi)/2 f(xi)
1 2 3 2,5 -3,875
2 2,5 3 2,75 -0,953125
3 2,75 3 2,875 0,888671875
4 2,75 2,875 2,8125 -0,065185547
5 2,8125 2,875 2,84375 0,403411865
6 2,8125 2,84375 2,828125 0,167041779
7 2,8125 2,828125 2,8203125 0,050411701
8 2,8125 2,8203125 2,81640625 -0,007515848
Resposta: As raízes são -3,15±0,01 , 0,34±0,01 e 2,82±0,01
MÉTODO DE NEWTON-RAPHSON
Seja a função f(x) contínua no intervalo [a,b] tal que f(a).f(b)<0 , e no intervalo [a,b] contenha apenas uma única raiz da f(x).
O método de Newton-Raphson consiste em escolher uma função iteração que acelere a convergência na determinação das raízes da f(x).
O método de Newton-Raphson é mostrado geometricamente:
Dado ponto (xk,f(xk)) traçamos uma reta Lk(x) tangente à curva de f(x).
Neste caso )( onde )( kk xfabaxxL ′=+=
então )()( bxxfxL kk +′= substituindo (xk,f(xk))
teremos )()( bxxfxf kkk +′= portanto )()( kkk xxfxfb ′−= .
A reta tangente será : )()()()( kkkkk xxfxfxxfxL ′−+′= isto é:
) )(()()( kkkk xxxfxfxL −′++= .
Para determinar a raiz de )(xLk fazemos
0 )( =xLk teremos:
)(
)(
k
kk
xf
xfxx
′−=
onde x será a raiz de )(xLk .
A seqüência numérica {xk} gerada pelo processo iterativo )(
)(1
k
kkk
xf
xfxx
′−=+
converge
para a raiz da f(x) com aproximação prefixada ε .
RESUMO
Passo 1: Localizar os intervalos que contenham as raízes, uma a uma.
Passo 2: Determinar os valores dos extremos de cada intervalo [a,b], que contém uma única raiz.
Passo 3: Escolher um valor dentro do intervalo como o primeiro número da seqüência {xk}.
Passo 4: Calcular )(
)(1
k
kkk
xf
xfxx
′−=+ .
Passo 5: Verificar se 1+kx está dentro do intervalo [a,b].
Passo 6: Repetir o procedimento até que ε≤−+ kk xx 1 ou até que
ε≤+ )( 1kxf onde ε é a
tolerância.
EXEMPLO
Determine as raízes com aproximação prefixada ε pelo método de Newton-Raphson.
23 10 com 39)( −≤ε+−= xxxf
Solução:
Os intervalos das raízes já foram anteriormente determinados: [-4,-3], [0,1] e [2,3].
Raiz no intervalo [-4,-3]
x y erro
-3.00000000 3.00000000 3.0000e+000
-3.16666667 -0.25462963 2.5463e-001
-3.15458937 -0.00138392 1.3839e-003
Resposta: -3,15±0,01
Raiz no intervalo [0,1]
x y erro
0.00000000 3.00000000 3.0000e+000
0.33333333 0.03703704 3.7037e-002
0.33760684 0.00001834 1.8341e-005
Resposta: 0,34±0,01
Raiz no intervalo [2,3]
x y erro
2.00000000 -7.00000000 7.0000e+000
4.33333333 45.37037037 4.5370e+001
3.37480438 11.06343569 1.1063e+001
2.93521945 1.87144693 1.8714e+000
2.82413154 0.10729556 1.0730e-001
2.81694359 0.00043737 4.3737e-004
Resposta: 2,82±0,01
PROBLEMAS COM O MÉTODO DE NEWTON
O chute inicial deve estar suficientemente próximo da solução:
O processo iterativo passa por um ponto de máximo ou mínimo local:
O processo iterativo pode entrar em um ciclo que não converge:
Esses problemas podem ser resolvidos com um chute inicial perto da solução, com uma combinação de um método com convergência global boa (mas lenta) com o método de Newton (convergência global ruim, mas extremamente rápido quando perto da solução) ou ainda com a utilização de outro método.
MÉTODO DA SECANTE
Seja a função f(x) contínua no intervalo [a,b] tal que f(a).f(b)<0 , e no intervalo [a,b] contenha apenas uma única raiz da f(x).
O método de Newton-Raphson apresenta uma grande desvantagem que é a necessidade de se obter a derivada da função envolvida e calcular seu valor a cada iteração. O método da secante é uma modificação do método de Newton com o propósito de contornar este problema.
O método da secante é mostrado geometricamente:
No método da secante a derivada é substituída pelo quociente das diferenças:
)()(
)(1
1
−
−
−
−≈′
kk
kkk
xx
xfxfxf
onde 1 e −kk xx são duas aproximações para a raiz.
Neste caso a função de iteração fica:
)-()()(
)(1
11 −
−+ −
−= kk
kk
kkk xx
xfxf
xfxx
OBSERVAÇÃO
A partir das duas aproximações kx e 1−kx
o ponto 1+kx é obtido como sendo a abscissa do ponto de
intersecção do eixo x e da reta secante que passa por ))(,( 11 −− kk xfx
e ))(,( kk xfx
.
RESUMO
Passo 1: Determinar os valores dos extremos de cada intervalo [a,b], que contém uma única raiz.
Passo 2: Escolher dois valores dentro do intervalo para as primeiras aproximações da seqüência {xk}..
Passo 3: Calcular
)-()()(
)(1
11 −
−+ −
−= kk
kk
kkk xx
xfxf
xfxx
.
Passo 4: Verificar se 1+kx está dentro do intervalo [a,b].
Passo 5: Repetir o procedimento até que ε≤−+ kk xx 1 ou até que
ε≤+ )( 1kxf onde ε é a
tolerância.
EXEMPLO
Determine as raízes 23 10 com 39 −≤ε+−= xx)x(f utilizando o método da secante.
Solução:
Os intervalos das raízes já foram anteriormente determinados: [-4,-3], [0,1] e [2,3].
Raiz no intervalo [-4,-3]
x y erro
-3.15864622 -0.08614245 8.6142e-002
-3.15441917 0.00216531 2.1653e-003
Resposta: -3,15±0,01
Raiz no intervalo [0,1]
x y erro
0.20508744 1.16283919 1.1628e+000
0.35111112 -0.11671544 1.1672e-001
0.33779147 -0.00158019 1.5802e-003
Resposta: 0,34±0,01
Raiz no intervalo [2,3]
x y erro
2.82466394 0.11524520 1.1525e-001
2.81726706 0.00522737 5.2274e-003
Resposta: 2,82±0,01
EXERCÍCIO
Dadas as funções:
210 com 5 −− ≤ε−= xex)x(f
210 com 1 −≤ε−= xlogx)x(f
210 com 25040 −≤ε−+= xcos,x,)x(f
210 com 25040 −≤ε−+= xsen,x,)x(f
2210 com −− ≤ε−= xcose)x(f x
210 com 4 −≤ε−= xexsen)x(f
Pede-se:
a) Faça o gráfico da função.
b) Determine os intervalos de raízes pelos métodos gráfico e numérico.
c) Estime o valor das raízes com tolerância indicada em cada caso, pelos métodos da bissecção, Newton-Raphson e secante.
d) Compare a resultado e comente.
AULA 4
INTERPOLAÇÃO
A tabela a seguir relaciona calor específico da água e temperatura
T [oC] 20 25 30 35 40 45 50
C 0,99907 0,99852 0,99826 0,99818 0,99828 0,99849 0,99878
Suponhamos que se queira calcular:
O calor específico da água à 32,5oC.
A temperatura para a qual o calor específico é 0,99837.
A interpolação nos ajuda a resolver problemas deste tipo.
INTERPOLAR uma função )x(f consiste em aproximar essa função por uma outra função )x(g que será usada em substituição.
O CONCEITO DE INTERPOLAÇÃO
Consideremos 1+n pontos distintos nx,.....,x,x,x 210 chamados NÓS DA INTERPOLAÇÃO e os valores
da função nos pontos: )x(f),.....,x(f),x(f),x(f n210 .
A forma de interpolação da função )x(f consiste em obter )x(g tal que:
)x(f)x(g
)x(f)x(g
)x(f)x(g
)x(f)x(g
nn =
=
=
=
M
22
11
00
0
0.5
1
1.5
2
2.5
3
3.5
4
4.5
0 1 2 3 4 5 6 7 8 9 10 11 12
x
yf(x)
g(x)
Observação: A função escolhida pode ser uma função polinomial, racional, trigonométrica ou outra.
INTERPOLAÇÃO POLINOMIAL - POLINÔMIO DE LAGRANGE
Dados os pontos experimentais:
))x(f,x(,..........)),.......x(f,x()),x(f,x()),x(f,x( nn 221100 , portanto 1+n pontos. Queremos
aproximar )x(f por um polinômio )x(pn . Para isso, determinaremos um polinômio que passe pelos
pontos dados, que funcionará como a função geradora dos dados.
Seja )x(pn o polinômio de grau menor ou igual a n. O polinômio poderá ser da forma:
)x(Ly........)x(Ly)x(Ly)x(Ly)x(p nnn ++++= 221100
onde: )( 00 xfy = , )( 11 xfy = , )( 22 xfy = ... e )x(Lk são de grau n e da forma:
)xx)........(xx)(xx)(xx(
)xx)........(xx)(xx)(xx()x(L
nkkkk
nk −−−−
−−−−=
210
210
Haverá sempre uma solução por ix tal que:
iinniiiin y)x(Ly........)x(Ly)x(Ly)x(Ly)x(p =++++= 221100
FORMA RESUMIDA
∑=
=n
k
kkn xLyxp0
)()( onde:
∏
∏
≠=
≠=
−
−
=n
kjj
jk
n
kjj
j
k
xx
xx
xL
0
0
)(
)(
)(
Solução: i
n
k
ikkin yxLyxp ==∑=0
)()(
EXEMPLO
x -1 0 2
F(x) 4 1 -1
Como são n+1 pontos, então n=2.
Pela forma de LAGRANGE:
)x(Ly)x(Ly)x(Ly)x(p iiii 2211002 ++=
onde:
3
2)(
)21)(01(
)2)(0()(
))((
))(()(
2
0
02010
210
xxxL
xxxL
xxxx
xxxxxL
−=
−−−−−−
=⇒−−−−
=
2
2
2010
21
2
1
02101
201
−−−
=
−+−+
=⇒−−
−−=
xx)x(L
))((
)x)(x()x(L
)xx)(xx(
)xx)(xx()x(L
6
0212
01
2
2
01202
102
xx)x(L
))((
)x)(x()x(L
)xx)(xx(
)xx)(xx()x(L
+=
−+−+
=⇒−−
−−=
Sabendo que 1 e 1y 4 210 −=== yy , então
)x(Ly)x(Ly)x(Ly)x(p iiii 2211002 ++= será:
22
222
2
3
2
3
71
62
2
3
24
xx)x(p
xxxxxx)x(p
+−=⇒
+−
−−−
+
−=
que é o polinômio interpolador.
Programa em Matlab
% interpolaçao por lagrange
clear
xe=[-1, 0, 2];
ye=[4, 1, -1];
n=3;
% calculo do denominador de L(x)
denLk(1:n)=ones;
for k=1:n
for j=1:n
if j~=k
denLk(k)=denLk(k)*(xe(k)-xe(j));
end;
end;
end;
% calculo de L(x) em cada intervalo
p=13; % partiçao+1 no intervalo entre xe(inicial) e xe(final)
for k=1:n
Lk(k,1:p)=ones;
for j=1:n
if j~=k
for i=1:p
x(i)=xe(1)+0.25*i-0.25;
Lk(k,i)=Lk(k,i)*(x(i)-xe(j));
end;
end;
end;
Lkfinal(k,:)=Lk(k,:)/denLk(k);
end;
y(1:p)=zeros;
for i=1:n
y=y+ye(i)*Lkfinal(i,:);
end;
yteo=(1-7*x/3+2*(x.^2)/3)
figure
plot(x,y,'mp',x,yteo,'bo',xe,ye,'k+')
legend('Lagrange', 'Polinomio', 'Dados Iniciais' )
OBSERVAÇÕES
Existem alguns métodos distintos para a determinação de polinômios interpoladores.
Existem casos em que o grau do polinômio que interpola os pontos tabelados pode levar a resultados desastrosos.
Casos em que os valores tabelados de x aparecem igualmente espaçados podem levar a divergências quando se utiliza polinômio interpolador de grau n.
Existem métodos de interpolação que utilizam interpolação polinomial de grau baixo utilizando grupo de pontos x tabelados. São as Funções Spline de Interpolação.
Exemplo de interpolação polinomial utilizando n pontos que apresenta resultado com divergência:
O gráfico apresentado abaixo representa a curva de uma função do tipo: 2251
1
x)x(f
+=
, tabelada no intervalo [-1,1] em 10 pontos igualmente espaçados.
O polinômio interpolador de grau 10 é representado na segunda curva.
EXERCÍCIOS
Determine o polinômio interpolador de Lagrange para os casos abaixo e faça o gráfico para a solução utilizando o Matlab.
1)
X 0 1 2 3 5
y 4 1 0 1 4
2)
X 20 25 30 35 40 45 50
y 0.99907 0.99852 0.99826 0.9981 0.99828 0.99849 0.99878
FUNÇÃO SPLINE INTERPOLANTE
As funções spline utilizam grupos de pontos para realizar a interpolação polinomial por partes, de acordo com as imposições para as funções interpolantes.
SPLINE LINEAR INTERPOLANTE
A função spline linear interpolante de f(x), nos nós ix,....,x,x,x 210 pode ser escrita em cada intervalo
n,...,,i],x,x[ ii 21 1 =− como:
]x,x,xx
xx)x(f
xx
xx)x(f)x(s i
ii
ii
ii
iii 1-i
1
1
11 [x ∈∀
−
−+
−
−=
−
−
−−
onde: )x(si é um polinômio de grau 1 em cada intervalo
]x,x[ ii 1− , por definição.
Exemplo:
Achar a função spline linear que interpola a função tabelada:
x1 x2 x3 x4
x 1 2 5 7
F(x) 1 2 3 2,5
De acordo com a definição,
01
01
01
101
xx
xx)x(f
xx
xx)x(f)x(s
−
−+
−−
=
22212
12
12
211 −+−=
−−
+−−
= xxxx
)x(s
[1,2] xse 1 ∈= x)x(s
12
12
12
212
xx
xx)x(f
xx
xx)x(f)x(s
−−
+−−
=
( ) 253
2
25
23
25
522 −+−=
−−
+−−
= xxxx
)x(s
( ) [2,5] xse 43
12 ∈+= x)x(s
23
23
23
323
xx
xx)x(f
xx
xx)x(f)x(s
−−
+−
−=
57
552
57
733 −
−+
−−
=x
.x
)x(s
( ) [5,7] xse 58502
13 ∈+−= .x.)x(s
0
0,5
1
1,5
2
2,5
3
3,5
4
4,5
0 2 4 6 8
x
y
f(x) spline linear
A spline linear apresenta a seguinte desvantagem: ter a derivada primeira descontínua nos nós.
Uma alternativa seria utilizar polinômio interpolante spline de grau acima.
S1(x)
S3(x)
S2(x)
SPLINE CÚBICA INTERPOLANTE
A função spline cúbica interpolante de f(x) nos nós nn x,x,,.........x,x 121 − , S(x), é uma função polinomial por partes, contínua, onde cada parte, si(x), é um polinômio de grau 3 no intervalo
121 1 −=+ n,...,,i],x,x[ ii . No total serão gerados 1−n polinômios do tipo:
( ) ( ) ( ) ]x,xxxxxxxy)x(s iiiiiiii 1i3
12
1i11 [x +++++ ∈∀−γ+−β+−α+=
onde:
ii
ii
i
iii hh
h
yy
3611 ++ φ
+φ
+−
=α
21+φ
=β ii
i
iii
h61 φ−φ
=γ +
onde iii xxh −= +1 ,
e a sela para a spline cúbica natural onde 01 == φφn será:
−
−
−
−
=
φ
φ
φ
φ
+
+
+
+
−−−−−− 21
34
23
12
1
4
3
2
122
4433
3322
221
2
2
2
2
nnnnnn bb
bb
bb
bb
*
)hh(h
h)hh(h
h)hh(h
h)hh(
MMM
onde:
6 1
−= +
i
iii
h
yyb
A spline cúbica si(x) tem a primeira e a segunda derivada contínuas, o que faz com que a curva S(x) não tenha picos e nem mude abruptamente de curvatura nos nós.
Função de interpolação no Matlab
INTERP1: Interpolação 1-D Sintaxe: YI = INTERP1(X,Y,XI) A função INTERP1 fornece os valores interpolados em YI dos valores da função Y nos pontos do vetor XI. O vetor X especifica os pontos nos quais os valores de Y são fornecidos.
YI = INTERP1(X,Y,XI,'method') especifica métodos alternativos de interpolação. O método “default” é a interpolação linear. Os métodos disponíveis são: 'nearest' - interpolação pelos vizinhos mais próximos 'linear' - interpolação linear 'spline' - interpolação spline cúbica (SPLINE) 'pchip' - interpolação por polinômio de Hermite cúbico (piecewise cubic Hermite
interpolation - PCHIP) 'cubic' - o mesmo que 'pchip' Exemplo 1: >> x = 0:10; y = sin(x); xi = 0:.25:10;
>> yi = interp1(x,y,xi); plot(x,y,'o',xi,yi)
Exemplo 2: >> x = 0:10;
>> y = sin(x);
>> xi = 0:.25:10;
>> yi = interp1(x,y,xi,'spline');
>> plot(x,y,'o',xi,yi)
Alternativamente para o polinômio spline pode ser usada a função SPLINE: SPLINE: Interpolação por spline cúbica. Sintaxe: YY = SPLINE(X,Y,XX) A função SPLINE utiliza a interpolação por spline cúbica para calcular os valores interpolados YY da função Y nos pontos contidos no vetor XX. O vetor X especifica os pontos nos quais os valores de Y são dados. Exemplo 3: x = 0:10; y = sin(x);
xx = 0:.25:10;
yy = spline(x,y,xx);
plot(x,y,'o',xx,yy)
Exemplo 4: >> x = -4:4; y = [0 .15 1.12 2.36 2.36 1.46 .49 .06 0];
>> cs = spline(x,[0 y 0]);
>> xx = linspace(-4,4,101);
>> plot(x,y,'o',xx,ppval(cs,xx),'-');
EXERCÍCIOS
1- Mostre que a função spline linear interpolante de f(x), nos nós ix,....,x,x,x 210 pode ser escrita em cada
intervalo n,...,,i],x,x[ ii 21 1 =− como:
]x,x,xx
xx)x(f
xx
xx)x(f)x(s i
ii
ii
ii
iii 1-i
1
1
11 [x ∈∀
−
−+
−
−=
−
−
−−
onde: )x(si é um polinômio de grau 1 em cada intervalo
]x,x[ ii 1− .
2- Mostre que a função spline cúbica interpolante de f(x) nos nós nni x,x,.....,x,....,x,x 121 − , S(x), é uma função polinomial por partes, contínua, onde cada parte, si(x), é um polinômio de grau 3 no intervalo
121 1 −=+ n,...,,i],x,x[ ii . No total serão gerados 1−n polinômios do tipo:
( ) ( ) ( ) ]x,xxxxxxxy)x(s iiiiiiii 1i3
12
1i11 [x +++++ ∈∀−γ+−β+−α+=
onde:
ii
ii
i
iii hh
h
yy
3611 ++ φ
+φ
+−
=α
21+φ
=β ii
i
iii
h61 φ−φ
=γ +
onde iii xxh −= +1 ,
e a sela para a spline cúbica natural onde 01 == φφn será:
−
−
−
−
=
φ
φ
φ
φ
+
+
+
+
−−−−−− 21
34
23
12
1
4
3
2
122
4433
3322
221
2
2
2
2
nnnnnn bb
bb
bb
bb
*
)hh(h
h)hh(h
h)hh(h
h)hh(
MMM
onde:
6 1
−= +
i
iii
h
yyb
3- Problemas
3.1 Um veículo de fabricação nacional, após vários testes, apresentou os resultados abaixo, quando se analisou o consumo de combustível de acordo com a velocidade média imposta ao veículo. Os testes foram realizados em rodovia em operação normal de trafego, numa distancia de 72 Km.
VELOCIDADE
[Km/h]
CONSUMO
[Km/l]
55 14.08
70 13.56
85 13.28
100 12.27
120 11.3
140 10.4
Utilizando a interpolação Spline linear, verifique o consumo aproximado para o caso de ser desenvolvida uma velocidade de 80Km/h.
O mesmo para o consumo aproximado no caso de ser desenvolvida uma velocidade de 108Km/h.
3.2- Uma corda foi tencionada sob a ação de pesos distintos, quando para os respectivos pesos foram calculadas as devidas velocidades de propagação que estão indicadas baixo.
PESO [gf] VELOCIDADE [cm/s]
6.000 13728.13
6.500 14288.69
7.000 14828.07
7.500 15348.51
8.000 15851.87
8.500 16188.39
Calcular a velocidade de propagação quando a corda está tencionada sob a ação de um peso de 7.250gf.
Calcular a velocidade de propagação quando a corda está tencionada sob a ação de um peso de 7.210gf.
3.3- A tabela abaixo dá o volume de água num tanque elástico, usado para transporte de óleo, leite etc, para várias cotas de água
X
[m]
Y
[m3]
0.1 1.1052
0.6 1.8221
1.1 3.0042
1.6 4.9530
2.1 8.1662
Calcular Y(0.12).
Calcular Y(1.21).
4- Encontrar os polinômios interpoladores de Lagrange para as seguintes funções e utilizar
interpolação no Matlab:
(a) sin(x), para os valores de x = [0, 1.2, 3, 4.2, 5]
(b) exp(x), para os valores de x = [0, 0.5, 2, 3]
(c) ln(x), para os valores de x = [1, 1.5, 2, 3.8, 4]
AULA 5
INTEGRAÇÃO NUMÉRICA
Integral definida: ∫ −=b
a
)a(F)b(Fdx)x(f
, tal que )x(f)x(F =′.
Para algumas funções como
2xe)x(f −= , pode não ser fácil expressar a função primitiva. Ainda existem casos em que apenas os valores da f(x) são conhecidos para alguns pontos e a expressão analítica não é conhecida.
Uma forma de obter uma aproximação para a integral, nestes casos, é através de métodos numéricos.
A idéia fundamental é que o polinômio de interpolação, ou aquele que aproxime da função passe por pontos igualmente espaçados dentro do intervalo [a,b] de definição da função. Considerando a partição do intervalo [a,b] em subintervalos de comprimento h, [xi,xi+1] i=0,1,2,...,n-1. Assim xi-xi+1=h ou seja h=(b-a)/n.
Nas fórmulas de Newton-Cotes, a integração definida da f(x) no intervalo [a,b] onde a=x0 e b=xn será:
∑∫∫=
=++++==n
i
iinn
nx
x
b
a
)x(fA)x(fA)x(fA)x(fA)x(fAdx)x(fdx)x(f0
221100
0
L
Onde: Ai são os coeficientes determinados de acordo com o grau do polinômio de aproximação.
REGRA DO TRAPÉZIO
Desenvolvendo as fórmulas de Newton-Cotes utilizando a=x0 e b=x1, e p1(x) o polinômio que interpola f(x) em x0 e x1. Neste caso teremos:
∫∫ =nx
x
b
a
dx)x(pdx)x(f
0
1
como p1(x) é dado por:
)x(fh
xx)x(f
h
xx)x(p 1
00
11
−+
−
−=
onde: h=x1-x0.
Então:
dx)x(fh
xxdx)x(f
h
xxdx)x(p
x
x
x
x
x
x
∫∫∫−
+−
−=
1
0
10
1
0
01
1
0
1
( ) ( )dxxxh
)x(fdxxx
h
)x(fdx)x(p
x
x
x
x
x
x
∫∫∫ −+−−
=1
0
01
1
0
10
1
0
1
( ) ( ) 1
0
201
1
0
210
1
0
1 22
x
x
x
x
x
x
xx
h
)x(fxx
h
)x(fdx)x(p
−+
−
−=∫
( ) ( )
−+
−=∫ 22
2011
2100
1
0
1
xx
h
)x(fxx
h
)x(fdx)x(p
x
x
como h=x1-x0, temos:
( ))x(f)x(fh
dx)x(p
x
x
10
1
0
1 2+=∫
Esta integral é a área do trapézio que aproxima a área sob o gráfico.
O erro para o método do trapézio pode ser estimado por:
( ) ( )1001
3
12
x,xcxxhcfh
ET ∈−=′′−=
Considerando o erro cometido o valor da integral será:
( ) ( )cfh
)x(f)x(fh
dx)x(f
x
x
′′−+=∫ 122
3
10
1
0
A regra do trapézio para um grande intervalo de integração pode levar a resultados com grande erro em relação ao resultado da integração exata. Para melhorar a aproximação será necessário, portanto, introduzir uma partição no intervalo a, b e a integração passará para:
( ) ( )∑∑∫−
=
−
=+ ′′−+=
1
1
31
01 122
m
i
i
m
i
ii
b
a
cfh
)x(f)x(fh
dx)x(f
com ( )1+∈ iii x,xc , assim:
( ) ( )cfh
m)x(f)x(f)x(f)x(f)x(fh
dx)x(f mm
mx
x
′′−+++++= −∫ 12222
2
3
1210
0
L
f(x)
p1(x)
f(x0)
f(x1)
a=x0 b=x0 x
y
x1 - x0
RESUMO
A valor da integral pelo método do trapézio será:
( ))x(f)x(f)x(f)x(f)x(fh
I mmTR +++++= −1210 2222
L
E o erro será estimado por:
22
12Mh
abETR
−≤
com ( ) ( )b,accfM ε′′= dado máx2
Exemplo
Dada a integral
dxeI x∫=1
0 , pede-se:
Calcule a aproximação para I usando 10 subintervalos para a regra dos trapézios repetidos.
Estime o erro cometido.
Determine o número mínimo de divisões para que o erro seja inferior a 10-3.
Solução
Intervalo [0, 1], como m
abh
−=
então 10.h = .
( )1090807030201001
0
2222222
10eeeeeeee
.dxe ......x ++++++++≅∫ L
71971311
0
,dxe x ≅∫
Dado que o erro pode ser estimado por: 2
2
12Mh
abETR
−≤
onde ( ) máx2 cfM ′′=
1 dado 2 == ceM então e.ETR
21012
1≤
ou 31032 −×≤ .ETR .
Para 310−≤TRE temos:
32
2 1012
−≤−
Mhab
e 0664420.h ≤ . Assim como m é o número de
intervalos da partição h
abm
−=
então 15=m .
EXERCÍCIOS
1) Calcule as integrais pelo método dos trapézios usando 4 e 6 divisões. Estime o erro em cada caso.
a)
dxeI x∫=2
1
b).
dxxI ∫=4
1
c)
∫=14
2 x
dxI
2) as integrais pelo método dos trapézios.
a)
0
dxeI xsen∫π
= com
2102 −×≤ε
b)
2
1
dxxsenI
/
∫π
= com
410−≤ε
REGRA DE SIMPSON
O princípio da aproximação para este método, tanto quanto a regra do trapézio, é a utilização de um polinômio interpolador que possa por pontos igualmente espaçados, no entanto o polinômio utilizado pelo método de Simpson é distinto daquele utilizado pelo método do trapézio. No caso do método de Simpson a integral numérica será dada por:
( )(
( )))x(f)x(f)x(f
)x(f)x(f)x(f)x(f)x(fh
I
m
mmRS
242
1310
2
43
−
−
++++
++++++=
L
L
E o erro será estimado por: 4
5
180M
h
h
abETR
−≤
com
( )( ) ( )b,accfM IV ε= dado máx4
Exemplo
Dada a integral
dxeI x∫=1
0 , pede-se:
Calcule a aproximação para I usando 10 subintervalos para a regra de Simpson.
Estime o erro cometido.
Determine o número mínimo de divisões para que o erro seja inferior a 10-3.
Solução
Intervalo [0, 1], como m
abh
−=
então 10.h = .
( )( ( ))8060402090705030100101
0
243
10 ..........x eeeeeeeeeee.
dxe ++++++++++≅∫
7182827811
0
,dxe x ≅∫
Dado que o erro pode ser estimado por: 4
5
180M
h
h
abETR
−≤
com ( )( ) ( )b,accfM IV ε= dado máx4
1 dado 4 == ceM então e
.ETR 180
1010
2
≤ ou
61051 −×≤ .ETR .
Para 310−≤TRE temos:
34
5
10180
−≤−
Mh
h
ab
e 50.h ≤ . Assim como m é o número de intervalos da
partição h
abm
−=
então 2=m .
EXERCÍCIOS
Calcule o valor aproximado para I com 310−≤ε usando a regra de Simpson
∫ +=
60
01
.
x
dxI
Qual o erro cometido na aproximação no valor calculado para
( )∫ +−=4
0
3 133 dxxxI
pela regra de Simpson com quatro subintervalos e pela regra dos trapézios?
Calcule I por Simpson nos casos:
a)
0
dxeI xsen∫π
= com
2102 −×≤ε
b)
2
1
dxxsenI
/
∫π
= com
410−≤ε
Calcule π a partir da relação
14
1
12∫ +
=π
x
dx
com 310−≤ε por Simpson.
Considere
dxeI x∫ −=1
0
2
.
Estime I pela regra de Simpson com 250.h = .
Determine o erro para este caso.
AULA 6
RESOLUÇÃO DE SISTEMAS LINEARES
Introdução
A solução de um sistema de equações é necessária em vários problemas de engenharia. Problemas de interpolação e ajuste de curvas e na solução de equações diferenciais na simulação de problemas de engenharia. Os métodos de solução de sistemas de equações lineares são chamados de:
Métodos diretos, quando a solução é exata (a menos de erros de truncamento do computador) e é determinada após um número finito de operações. Esses tipo requer mais memória de armazenamento pois é mais robusto;
Métodos iterativos, quando fornece uma sequência de soluções aproximadas que convergem quando o número de passos tende a infinito. Nesse caso, a necessidade de memória de armazenamento é menor e também os problemas de convergência.
MÉTODO ITERATIVO DE GAUSS-JACOBI E GAUSS-SEIDEL
A forma como o método de Gauss-Jacobi e Gauss-Seidel transforma o sistema linear bAx = em
sistema do tipo gCxx += , é apresentado abaixo:
Dado o sistema linear com n equações e n variáveis:
Seja um sistema linear do tipo bAx = :
=++++
=++++
=++++
=++++
nnnnnnn
nn
nn
nn
bxaxaxaxa
bxaxaxaxa
bxaxaxaxa
bxaxaxaxa
L
MMMMM
MMMMM
L
L
L
332211
33333232131
22323222121
11313212111
onde: ija são coeficientes nj,ni ≤≤≤≤ 1 1
jx são variáveis n,....,,j 21=
ib são constantes n,....,,i 21=
A matriz dos coeficientes A é uma matriz nn× , dada por:
=
nnnnn
n
n
n
aaaa
aaaa
aaaa
aaaa
A
L
MMMM
L
L
L
321
3333231
2232221
1131211
O vetor das variáveis x é um vetor 1×n , dado por:
=
nx
x
x
x
x
3
2
1
M
O vetor dos termos constantes b é um vetor 1×n , dado por:
=
nb
b
b
b
b
3
2
1
M
As equações para determinação dos valores de x serão determinadas ao isolar x mediante separação diagonal, assim temos:
( )
( )
( )
( )
−−−−=
−−−−=
−−−−=
−−−−=
−− 112211
3232131333
3
2323121222
2
1313212111
1
1
1
1
1
nn,nnnn
nn
n
nn
nn
nn
xaxaxaba
x
xaxaxaba
x
xaxaxaba
x
xaxaxaba
x
L
MMMMM
MMMMM
L
L
L
.
E a seqüência de aproximação será dada por:
( ) ( ) ( ) ( )( )( ) ( ) ( ) ( )( )( ) ( ) ( ) ( )( )
( ) ( ) ( ) ( )( )
−−−−=
−−−−=
−−−−=
−−−−=
−−+
+
+
+
knn,n
kn
knn
nn
kn
knn
kkk
knn
kkk
knn
kkk
xaxaxaba
x
xaxaxaba
x
xaxaxaba
x
xaxaxaba
x
1122111
3232131333
13
2323121222
12
1313212111
11
1
1
1
1
L
MMMMM
MMMMM
L
L
L
Obs: O vetor aproximação inicial ( )0x é um vetor arbitrário e pode ser considerado como ( )
=
nnn ab
ab
ab
ab
x
/
//
/
333
222
111
0
M
para o método de Gauss-Jacobi e para a método de Gauss-Seidel a aproximação inicial pode ser considerada
como ( )
=
0
00
0
0
M
x . No entanto, a convergência independe do valor inicial escolhido par ( )0x .
Critério de convergência
Apresentamos aqui um critério de convergência que estabelece condição suficiente para que o resultado obtido pelo sistema iterativo seja convergente para a solução do sistema original.
Dado o sistema linear bAx = e seja kk
n
kjj
kj
ka
a∑≠=
=α1
, se kα=α máx e
1máx <α k então o método
iterativo gera uma seqüência ( ){ }kx convergente, independentemente do valor inicial
( )0x . No caso de
1máx >α k , pode-se procurar a convergência fazendo permutações entre as linhas para que o critério de
convergência seja alcançado. No caso 1máx =α k , o critério não diz nada sobre a convergência do
sistema.
Critério de parada
Para determinar a solução aproximada, depois de verificada a convergência da solução, as equações do
processo iterativo deverão ser aplicada repetidamente até que ( )kx esteja suficientemente próximo de
( )1−kx ,
assim a distância entre a última aproximação e a anterior, ( )kd , deve ser menor que a tolerância ε ,
( ) ε<kd , onde:
( ) ( ) ( )1máx −−= kkk xxd.
Exemplo:
Resolva o sistema
=++
−=++
=++
61032
85
7210
321
321
321
xxx
xxx
xxx
por Gauss-Jacobi com 050.<ε .
Teste de convergência
Dado que a matriz dos coeficientes é 1032
151
1210
=A
, então 301 ,=α , 402 ,=α e 502 ,=α .
Como 150máx <=α ,k então a solução é convergente.
Vetor aproximação inicial
Dado
( )
( )
( )
( )
=0
3
02
01
0
x
x
x
x
ou ainda
( )
=
333
222
1110
a/b
a/b
a/b
x
, então neste caso:
( )
−=
106
58
1070
/
/
/
x
.
Equações iterativas para a aproximação
( ) ( ) ( )( )( ) ( ) ( )( )( ) ( ) ( )( )
−−=
−−=
−−=
0232
01313
33
13
0323
01212
22
12
0313
02121
11
11
1
1
1
xaxaba
x
xaxaba
x
xaxaba
x
, ou seja,
( ) ( ) ( )( )( ) ( ) ( )( )( ) ( ) ( )( )
−−=
−−−=
−−=
02
01
13
03
01
12
03
02
11
23610
1
85
1
2710
1
xxx
xxx
xxx
Na primeira iteração teremos
( ) ( )( )
( ) ( )( )
( ) ( ) ( )( )
−−−=
−−−=
−−−=
702613610
1
607085
1
60612710
1
13
12
11
..x
..x
..x
ou apenas
( )
( )
( )
=
−=
=
940
861
960
13
12
11
.x
.x
.x
Para fazer o teste de parada temos:
( ) ( ) 26001
11 .xx =−
,
( ) ( ) 26002
12 .xx =−
e
( ) ( ) 34003
13 .xx =−
.
Como
( ) ( ) ( ) 340máx 011 .xxd =−= e é maior que a tolerância então o processo deve ser repetido até que
o erro seja menor que 0.05. O resultado será:
( )
( )
( )
=
−=
=
0003.1
9999.1
9985.0
33
32
31
x
x
x
já que ( ) ( ) ( ) 0143.0máx 233 =−= xxd .
x1 x2 x3 e1 e2 e3
0.9600 1.9120 0.9816 0.2600 0.3120 0.3816
0.9842 1.9932 1.0011 0.0242 0.0812 0.0195
0.9985 1.9999 1.0003 0.0143 0.0068 0.0008
Programa em Matlab para solução por Gaus-Jacobi
EXERCÍCIOS
Resolva o sistema pelos métodos iterativos de Gauss-Jacobi e Gauss-Seidel com 050.<ε .
a)
−=+
=++
−=++
686
3225
23
32
321
321
xx
xxx
xxx
. c)
−=+++
=++−−
−=−−+
=+−+
5.22.03.01.0
0.12.02.01.0
6.21.02.02.0
2.01.01.05.0
4321
4321
4321
4321
xxxx
xxxx
xxxx
xxxx
b)
=+−−
=++−
−=+−+−
=++−
1115446
2341969
996
725
4321
4321
4321
4321
xxxx
xxxx
xxxx
xxxx
d)
=++
=++
=++
303089
388307
169720
321
321
321
xxx
xxx
xx
AULA 7
EQUAÇÕES DIFERENCIAIS ORDINÁRIAS - EDO
Equações diferenciais ordinárias, EDO, ocorrem com muita freqüência na descrição de fenômenos da natureza.
Há vários métodos que resolvem analiticamente uma EDO, mas nem sempre é possível obter a solução analítica. Neste caso, a saída é encontrar uma solução aproximada utilizando métodos numéricos.
PROBLEMA DE VALOR INICIAL – EDO DE PRIMEIRA ORDEM
MÉTODO DE EULER
Dado um PVI:
=
=′
dado é onde )(
),(
000 yyxy
yxfy
O método consiste em calcular recursivamente a seqüência { }
jy
através das fórmulas:
)y,x(f.hyy
)a(yy
jjjj +=
=
+1
0
1 eq.
onde: )(ay é dado inicial
partição a é m
m
abh
−=
1.,,.........2,1,0 −= mj
y)y,x(f jj′=
Os problemas com solução numérica sempre apresentam erros de truncamento, no caso das EDO chamamos
de ELT ou erro local de truncamento, que para este método é dado por: jjj xx),(y
!
h<ξ<ξ′′=ε +1
2
2
EXEMPLO
Achar as aproximações para a solução do PVI 2)0(
2
=
+−=′
y
yxy
na malha de [0,1] com h=0,1 e
determinar. )1(y .
Solução:
Usando as equações do método de Euler: ),(.
)(
1
0
jjjjyxfhyy
ayy
+=
η==
+
Sabendo que
01jhxx
j+=
+
Como a=0 e b=1 teremos: 2 ,0
00== yx
e m=10, faremos as aproximações para j=0,1, 2, 3, 4, 5, 6, 7, 8,9.
j xj=x0+jh yj Yj+1=yj+h(xj-yj+2)
0 0 2 2
1 0,1 2 2,01
2 0,2 2,01 2,029
3 0,3 2,029 2,0561
4 0,4 2,0561 2,09049
5 0,5 2,09049 2,131441
6 0,6 2,131441 2,1782969
7 0,7 2,1782969 2,2304672
8 0,8 2,2304672 2,2874205
9 0,9 2,2874205 2,3486784
1,0 2,3486784 -
EXERCÍCIOS
ACHAR AS APROXIMAÇÕES PARA A SOLUÇÃO DO PVI E COMPARE COM A SOLUÇÃO ANALÍTICA:
a) 20
2
=
+−=′
)(y
yxy
na malha de [0,1] com h=0,05.
b) 20
2
=
+−=′
)(y
yxy
na malha de [0,1] com h=0,01.
c)
1)0(
12
=
+=′
y
y
xy
na malha de [0,1] com h=0,2.
d) 01
1
=
=′
)(y
xy
na malha de [1,2] com h=0,1.
EQUAÇÕES DIFERENCIAIS ORDINÁRIAS
MÉTODOS DE RUNGE-KUTTA
Métodos de Passo Simples
Um método para resolver o PVI é considerado de passo simples se a aproximação yj+1 depende apenas do resultado yj da etapa anterior.
Todos os métodos de passo simples são escritos na forma:
1210 ,1 −=φ+=+ m,.....,,,j)h;y,x(.hyy jjjj
onde );,( hyx
jjφ
é a função incremento e h o comprimento do passo.
PROBLEMA DE VALOR INICIAL – PVI
MÉTODO DE RUNGE-KUTTA DE QUARTA ORDEM
Dado um PVI:
=
=′
00 y)x(y
)y,x(fy
O método consiste em calcular recursivamente a seqüência { }
jy
através das fórmulas:
1210 0 −=+= m,....,,,jj.hxx j
partição a é onde mh
abm
−=
( )
1210 :onde
,226
143211
−=
++++=+
m,....,,,j
KKKKyy jj
)y,x(f.hK jj=1
)
Ky,
hx(f.hK jj 22
12 ++=
)
Ky,
hx(f.hK jj 22
23 ++=
)Ky,hx(f.hK jj 34 ++=
EXEMPLO
Dado do PVI:
( )
=
+++
=′
30
1x1
2 3
)(y
x
yy
com h=0,125.
Obtenha y(1) e y(2).
Solução:
Utilizando as equações do método de Runge–Kutta de quarta ordem:
1210 0 −=+= m,....,,,jj.hxx j
partição a é onde m
h
abm
−=
( )
1210 :onde
,226
143211
−=
++++=+
m,....,,,j
KKKKyy jj
)y,x(f.hK jj=1
)
2,
2(. 1
2
Ky
hxfhK
jj++=
)
2,
2(. 2
3
Ky
hxfhK
jj++=
),(.
34KyhxfhK
jj++=
Como a=0 e b=2 teremos: 3 ,0
00== yx
e como h=0,125, ou seja, m=16, faremos as aproximações para j=0,1, 2, 3, 4, 5, ........,14,15.
- Observe que yyxf ′=),(
j xj=x0+jh yj ( )43211 22
6
1KKKKyy jj ++++=+
0 0 3 3,964937
1 0,125 3,9649 5,126895
2 0,25 5,1269 6,513705
3 0,375 6,5137 8,156127
4 0,5 8,1561 10,08785
5 0,625 10,088 12,34551
6 0,75 12,34551 14,96864
7 0,875 14,96864 17,99972
8 1 17,99972 21,48417
9 1,125 21,48417 25,47033
10 1,25 25,47033 30,00946
11 1,375 30,00946 35,15577
12 1,5 35,15577 40,96638
13 1,625 40,96638 47,50136
14 1,75 47,50136 54,82369
15 1,875 54,82369 62,99928
16 2 62,99928
EXERCÍCIOS
Dadas as equações diferenciais, achar as aproximações para a solução do pvi, pelo método de runge-kutta de quarta ordem:
a) 10
1
12
2
=+
−=′
)(y
x
yy
na malha de [0,1] com h=0,1.
b) 501
12
,)(y
x
xyy
=
++=′
na malha de [1,2] com h=0,1.
c) 10
2
=
−=′
)(y
yyxy
na malha de [0,2] com h=0,2.
d) 10
1
−=
+=′
)(y
xcosy
na malha de [0,2] com h=0,2.
EQUAÇÕES DIFERENCIAIS ORDINÁRIAS DE ORDEM SUPERIOR
MÉTODO DE RUNGE-KUTTA
Método de Quarta Ordem
É comum encontrarmos equações diferenciais de ordem m escritas na forma:
)y,.....,y,y,y,x(fy mm 1−′′′=
Para aplicar o método de RUNGE-KUTTA é necessário transformar a equação diferencial em um sistema de equações diferenciais de primeira ordem.
Aplicaremos o método para resolver EDO de segunda ordem. Dada a EDO de segunda ordem:
)y,y,x(fy ′=′′
As equações diferenciais de primeira ordem geradas para aplicação do método de RUNGE-KUTTA.
Fazendo yy =
1
Teremos: 21yyy =′=′
e )y,y,x(fyy 212 =′′=′
Então o sistema de EDO será:
=′
=′
),,(212
21
yyxfy
yy
Para o caso de um sistema de duas equações diferenciais de primeira ordem consideraremos:
)y,y,x(gy 211 =′
)y,y,x(fy 212 =′
Assim determinaremos uma seqüência numérica para y1 e uma seqüência para y2 da seguinte forma:
)22(6
14321
1
1
1kkkkyy
ji
++++=+
)22(6
14321
2
1
2ccccyy
jj
++++=+
onde:
k1 = h g(x,y1 ,y2 ) c1 =h*f(x,y1 ,y2 )
k2 =h*g(x+h/2, y1 +k1/2, y2 +c1/2) c2 =h*f(x+h/2, y1 +k1/2, y2 +c1/2)
k3 =h*g(x+h/2, y1 +k2/2, y2 +c2/2) c3 =h*f(x+h/2, y1 +k2/2, y2 +c2/2)
k4 =h*g(x+h, y1 +k3, y2 +c3) c4 =h*f(x+h, y1 +k3, y2 +c3)
h: o passo é igual ao intervalo de solução dividido pelo número de divisões do intervalo.
Por exemplo: a variável independente x irá variar de zero á 1. Este intervalo será dividido em 100 partes iguais; logo o passo h será de 0,01 unidades de x.
Para iniciar o cálculo precisaremos das condições iniciais que serão: x0 , y1(x0) e y2(x0).
Exemplo de aplicação - Vibração Forçada a Um Grau de Liberdade
A figura 1 representa um modelo de vibração forçada a um grau de liberdade. Considerando a força elástica contrária e proporcional à deformação elástica, a força de amortecimento viscoso contrária e proporcional à velocidade e ainda uma força de excitação dependente do tempo.
A equação diferencial do movimento é dada por:
M
tFxxx
NN
)(2
2 =ω+ζω+ &&&
(1)
onde
M
kN=ω 2
cc
c=ζ
NcMc ω= 2
ωΝ : freqüência angular natural................................rad/s
ζ : fração de amortecimento......................adimensional
cc : constante de amortecimento crítica...............N/(m/s)
Para aplicar o método de RUNGE-KUTTA, é necessário transformar a equação diferencial (1) num sistema de equações diferenciais de primeira ordem.
Fazendo
x1 =x xx &=
2 e 1
2
222
)(xx
M
tFxx
NNω−ζω−== &&&
k: constante elástica.................................................................N/m
c: constante de amortecimento viscoso..................................N/(m/s)
F(t): força de excitação.................................................................N
x(t):deslocamento em torno da posição de equilíbrio.....................m
M:..............................................................................................kg
encontramos
ω−ζω−=
=
12
22
21
2)(
xxM
tFx
xx
NN&
&
(2)
que corresponde a um sistema de 2 equações diferenciais de primeira ordem.
Consideremos as seguintes constantes: Μ =1 kg, ζ =0,2 e sradN /10=ω . Α força de excitação
F(t)=Focosωt, com Fo=50N, ω=2πf e f=10 Hz.
A solução numérica da equação diferencial (1), considerando os dados acima, foi obtida através do Método de Runge Kutta, utilizando-se equações apresentadas a seguir.
Da equação (1) temos:
txxx **20cos*50*100*10*1,0*2 π=++ &&& txxx π=++ 20cos501002 &&&
Fazendo
x1 =x xx &=
2 e 122100220cos50 xxtxx −−π== &&&
Montamos o sistema:
122
21
100220cos50
−−π=
=
xxtx
xx
&
&
O que significa:
1221221
221121
100220cos50),,( ),,(
),,( ),,(
xxtxxtfxxxtf
xxxtgxxxtg
−−π=⇒=
=⇒=
&
&
e
)22(6
143211
1
1kkkkxx
ji
++++=+
)22(6
143212
1
2ccccxx
jj
++++=+
onde:
k1 =h*g(t,x1 ,x2 ) c1 =h*f(t,x1 ,x2 )
k2 =h*g(t+h/2, x1 +k1/2, x2 +c1/2) c2 =h*f(t+h/2, x1 +k1/2, x2 +c1/2)
k3 =h*g(t+h/2, x1 +k2/2, x2 +c2/2) c3 =h*f(t+h/2, x1 +k2/2, x2 +c2/2)
k4 =h*g(t+h, x1 +k3, x2 +c3) c4 =h*f(t+h, x1 +k3, x2 +c3)
Condições iniciais: t=0 , x1=0 e x2=0, isto é, no instante inicial t=0, o corpo de massa M sai da origem, x1=0, com velocidade inicial nula, x2=0. O movimento inicial é devido à força de excitação F(t). O intervalo de tempo: de 0 a 2 segundos.
A solução numérica pode ser apresentada na forma de tabelas ou ainda na forma de gráficos, tais como os da figura abaixo, que mostra o comportamento dinâmico do sistema vibrante a 1 grau de Liberdade, devido a uma excitação harmônica
Os gráficos mostram:
o comportamento no tempo da força de excitação F(t), gráfico (F X t)
o comportamento no tempo do deslocamento x=x1, gráfico (x1 X t)
comportamento no tempo da velocidade 2xx =& , gráfico (x2 X t)
o comportamento da velocidade com o deslocamento, gráfico (x2 X x1)
Observação:
Para uma boa reprodução de uma curva periódica, o passo h deve ser aproximadamente um décimo do período da componente de menor período, isto é, da componente de maior freqüência. Pode ser menor ainda, porém com o custo de um maior tempo de processamento.
BIBLIOGRAFIA
1- RUGGIERO, Márcia A.G.; LOPES, Vera L.R. Cálculo Numérico: Aspectos Teóricos e
Computacionais, MAKRON Books do Brasil Editora Ltda, 1996.
2- BURDEN, R.L., FAIRES, J.D. Análise Numérica, Editora Pioneira. Tomson Learning, SP, 2003.
3- MATSUMOTO, ÉLIA Y., MATLAB 6 Fundamentos de Programação, Editora ÉRICA
Ltda,2001,SP
4- LITTLEFIELD, B. & HANSELMAN D., MATLAB 6: Curso Completo, Prentice Hall,
SP,2003.