evaluation a drag over a pre-designed model of a car using CFD
https://docs.google.com/document/d/11Bz_wpwpB7lAuCpDnRwSgP3eLhVXnHek7cgTfkhnzG0/edit?usp=sharing
clear all
close all
clc
%solving the function f(x) = sin(x)/x^3
x=pi/3;
dx = linspace(pi/30,pi/300,25);
analytical_derivative = ((x^3*cos(x))-(sin(x)*3*x^2))/x^6;
for i=1:length(dx)
%first order approximation
forward_difference(i) = ((sin(x+dx(i))/(x+dx(i))^3)-(sin(x)/x^3))/dx(i);
%second order approximation
central_difference(i) = (sin(x+dx(i))/(x+dx(i))^3-sin(x-dx(i))/(x-dx(i))^3)/(2*dx(i));
%fourth order approximation
fourth_order(i) = ((sin(x-2*dx(i))/(x-2*dx(i))^3)-(8*(sin(x-dx(i))/(x-dx(i))^3))+(8*(sin(x+dx(i))/(x+dx(i))^3))-(sin(x+2*dx(i))/(x+2*dx(i))^3))/(12*dx(i));
end
for i=1:length(dx)
first_order_error(i) = abs(forward_difference(i)-analytical_derivative);
second_order_error(i) = abs(central_difference(i)-analytical_derivative);
fourth_order_error(i) = abs(fourth_order(i)-analytical_derivative);
end
ax1 = subplot(1,3,1);
bar(ax1,first_order_error);
title(ax1, \'first order approximation\')
ylabel(\'error\')
ax2 = subplot(1,3,2);
bar(ax2,second_order_error);
title(ax2, \'second order approximation\')
ylabel(\'error\')
ax3 = subplot(1,3,3);
bar(ax3,fourth_order_error);
title(ax3, \'fourth order approximation\')
ylabel(\'error\')