Calculating accuracy of decimal places and print out the values

3 次查看(过去 30 天)
How to find the accuracy of decimal places between the integral approximation and the MATLAB built-in integral function? Eg: if my approximation is 0.50000000 and the true value is 0.52359878, and error is 0. 0 2359878, there is one 0 in front of the error value, '0.0', so the Decimal place will be 1, and when approximation is 0.51666667, error will be 0. 00 693211, there is two 0 , so decimal place will be 2.
Also, how do i only print the approximation and the error values when the decimal place has increased by 1?

采纳的回答

Ameer Hamza
Ameer Hamza 2018-5-6
编辑:Ameer Hamza 2018-5-6
You can use the following formula to calculate the number of zeros after decimal position and first non-zero digit
floor(-log10(error))
To only print when accuracy is increased do the following
bestAccuracy = 0;
while bestAccuracy < 10
integralValue = % calculate your integral here
error = % calculate yor error here
accuracy = floor(-log10(error));
if accuracy > bestAccuracy
bestAccuracy = accuracy;
disp(error);
end
end
This loop will run till best accuracy will become 10.
  4 个评论
Ameer Hamza
Ameer Hamza 2018-5-6
Yes. If you want to have 8 zeros after decimal points, then use bestAccuracy < 8.

请先登录,再进行评论。

更多回答(1 个)

Jaidyn Lai
Jaidyn Lai 2018-5-10
ENG1060 assignment I see

类别

Help CenterFile Exchange 中查找有关 Numeric Types 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by