Calculating accuracy of decimal places and print out the values
9 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Lorenne
el 6 de Mayo de 2018
Comentada: Walter Roberson
el 10 de Mayo de 2018
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?
1 comentario
Respuesta aceptada
Ameer Hamza
el 6 de Mayo de 2018
Editada: Ameer Hamza
el 6 de Mayo de 2018
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 comentarios
Ameer Hamza
el 6 de Mayo de 2018
Yes. If you want to have 8 zeros after decimal points, then use bestAccuracy < 8.
Más respuestas (1)
Ver también
Categorías
Más información sobre Numeric Types en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!