# I want Estimate log to the base 10 value using 'x' number such that 10^estimated value is equal to or just exceeding x.

1 view (last 30 days)
Manav Divekar on 4 Nov 2021
Commented: Manav Divekar on 4 Nov 2021
function [out] = log10_bywhile(x, inc)
esmt = 0;
if ~exist('inc','var')
inc = 0.01;
end
inc1 = 0;
while esmt <=x
esmt = 10^inc1;
inc1 = inc1+inc;
end
out = inc1-inc;
This is the i wrote to calculate the estimated value for log10 but, for log10 of 100 I should be getting 2 as output as it is a perfect value.
>> log10_bywhile( 50, 0.1 ) % Correct output
ans =
1.7000
>> log10_bywhile( 100, 1 ) % Wrong Output
ans =
3

Alan Stevens on 4 Nov 2021
< not <=
a = log10_bywhile( 50, 0.1 )
a = 1.7000
b = log10_bywhile( 100, 1 )
b = 2
function [out] = log10_bywhile(x, inc)
esmt = 0;
% if ~exist('inc','var')
% inc = 0.01;
% end
inc1 = inc;
while esmt < x %%%%%%%%%%%%%%%%%%
esmt = 10^inc1;
inc1 = inc1+inc;
end
out = inc1-inc;
end
##### 1 CommentShowHide None
Manav Divekar on 4 Nov 2021
Thank you! It was such a small logic 😅

R2021a

### Community Treasure Hunt

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

Start Hunting!