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)=\sin \left(x^{2}+y^{2}\right)
Passo 1
O enunciado pede para implementar em MATLAB um programa que, dada uma função de duas variáveis
f(x,y)=\sin\bigl(x^2+y^2\bigr),
calcule sua aproximação pelo polinômio de Taylor centrado na origem, usando n termos da série, e avalie o erro absoluto e relativo. Precisamos lembrar que, para a série de Taylor de \sin t em t=0, vale
\sin t = \sum_{m=0}^{\infty} (-1)^m \frac{t^{2m+1}}{(2m+1)!},
onde aqui t = x^2 + y^2.
Passo 2
Derivamos explicitamente o polinômio de Taylor de ordem n (número de termos) para f. Substituindo t=x^2+y^2 na série truncada, a aproximação de f com n termos é
Exibe os valores de T_n, f_{\text{exata}}, E_{\text{abs}} e E_{\text{rel}}.
Exemplo de função MATLAB (salvar em taylor2D.m):
function[Tn, fex, Eabs, Erel] = taylor2D(x, y, n)
t = \(x^2\) + \(y^2\);
Tn \(=0\);
for m \(=0\):(n-1)
Tn = Tn + (-1)^m * t^(2*m\(+1\)) / factorial(2*m\(+1\));
end
fex = sin(t);
Eabs = abs(Tn - fex);
if fex~\(=0\)
Erel = Eabs / abs(fex);
else
Erel = NaN; % evita divisão por zeroend
fprintf('T_%d(%g,%g)=%.8f
', n, x, y, Tn);
fprintf('f( %g,%g ) = %.8f
', x, y, fex);
fprintf('Erro absoluto = %.2e
', Eabs);
fprintf('Erro relativo = %.2e
', Erel);
end
Passo 4
Para analisar o comportamento do erro em função de n, escolhemos um par (x,y) fixo (por exemplo (0.5,0.3)) e avaliamos em laço:
x \(=0.5\); y \(=0.3\);
for n \(=1\):10
[~,~,Eabs,Erel] = taylor2D(x,y,n);
% armazenar ou plotar Eabs e Erel versus nend
Geralmente observa-se que, após certo n, o erro absoluto e relativo param de diminuir de forma significativa, devido a erros de truncamento numérico e testes de máquina.
Passo 5
Reflexão:
Para pontos próximos à origem t pequeno), a série converge muito rápido e poucos termos (por exemplo n=4 ou 5 já dão erro menor que 10^{-8}.
Para t maior, são necessários mais termos, mas atinge-se logo o patamar de precisão da máquina (em torno de 10^{-16} para dupla precisão).
Aumentar n além de onde o erro estaciona não reduz o erro, apenas aumenta o custo computacional.
Portanto, a partir den\approx5 a n\approx7 (dependendo de (x,y)) o erro já está na ordem de 10^{-12} a 10^{-16}, e não compensa usar mais termos.
Resposta
Segue o programa MATLAB taylor2D.m e procedimentos de análise de erro. A partir de n\approx5 costuma-se atingir a precisão máxima da máquina, de modo que aumentar n não traz benefícios práticos.