2017-01-13 12 views
0

「科学的」表記法から指数と記号を抽出するにはどうすればよいですか?科学的表記法の指数を取得する

我々はprintfの( "%のLFのは%e")との二重の値を印刷する場合、それはパーEXを示し:

normal scientific 
    ------ ---------- 
    -888.3 -8.88e2  
    1.23  1.23e0  
    3.001 3.1e-1 

ソリューションは、正の値だけのためHow to get Exponent of Scientific Notation in Matlab

x = floor(log10(N)) 

作品に指摘しました-Nを指定すると、-nan(ind)が表示されます。明らかに負の値を持つLog10()は許されません。

+0

「abs」を使用できますか? – qxz

+0

はい、しかし私は記号が間違っている –

+0

[これ](http://stackoverflow.com/questions/15685181/how-to-get-the-sign-mantissa-and-exponent-of-a-floating-あなたは何を探していますか? – SamVanDonut

答えて

2

あなたは数の符号を気にしないあなたが安全に記号を取り除くことができますので、あなたは、唯一の指数を必要とする:

absNの絶対値を返します
log10(abs(N)) 

、常に負ではないため、log10の引数として使用できます。

+0

私もサインが必要です。例-3または3は大きな違いです。 –

+0

@TomTom、私の答えは、指数ではなく数値の符号を取り除くことです。 – ForceBru

関連する問題