How to keep scientific notation in string.

11 views (last 30 days)
daniel adams
daniel adams on 14 Dec 2021
Answered: Walter Roberson on 14 Dec 2021
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"

Community Treasure Hunt

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

Start Hunting!