How to keep scientific notation in string.

43 views (last 30 days)
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.

Answers (2)

Awais Saeed
Awais Saeed on 14 Dec 2021
Edited: Awais Saeed on 14 Dec 2021
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 Comment
daniel adams
daniel adams on 14 Dec 2021
Yeh I dont really want size $1x1$ though?

Sign in to comment.


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

Categories

Find more on Characters and Strings in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!