Professional Documents
Culture Documents
Meen 689-1 HW 3 Problem 5
Meen 689-1 HW 3 Problem 5
100
10-2
10-4
10-6
Error
10-8
10-10
Cos(x) Error
100
10-2
10-4
10-6
Error
10-8
10-10
10-2
10-4
10-6
Error
10-8
10-10
% cos(x)
i=1;
for dx=0.001:0.001:0.1
exact=-sin(x); % exact derivative of cos function
f2_forward_first(i)=(cos(x+dx)-f2)/dx;
f2_central_second(i)=(-cos(x-dx)+cos(x+dx))/(2*dx);
f2_central_fourth(i)=(cos(x-2*dx)-8*cos(x-dx)+8*cos(x+dx)-
cos(x+2*dx))/(12*dx);
f2_error_forward(i)=abs(exact-f2_forward_first(i));
f2_error_central2(i)=abs(exact-f2_central_second(i));
f2_error_central4(i)=abs(exact-f2_central_fourth(i));
i=i+1;
end
figure
loglog(delta_x,f2_error_forward,'k')
hold on
loglog(delta_x,f2_error_central2,'g--')
loglog(delta_x,f2_error_central4,'b*')
grid on
grid minor
ylabel('Error')
xlabel('\deltax')
legend('forward difference-1st order accurate',...
'central difference-2nd order accurate',...
'central difference-4th order accurate','location','southeast')
title('Cos(x) Error')
% exp(x)
i=1;
for dx=0.001:0.001:0.1
exact=exp(x); % exact derivative of exp function
f3_forward_first(i)=(exp(x+dx)-f3)/dx;
f3_central_second(i)=(-exp(x-dx)+exp(x+dx))/(2*dx);
f3_central_fourth(i)=(exp(x-2*dx)-8*exp(x-dx)+8*exp(x+dx)-
exp(x+2*dx))/(12*dx);
f3_error_forward(i)=abs(exact-f3_forward_first(i));
f3_error_central2(i)=abs(exact-f3_central_second(i));
f3_error_central4(i)=abs(exact-f3_central_fourth(i));
i=i+1;
end
figure
loglog(delta_x,f3_error_forward,'k')
hold on
loglog(delta_x,f3_error_central2,'g--')
loglog(delta_x,f3_error_central4,'b*')
grid on
grid minor
ylabel('Error')
xlabel('\deltax')
legend('forward difference-1st order accurate',...
'central difference-2nd order accurate',...
'central difference-4th order accurate','location','southeast')
title('e^x Error')