How to keep scientific notation in string.

9 ビュー (過去 30 日間)
daniel adams
daniel adams 2021 年 12 月 14 日
回答済み: Walter Roberson 2021 年 12 月 14 日
I have some values in an array in matlab
epsilon=[1e-01,9e-02,8e-02]
I want to turn these values into a string so I can use them on plots etc.
stringepsilon=string(epsilon)
but the output is not in scientific format :
stringeps="0.1" "0.89" "0.08"
how do I make it appear in scientific format.

回答 (2 件)

Awais Saeed
Awais Saeed 2021 年 12 月 14 日
編集済み: Awais Saeed 2021 年 12 月 14 日
epsilon=[1e-01,9e-02,8e-02];
% try num2str()
str1 = string(num2str(epsilon,'%.e '))
str1 = "1e-01 9e-02 8e-02"
% or try sprintf()
str2 = string(sprintf('%.e ',epsilon))
str2 = "1e-01 9e-02 8e-02 "
whos
Name Size Bytes Class Attributes epsilon 1x3 24 double str1 1x1 170 string str2 1x1 172 string
  1 件のコメント
daniel adams
daniel adams 2021 年 12 月 14 日
Yeh I dont really want size $1x1$ though?

サインインしてコメントする。


Walter Roberson
Walter Roberson 2021 年 12 月 14 日
epsilon=[1e-01,9e-02,8e-02];
compose("%.e", epsilon)
ans = 1×3 string array
"1e-01" "9e-02" "8e-02"

Community Treasure Hunt

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

Start Hunting!

Translated by