How can I solve this problem?
Mostrar comentarios más antiguos
The following function is given f(x) = 2^x , Plot the function f(x) and its 3rd order Taylor series expansion at x0 = 1 in Matlab. Pay attention to the style (line thickness, symbols for data points) and format (legends, labeling) of the plot.
----------------------------------
%% f(x) and its derivatives are declared as anonymous functions
f = @(x) 2^x;
f_prime1 = @(x) 2.^x;
f_prime2 = @(x) 2.^x;
f_prime3 = @(x) 2.^x;
% Taylor series (polynomials) are declared as anonymous functions
% x0 : expansion point
% x : the point at which I would like to evaluate the Taylor series
%% 0th order Taylor series
T0 = @(x0,x) f(x0);
% 1st order Taylor series
T1 = @(x0,x) f(x0) + f_prime1(x0)*(x-x0);
% 2nd order Taylor series
T2 = @(x0,x) f(x0) + f_prime1(x0)*(x-x0) + f_prime2(x0)*(x-x0).^2/2;
% 3rd order Taylor series
T3 = @(x0,x) f(x0) + f_prime1(x0)*(x-x0) + f_prime2(x0)*(x-x0).^2/2 + f_prime3(x0)*(x-x0).^3/6;
%%
x0 = 1;
% Plot the Taylor series T0, T1, T2, T3 between -10 <= x <= +10 using expansion point x0 = 1;
x = linspace(-10,10,21);
y0 = T0(x0,x);
y1 = T1(x0,x);
y2 = T2(x0,x);
y3 = T3(x0,x);
yTrue = f(x);
%%
figure
plot(x,y0,'-ob','LineWidth',2)
hold on
plot(x,y1,'-ok','LineWidth',2)
hold on
plot(x,y2,'-or','LineWidth',2)
hold on
plot(x,y3,'-og','LineWidth',2)
hold on
plot(x,yTrue,'-oc','LineWidth',2)
xlabel('x')
ylabel('y')
legend('T0','T1','T2','T3','f(x) = 2^x')
set(gca, 'FontSize',18)
grid on
------------------------------------
Error using ^ (line 51)
Incorrect dimensions for raising a matrix to a power. Check that the matrix is square and the power
is a scalar. To perform elementwise matrix powers, use '.^'.
Error in hw>@(x)2^x (line 2)
f = @(x) 2^x;
Error in hw (line 28)
yTrue = f(x);
Respuesta aceptada
Más respuestas (0)
Categorías
Más información sobre Assumptions en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!