Escrever um programa no MatLab com o objetivo de calcular aproximações de uma função f(x, y), usando o polinômio de Taylor para f(x, y) na origem.
O valor de x e y e o número de termos do polinômio de Taylor, n, são dados de entrada.
Analisar os resultados obtidos pelos
  • Erro absoluto
  • Erro relativo
  • Fazer reflexões
A partir de qual n o erro é tão pequeno que não compensa aumentar seu valor?
O projeto deve ser feito em grupo de no máximo 5 alunos, cada função só pode ser implementada por um grupo.
Data da entrega até dia 21/08/2025 até às 18:00, pelo drive:
https://drive.google.com/drive/folders/lrBwu02ViFBbwi7BIEeD2iNoHhPwt107C?usp=sharing
Funções:
f(x, y)=\ln (2 x+y+1)

Passo 1

O enunciado pede um programa em MATLAB que, para dados (x,y) e ordem n, aproxime
f(x,y)=\ln\bigl(1+2x+y\bigr)
pelo polinômio de Taylor centrado na origem e calcule o erro absoluto e o erro relativo. Vamos usar a expansão de uma variável em u=2x+y e depois desenvolver (2x+y)^k em termos de x e y.

Passo 2

Começamos da série de Taylor de \ln(1+u) em u=0, truncada em ordem n:
\ln(1+u)\approx \sum_{k=1}^{n}(-1)^{\,k-1}\,\frac{u^{k}}{k}.
Aqui fazemos u=2x+y, de modo que
\ln(1+2x+y)\approx \sum_{k=1}^{n}(-1)^{\,k-1}\,\frac{(2x+y)^{k}}{k}.

Passo 3

Para computar (2x+y)^k em MATLAB, usamos o binômio de Newton:
(2x+y)^k = \sum_{i=0}^{k}\binom{k}{i}(2x)^{i}\,y^{\,k-i} =\sum_{i=0}^{k}\binom{k}{i}2^{i}x^{i}y^{\,k-i}.
Logo o polinômio de Taylor fica
T_n(x,y) =\sum_{k=1}^{n}(-1)^{\,k-1}\,\frac{1}{k}\sum_{i=0}^{k}\binom{k}{i}2^{i}x^{i}y^{\,k-i}.

Passo 4

Implementamos em MATLAB dois loops aninhados: um sobre k=1,\dots,n e outro sobre i=0,\dots,k. Em cada iteração adicionamos
(-1)^{\,k-1}\,\frac{1}{k}\,\binom{k}{i}\,2^{i}x^{i}y^{\,k-i}
à soma que acumula T_n.

Passo 5

Depois de calcular T_n, avaliamos o valor exato
f_{\text{exato}}=\ln(1+2x+y),
o erro absoluto
E_a=\bigl|T_n - f_{\text{exato}}\bigr|
e o erro relativo
E_r=\frac{E_a}{\bigl|f_{\text{exato}}\bigr|}.

Passo 6

Para analisar a partir de qual n não compensa aumentar a ordem, basta observar como E_a (ou E_r) decresce conforme n cresce. Quando a redução no erro for insignificante frente ao custo computacional, escolhemos aquele n como corte.

Resposta

function [Tn, Ea, Er] = \(taylor_ln\)(x, y, n)
 % \(taylor_ln\) aproxima ln(\(1+2 x+y\)) por polinômio de Taylor de ordem n na origem.
 % Entradas: x, y escalares; n inteiro >\(=1\).
 % Saídas: Tn = valor do polinômio; Ea = erro absoluto; Er = erro relativo.
 
 % Inicializa soma do polinômio
 Tn \(=0\);
 
 % Loop sobre a ordem k da série de Taylor
 for k \(=1\):n
 % Coeficiente de ln
 coef = (-1)^(k-1)/k;
 % Expande (2\(x+y\))^k com binômio
 for i \(=0\):k
 Tn = Tn + coef * nchoosek(k, i) * \(2^i\) * \(x^i\) * y^(k-i);
 end
 end
 
 % Valor exato da função
 \(f_exato\) = log(\(1+2\)*x + y);
 
 % Erro absoluto e relativo
 Ea = abs(Tn - \(f_exato\));
 Er = Ea / abs(\(f_exato\));
end
Use esta função testando vários n e observando como mudam Ea e Er para decidir o n ótimo.

Exercícios relacionados