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?

 채택된 답변

Ameer Hamza
Ameer Hamza 2020년 12월 1일

0 개 추천

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

fikri osman
fikri osman 2020년 12월 1일
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

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Walter Roberson
Walter Roberson 2020년 12월 1일

0 개 추천

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)

카테고리

도움말 센터File Exchange에서 MATLAB Compiler에 대해 자세히 알아보기

질문:

2020년 12월 1일

댓글:

2020년 12월 1일

Community Treasure Hunt

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

Start Hunting!

Translated by