Calculating accuracy of decimal places and print out the values
2 ビュー (過去 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?
1 件のコメント
採用された回答
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
2018 年 5 月 6 日
Yes. If you want to have 8 zeros after decimal points, then use bestAccuracy < 8.
その他の回答 (1 件)
参考
カテゴリ
Help Center および File Exchange で Characters and Strings についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!