Why not adding space between words
이전 댓글 표시
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
Guillaume
2020년 1월 29일
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
채택된 답변
추가 답변 (2개)
Walter Roberson
2020년 1월 29일
1 개 추천
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
Zeynab Mousavikhamene
2020년 1월 29일
Walter Roberson
2020년 1월 29일
strcat({'Scale Factor = '}, num2str(T.scalefactor(find(find_groups==k,1))))
Steven Lord
2020년 1월 29일
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
카테고리
도움말 센터 및 File Exchange에서 Characters and Strings에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!