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:
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 Taylorfor k \(=1\):n
% Coeficiente de ln
coef = (-1)^(k-1)/k;
% Expande (2\(x+y\))^k com binômiofori \(=0\):k
Tn = Tn + coef * nchoosek(k, i) * \(2^i\) * \(x^i\) * y^(k-i);
endend% 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.