How to get the value of exponential power?

6 次查看(过去 30 天)
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 个评论
Stephen23
Stephen23 2019-4-15
编辑:Stephen23 2019-4-15
"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:
Muhammad Yasirroni
Muhammad Yasirroni 2019-4-15
编辑:Muhammad Yasirroni 2019-4-15
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

请先登录,再进行评论。

采纳的回答

Stephen23
Stephen23 2019-4-15
编辑:Stephen23 2019-4-15
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.

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Get Started with MATLAB 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by