1
2
else:
return n*fact(n-1);
(c) (V)[ ](F)[ ] Uma sucessão sn é definida por
n = 0 ⇒ 1;
n > 0 ⇒ 4 + sn−1 ;
Cálculo Numérico
Recursividade
T. Praciano-Pereira
Lista numero 04
[email protected]
Dep. de Computação
alun@:
5 de setembro de 2012
Documento escrito com LATEX - sis. op. Debian/Gnu/Linux
http://www.calculo-numerico.sobralmatematica.org/
Univ. Estadual Vale do Acaraú
Se entregar em papel, por favor, prenda esta folha de rosto na sua solução
desta lista, deixando-a em branco. Ela será usada na correção. Alternativamente, a lista pode ser resolvida diretamente na página do Moodle da disciplina.
Exercı́cios 1 Recursividade objetivo: Trabalhar com programas que encontrem
raı́zes de funções diferenciáveis como prática da recursividade
palavras chave: busca de raı́zes, funções recursivas, método da busca binária,
método da secante, método da tangente.
1. Em python, uma função recursiva se define como
def f(x):
if condição:
return alguma coisa;
elif:
return f(x - a);
em que a é o cı́clo da recursividade. Um exemplo muito repetido é a
sucessão de Fibonacci. Outro é o fatorial.
s10 = 20;
(d) (V)[ ](F)[ ] Uma sucessão sn é definida por
n = 0 ⇒ 1;
n > 0 ⇒ 4 + sn−1 ;
def fact(n):
return n*fact(n-1);
(b) (V)[ ](F)[ ] A definição recursiva do fatorial é
def fact(n):
if (n==0):
(2)
s10 = 41;
(e) (V)[ ](F)[ ] A sucessão definida no item 1d desta questão é uma p.a..
A expressão geral, recursiva, para as p.a. é
n = 0 ⇒ s0 ;
(3)
sn =
n > 0 ⇒ r + sn−1 ;
a p.a. cujo termo inicial é s0 e a razão aritmética é r.
2. Cálculo Numérico Computacional Sendo f uma função derivável,
se f ′ (x0 ) 6= 0 então
y = f (x0 ) + f ′ (x0 )(x − x0 );
é a equação da reta tangente ao gráfico de y = f (x) no ponto (x0 , f (x0 )).
Vamos supor nesta questão que se tenha encontrado um ponto x0 tal que
f ′ (x0 ) 6= 0.
(a) (V)[ ](F)[ ] A raiz de reta tangente no ponto (x0 , f (x0 )) é
x1 = x0 −
funções recursivas
(a) (V)[ ](F)[ ] A definição recursiva do fatorial é
(1)
f (x0 )
;
f ′ (x0 )
(b) (V)[ ](F)[ ] A expressão do zero da reta tangente pode ser repetida
com a reta tangente no ponto (x1 , f (x1 )) desde que f ′ (x1 ) 6= 0 tendo
esta reta como raı́z
f (x1 )
x2 = x1 − ′
;
f (x1 )
(c) (V)[ ](F)[ ] O método da reta tangente pode ser repetido recursivamente com a definição
return 1;
elif (n==1):
return 1;
a=a−
f (a)
;
f ′ (a)
3
(d) (V)[ ](F)[ ] O método da reta tangente pode ser repetido recursivamente com a definição1
a=a−
f (a)
;
f ′ (a)
mais a hipótese f ′ (a) 6= 0.
(e) (V)[ ](F)[ ] O método da reta tangente pode ser repetido recursivamente com a definição
a=a+
return (1 + 1.0/n)*f(n-1);
def lista(n):
k = 0;
while (k <= n):
print f(k);
k += 1;
(d) (V)[ ](F)[ ] A sucessão sn é definida pela lei
s1 = 1; s2 = 1; Se n ≥ 3sn = sn−1 + sn−2
(e) (V)[ ](F)[ ] A sucessão sn é definida pela lei
s1 = 1; s2 = 1; Se n ≥ 3sn = sn−1 + sn−2
′
mais a hipótese f (a) 6= 0.
3. Cálculo Numérico Computacional A sucessão sn é definida pela relação
1
)sn−1 + 2;
n
(5)
Então s10 = 10.
f (a)
;
f ′ (a)
s1 = 2; n > 1 ⇒ sn = (1 +
4
(6)
Então s10 = 55.
4. Cálculo Numérico Computacional
(4)
(a) (V)[ ](F)[ ] O código em python abaixo é uma definição de sn .
def s(n):
if (n < 0):
return 0;
elif (n == 1):
return 2;
else:
return (1 + 1.0/n)*s(n-1);
(b) (V)[ ](F)[ ] O código em python abaixo é uma definição de sn .
def s(n):
if (n <= 0):
return 0;
elif (n == 1):
return 2;
else:
return (1 + 1.0/n)*s(n-1);
(c) (V)[ ](F)[ ]
def f(n):
if (n <= 0):
return 0;
elif (n == 1):
return 2;
else:
1 Esta não é uma expressão matemática, é uma sentença de uma linguagem de computação
em que a “=” é uma atribuição.
No método da secante para buscas de raı́zes, se verifica onde haja troca de
sinal da função no intervalo [a, b] e usa-se como raı́z aproximada a raiz
da reta secante ao gráfico de f nos pontos P = (a, f (a)), Q = (b, f (b))
(a) (V)[ ](F)[ ] A raı́z da reta secante em [a, b] é
x0 = a −
f (a)
m
(b) (V)[ ](F)[ ] Se f trocar de sinal sobre o intervalo [a, b] a reta secante
nos pontos P = (a, f (a)), Q = (b, f (b)) tem por raı́z c = a −
podemos testar a troca de sinal nos dois subintervalos
f (a)
m
e
[a, c]; [c, b]
Se f (a)f (c) ≤ 0 então um novo teste pode ser feito no intervalo [a, c]
e caso contrário no intervalo [c, b].
(c) (V)[ ](F)[ ] Se f trocar de sinal sobre o intervalo [a, b] a reta secante
nos pontos P = (a, f (a)), Q = (b, f (b)) tem por raı́z c = a −
podemos testar a troca de sinal no subintervalo
f (a)
m
e
[a, c]; [c, b]
Se f (a)f (c) ≤ 0 então um novo teste pode ser feito no intervalo [a, c]
e caso contrário no intervalo [c, b].
e podemos testar a troca de sinal nos dois subintervalos
[a, x0 ]; [x0 , b]
Se f (a)f (x0) ≤ 0 então um novo teste pode ser feito no intervalo
[a, x0 ] e caso contrário no intervalo [x0 , b].
5
6
(d) (V)[ ](F)[ ] Se a troca de sinal de f ocorrer no intervalo [a, c] então
b := c e a busca continua no intervalo [a, b], contrário a := c e a
busca continua no intervalo [a, b];
é possı́vel determinar um polinômio do quarto grau cujo gráfico coincida com o gráfico de f nos pontos {−5, 5} e lhe seja tangente nestes
mesmos pontos.
(e) (V)[ ](F)[ ] Se f trocar de sinal sobre o intervalo [a, b] a reta secante
(a)
nos pontos P = (a, f (a)), Q = (b, f (b)) tem por raı́z x0 = a − fm
um processo recursivo pode ser utilizado:

f (a)f (b) ≤ 0;
f (a) == 0
a raı́z é a;




f (b) == 0
a raı́z é b;

f (b)−f (a)
f (a)
R(a, b) =
(7)
m = b−a
c=a− m ;



Se f (a)f (c) ≤ 0; b = c;
R(a, b);


ou então a = c; R(a, b)
6. Polinômio de Taylor
(a) (V)[ ](F)[ ] O polinômio de Taylor de grau 7 de y = sin(x) desenvolvido na origem é
P (x) = x −
(b) (V)[ ](F)[ ] O polinômio de Taylor de grau 11 de y = sin(x) desenvolvido na origem é
5. Polinômio de Taylor
P (x) = x +
Polinômio de Taylor
(a) (V)[ ](F)[ ] O polinômio do terceiro grau tangente ao gráfico de y =
sin(x) no ponto a = 0 é
3
P (x) = x −
x
3!
(b) (V)[ ](F)[ ] Um polinômio y = P (x) do terceiro grau coı́ncide com
Q(x) = 1 + x + x2 + x3 nos pontos x ∈ {0, 5} e P ′ coincide com a
derivada Q′ nos mesmos pontos. Nestas condições P = Q.
(c) (V)[ ](F)[ ] Sabendo que
x f (x) f ′ (x)
-5
0
1
5
7
-1
é possı́vel determinar um polinômio do segundo grau cujo gráfico coincida com o gráfico de f nos pontos {−5, 5} e lhe seja tangente
nestes mesmos pontos.
(d) (V)[ ](F)[ ] Sabendo que
x f (x) f ′ (x)
-5
0
1
5
7
-1
é possı́vel determinar um polinômio do terceiro grau cujo gráfico coincida com o gráfico de f nos pontos {−5, 5} e lhe seja tangente nestes
mesmos pontos.
(e) (V)[ ](F)[ ] Sabendo que
x
-5
5
f (x)
0
7
f ′ (x)
1
-1
x3
x5
x7
+
−
3!
5!
7!
x7
x9 x11
x3 x5
+
+
+
+
3!
5!
7!
9!
11!
(c) (V)[ ](F)[ ] Sabendo que
x f (x) f ′ (x) f ′′ (x)
-5
0
1
-1
5
7
-1
2
podemos encontrar um polinômio do grau 5 que coincide com f e com
suas derivadas nos pontos {−5, 5}.
(d) (V)[ ](F)[ ] Sabendo que
x f (x) f ′ (x) f ′′ (x)
-5
0
1
-1
5
7
-1
2
podemos encontrar um polinômio do grau 6 que coincide com f e com
suas derivadas nos pontos {−5, 5}.
(e) (V)[ ](F)[ ] Sabendo que
x f (x) f ′ (x) f ′′ (x)
-5
0
1
-1
5
7
-1
2
podemos encontrar um polinômio do grau 7 que coincide com f e com
suas derivadas nos pontos {−5, 5}.
Download

rosto.ps (mpage) - Cálculo Numérico Computacional