Hello, im wondering if there any way i could perform calculation using values up to 4 decimal places only.
For example,i write this in command windows:
x=4.21;
h=0.001;
f=@(x) x^3 + 8*x^2 + 23*x +3;
f2_prime = (f(x+h)-2*f(x)+f(x-h))/(h^2);
how can i make the value of f(x), f(x+h) and f(x-h) to be only up to 4 decimal places when calculating for f2_prime?

 Réponse acceptée

Ameer Hamza
Ameer Hamza le 1 Déc 2020

0 votes

You can use round()
x=4.21;
h=0.001;
f=@(x) x^3 + 8*x^2 + 23*x +3;
f2_prime = (round(f(x+h),4)-2*f(x)+round(f(x-h),4))/(h^2);

4 commentaires

fikri osman
fikri osman le 1 Déc 2020
thank you, i will try and see if it works
f2_prime = (round(f(x+h),4)-2*f(x)+round(f(x-h),4))/(h^2);
does this round off the f(x) too?
f2_prime = (round(f(x+h),4)-(2*round(f(x),4)+round(f(x-h),4)/(h^2);
i use this and got error
f2_prime = (round(f(x+h),4)-2*round(f(x),4)+round(f(x-h),4))/(h^2);
i used this and got the answer i wanted, thank you sir

Connectez-vous pour commenter.

Plus de réponses (1)

Walter Roberson
Walter Roberson le 1 Déc 2020

0 votes

how can i make the value of f(x), f(x+h) and f(x-h) to be only up to 4 decimal places when calculating for f2_prime?
You would need to use fixed-point arithemetic, such as from the Fixed Point Toolbox.
A close second would be to use the Symbolic Toolbox with digits(4), but it turns out that the Symbolic Toolbox uses "guard digits" ... I think I read once that it uses 5 guard digits -- and the minimum permitted is digits(2)

Catégories

En savoir plus sur MATLAB Compiler dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by