how to read the data of type a*b?

1 view (last 30 days)
I have input dataset of following type:
'1*5 5*4 6 8 3 12 -5 9*0 7*-1'
how can I read each value and store it in nice format.
  2 Comments
Stephen23
Stephen23 on 7 Jan 2025
"how can I read each value and store it in nice format."
What is the expected output for that example?
Mahendra Yadav
Mahendra Yadav on 7 Jan 2025
The output should be an array by consisting all the elments. Like for above input dataset, the output should look like that
x = [1, 5, 5, 4, 6, 8, 3, 12, -5, 9, 0, 7, -1]

Sign in to comment.

Accepted Answer

Stephen23
Stephen23 on 7 Jan 2025
Edited: Stephen23 on 7 Jan 2025
str = '1*5 5*4 6 8 3 12 -5 9*0 7*-1';
vec = sscanf(str,'%f%*[ *]',[1,Inf])
vec = 1×13
1 5 5 4 6 8 3 12 -5 9 0 7 -1
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>

More Answers (1)

Star Strider
Star Strider on 7 Jan 2025
Taking a wild guess that the ‘multiiplicatiion’ operators are equivalent to the ‘power-of-10’ indicator ‘E’ or ‘e’, first use strrep then strsplit then str2double (here done in a single line) —
format shortG
str = '1*5 5*4 6 8 3 12 -5 9*0 7*-1';
num = str2double(strsplit(strrep(str, '*', 'E'), ' '))
num = 1×9
1.0e+00 * 1e+05 50000 6 8 3 12 -5 9 0.7
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>
I have no iidea if this is actually correct.
.
  2 Comments
Mahendra Yadav
Mahendra Yadav on 7 Jan 2025
Dear S. Strider,
Accutally It's not correct. The above output is not consisting all the elements. Like for the above input dataset, the output should look like that:
x = [1, 5, 5, 4, 6, 8, 3, 12, -5, 9, 0, 7, -1]
Star Strider
Star Strider on 7 Jan 2025
In that instance, then just this —
format shortG
str = '1*5 5*4 6 8 3 12 -5 9*0 7*-1';
num = str2double(strsplit(str, {' ','*'}))
num = 1×13
1 5 5 4 6 8 3 12 -5 9 0 7 -1
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>
Avoid all tthe complications.
I didn’t see this earlier because I was sleeping. I’m in the UTC-7 timezone.
.

Sign in to comment.

Products


Release

R2024b

Community Treasure Hunt

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

Start Hunting!