Why not adding space between words
Show older comments
strcat('Scale Factor = ',num2str(table2array(T(min(find(find_groups==k)),'scalefactor'))))
and the output is like:
'Scale Factor =0.65'
I need to add the space between = and 0.65. Using above code does not add the space. Any idea/solution?
1 Comment
Guillaume
on 29 Jan 2020
Please note in Walter's answer how he simplified the horror that is:
table2array(T(min(find(find_groups==k)),'scalefactor')))
to
T.scalefactor(find(find_groups==k,1)))
Use proper table indexing,
table2array(Atable(rows, 'variablename')) %() indexing on a table returns a table
is simply
Atable.variablename(rows) %. indexing returns the content of the table
%or
Atable{rows, 'variablename'} % {} indexing returns the content of the table
and
min(find(something))
is simply
find(something, 1) %get the first element only
Accepted Answer
More Answers (2)
Walter Roberson
on 29 Jan 2020
1 vote
For character array inputs, strcat removes trailing ASCII white-space characters: space, tab, vertical tab, newline, carriage return, and form feed. For cell and string array inputs, strcat does not remove trailing white space.
2 Comments
Zeynab Mousavikhamene
on 29 Jan 2020
Walter Roberson
on 29 Jan 2020
strcat({'Scale Factor = '}, num2str(T.scalefactor(find(find_groups==k,1))))
Steven Lord
on 29 Jan 2020
If you're using a release that supports string arrays, you can simplify this a bit if you trust MATLAB to do "something reasonable" when combining your text and numeric data.
x = 0.65;
S = "Name = " + x
1 Comment
Zeynab Mousavikhamene
on 29 Jan 2020
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!