Hola, debo hacer este ejercicio pero debe ser en código. Después de tanto intentar he podido instalar Octave en la PC. Necesito ayuda con el código de este ejercicio. No he podido ejecutarlo. Necesito ayuda para corregirlo. Además Quiero saber si es correcto.
% Cálculo del sexto polinomio de Maclaurin para xe^x
syms x;
f = x*exp(x);
p6 = taylor(f, x, 'Order', 6);
% Economización de Chebyshev para obtener una aproximación de menor grado
n = 6; % Grado inicial
error_max = 0.01;
while true
% Coeficientes de Chebyshev
c = zeros(1, n+1);
for k = 0:n
c(k+1) = (2/(pi*(1-(-1)^k)))*int(f*cos(k*acos(x)), x, -1, 1);
end
% Aproximación de menor grado
p_n = 0;
for k = 0:n
p_n = p_n + c(k+1)*cos(k*acos(x));
end
% Verificar si el error es menor que 0.01 en [-1,1]
error = max(abs(f - p_n));
if error <= error_max
break;
else
n = n - 1;
end
end
% Mostrar el polinomio de menor grado y el error
disp(['Polinomio de menor grado: ', char(p_n)]);
disp(['Error: ', num2str(error)]);
% Graficar la función original y la aproximación
xx = linspace(-1, 1, 100);
figure;
plot(xx, subs(f, x, xx), 'b', xx, subs(p_n, x, xx), 'r');
legend('f(x) = xe^x', 'Aproximación de menor grado');
xlabel('x');
ylabel('y');
title('Aproximación de xe^x con economización de Chebyshev');
grid on;
% Graficar el error de la aproximación
error_plot = abs(subs(f, x, xx) - subs(p_n, x, xx));
figure;
plot(xx, error_plot, 'm');
xlabel('x');
ylabel('Error');
title('Error de la aproximación');
grid on;