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 次查看(过去 30 天)
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
Alan Stevens 2021-11-4
< 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

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Save Run-Time Data from Simulation 的更多信息

标签

产品


版本

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by