Buscar

Trab01.Labo.Taylor

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 5 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

CEFET-RJ 
Cálculo Numérico (Laboratório) Profª Natalia Silveira 
Engenharia 
 
T1 – Série de Taylor 
 
A partir do exemplo a seguir, calcule o erro percentual da Série 
de Taylor da função f(x)=cos(bx), para quaisquer número de termos e 
ponto de expansão x0, onde  2x0 . 
A seguir é apresentado um exemplo de análise da Série de Taylor da 
função f(x)=sen(bx). 
 
Arquivo Fonte: taylor01.for 
Arquivo de entrada de dados: taylor01.1 (  x ) 
 
Resultados: 
 
Série de Taylor da função f(x) = sen(x), com o ponto de expansão x0=0, 
constante, variando apenas o número de termos da série (5, 9 e 13). 
Série de Taylor (x0 constante)
-2.5
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
2.5
-3.5 -3.0 -2.5 -2.0 -1.5 -1.0 -0.5 0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5
x(rad)
f(x)=sen(x)
F(x)(x0=0,nt=5)
F(x)(x0=0,nt=9)
f(x)(x0=0,nt=13)
 
 
Observa-se no gráfico acima que os resultados encontrados para 
F(x) com 5, 9 e 13 termos, afastam-se da solução analítica f(x) em 
pontos afastados de x0=0. Pode-se notar também que quanto menor o 
número de termos da série, maior é o erro, ou seja, maior é a diferença 
)x(f)x(F  . 
Sugere-se traçar um gráfico (E(%) x X) comparando os erros percentuais 
para n_termos diferentes. 
 
Série de Taylor da função f(x)=sen(x) com o número de termos da série 
constante igual a 5 e o ponto de expansão x0 variando (-2.0, 0 e 1.5 
rad). 
Série de Taylor (n_t constante)
-10
-5
0
5
10
15
-3.5 -3.0 -2.5 -2.0 -1.5 -1.0 -0.5 0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5
x(rad)
f(x)=sen(x)
F(x)(x0=-2.0,nt=5)
F(x)(x0=0,nt=5)
F(x)(x0=1.5,nt=5)
x0=-2.0
x0= 0
x0= 1.5
 
 
A partir do gráfico anterior conclui-se que a série F(x) é igual à 
solução analítica em seus respectivos pontos de colocação. Pode-se 
concluir também que em cada uma das séries, quanto mais longe o ponto x 
está do ponto de colocação x0 maior o erro em relação à solução 
analítica (f(x)). Sugere-se traçar um gráfico (E(%) x X) comparando os 
erros percentuais para x0 diferentes. 
 
Arquivo Maple: taylor.mws 
A seguir são apresentados os comandos do programa Maple que permitem 
calcular séries de Taylor de uma função: 
 
> b:=1: nt1:=5: nt2:=nt1+4: nt3:=nt2+4; x0:= 0: 
 := nt3 13 
> convert(evalf(taylor(cos(b*x),x=x0,nt1)),polynom); 
 1. 0.5000000000 x2 0.04166666667 x4 
> convert(evalf(taylor(cos(b*x),x=x0,nt2)),polynom); 
1. 0.5000000000 x2 0.04166666667 x4 0.001388888889 x6  
0.00002480158730 x8 
> convert(evalf(taylor(cos(b*x),x=x0,nt3)),polynom); 
1. 0.5000000000 x2 0.04166666667 x4 0.001388888889 x6  
0.00002480158730 x8 0.2755731922 10-6 x10 0.2087675699 10-8 x12   
> 
taylor01.for 
 
c ############################################################# 
c Este programa calcula o erro percentual da Série de Taylor da 
c função sen(bx), expandida no ponto x0 
 implicit double precision(a-h,o-z) 
 dimension a(50) 
 
 open(5,file='taylor01.1',status='old') 
 open(6,file='taylor02.2',status='unknown') 
 
c Ponto de expansão da série 
 write(*,*)' Entre com x0:' 
 read(*,*)x0 
 
c Grau da série polinomial mais um 
 write(*,*)' Entre com o numero de termos da Serie de Taylor:' 
 read(*,*)n_termos 
 
c Coeficiente multiplicador do ângulo x 
 write(*,*)' Entre com o coeficiente b de sen(bx):' 
 read(*,*)b 
 
c Número de abscissas 
 read(5,*)n_x 
 
c Impressão do cabeçalho 
 write(6,5) 
 
c determinação dos coeficientes da série de Taylor 
 do n=1,n_termos 
 i=1 
 if(mod(n-1,2).eq.0) then !par 
 j=1 
 k=0 
 if(mod(n-1,4).eq.0) then !múltiplo de 4 
 i=2 
 endif 
 else !ímpar 
 j=0 
 k=1 
 if(mod((n-2),4).eq.0) then !múltiplo de 4 + 1 
 i=2 
 endif 
 endif 
 a(n)=(-1.d0)**(i)*b**(n-1)*sin(b*x0)**(j)*cos(b*x0)**k 
 enddo 
 
 
 
 
 
 
 do icont=1,n_x 
c Leitura das abscissas em arquivo 
 read(5,*) x 
 fxt=0. 
 do n=1,n_termos 
c solução numérica 
 fxt=fxt+a(n)*(x-x0)**(n-1)/fat(n-1) 
 enddo 
 
c solução analítica 
 fxe=sin(b*x) 
 
c erro percentual 
 if(fxe.ne.0) then 
 erro_p=abs((fxt-fxe)/fxe)*100.d0 
 write(6,15)x,fxe,fxt,erro_p 
 else 
 write(6,20)x,fxe,fxt 
 endif 
 enddo 
5 format(14x,'x',26x,'f(x)',23x,'F(x)',23x,'E(%)') 
15 format(3(f25.14,2x),es25.15) 
20 format(3(f25.14,2x),' - ') 
 stop 
 end 
c ############################################################## 
 function fat(n) 
 implicit double precision(a-h,o-z) 
 integer n 
 fat=float(n) 
 do i=n,2,-1 
 xi=float(i) 
 fat=fat*(xi-1.) 
 enddo 
 if(n.eq.0) fat=1.d0 
 return 
 end 
c ############################################################## 
 
 
 
 
taylor01.1 
 
101 
-3.1415926536 
-3.0787608005 
-3.0159289474 
-2.9530970944 
-2.8902652413 
-2.8274333882 
-2.7646015352 
-2.7017696821 
-2.6389378290 
-2.5761059759 
-2.5132741229 
-2.4504422698 
-2.3876104167 
-2.3247785637 
-2.2619467106 
-2.1991148575 
-2.1362830044 
-2.0734511514 
-2.0106192983 
-1.9477874452 
-1.8849555922 
-1.8221237391 
-1.7592918860 
-1.6964600329 
-1.6336281799 
-1.5707963268 
-1.5079644737 
-1.4451326207 
-1.3823007676 
-1.3194689145 
-1.2566370614 
-1.1938052084 
-1.1309733553 
-1.0681415022 
-1.0053096491 
-0.9424777961 
-0.8796459430 
-0.8168140899 
-0.7539822369 
-0.6911503838 
-0.6283185307 
-0.5654866776 
-0.5026548246 
-0.4398229715 
-0.3769911184 
-0.3141592654 
 
 
 
 
-0.2513274123 
-0.1884955592 
-0.1256637061 
-0.0628318531 
0.0000000000 
0.0628318531 
0.1256637061 
0.1884955592 
0.2513274123 
0.3141592654 
0.3769911184 
0.4398229715 
0.5026548246 
0.5654866776 
0.6283185307 
0.6911503838 
0.7539822369 
0.8168140899 
0.8796459430 
0.9424777961 
1.0053096491 
1.0681415022 
1.1309733553 
1.1938052084 
1.2566370614 
1.3194689145 
1.3823007676 
1.4451326207 
1.5079644737 
1.5707963268 
1.6336281799 
1.6964600329 
1.7592918860 
1.8221237391 
1.8849555922 
1.9477874452 
2.0106192983 
2.0734511514 
2.1362830044 
2.1991148575 
2.2619467106 
2.3247785637 
2.3876104167 
2.4504422698 
2.5132741229 
2.5761059759 
 
 
 
 
2.6389378290 
2.7017696821 
2.7646015352 
2.8274333882 
2.8902652413 
2.9530970944 
3.0159289474 
3.0787608005 
3.1415926536

Outros materiais