MATLAB Answers

0

How to get the value of exponential power?

Assume that after some computation, matlab give me an output:
a(1)=3.712e-12
a(2)=9.123e-13
How can i got the value of 12 and 13? Assume that a(1) and a(2) is in array a=[a(1) a(2)].
_
Edit: to avoid confussion, let me rearrange my question: "Can I get the 'index' (how many zeros in the right of the dot) of the first significant digit from data?". Is this is the only way?
n=1
a(1)=3.712e-12
while 1e1^-n>a(1)
n=n+1;
end

  2 Comments

"How can i got the value of 12 and 13?"
You didn't: those are the powers of ten, they are not "values".
What you show are numbers written in E-notation, which is the a common way that scientists, engineers, and researchers write small/large numbers:
Thank you. But, I already understand that. So, let me rearrange my question: "Can I get the 'index' (how many zeros in the right of the dot) of the first significant digit from data?"
p.s. I edit my question

Sign in to comment.

1 Answer

Answer by Stephen Cobeldick on 15 Apr 2019
Edited by Stephen Cobeldick on 15 Apr 2019
 Accepted Answer

Just use log10:
>> floor(log10(a))
ans =
-12 -13
The correct answer is [-12,-13], not [12,13] (because these are the powers of ten), but of course you can lose information if you want with abs.

  1 Comment

Sign in to comment.