central, forward and backward differences

I wanted to make an input function for the user to add function and then the the script derives that function and then executes the rest of the code however i cannot get it to make an input function i will state where the errors are when i make an input
inp=input('function: ');
x=linspace(0,pi/2,10);
syms x; %error
y=inp; %error
dy=diff(y); %error
dydx_analytical=dy;
dydx_approx=diff(y)./diff(x); %error
dydx_approx(length(x))=NaN;
percent_error=(dydx_analytical-dydx_approx)./dydx_analytical*100;
table=[x; dydx_analytical;dydx_approx;percent_error]; %error
disp('Forward Difference Approximation of the derivative sin(x)' )
disp(' x dy/dx dy/dx %error')
disp(' forward approximation ')
fprintf('%8.4f\t%8.4f\t%8.4f\t%8.4f\n', table)
plot(x,dydx_approx,'s--')
hold on
plot(x,dydx_analytical)
hold off
legend('Forward Difference','Analytical')

1 Kommentar

You declared x as numeric array then you are trying to mke it symbolic
x=linspace(0,pi/2,10);
syms x; %error
Can you show the way you input the function?

Melden Sie sich an, um zu kommentieren.

Antworten (0)

Kategorien

Mehr zu Symbolic Math Toolbox finden Sie in Hilfe-Center und File Exchange

Produkte

Tags

Gefragt:

am 3 Apr. 2021

Kommentiert:

am 3 Apr. 2021

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by