Different outputs when using { : }
1 回表示 (過去 30 日間)
古いコメントを表示
Hi,
I am new to MATLAB and have a very basic question.
Say I have a 2x2 string:
>> str = ["Jan" "Feb"; "Mar" "Apr"]
str =
2×2 string array
"Jan" "Feb"
"Mar" "Apr"
Why are the following two different?
str{:};
A = str{:};
Thanks in advance
1 件のコメント
Stephen23
2022 年 1 月 7 日
編集済み: Stephen23
2022 年 1 月 7 日
"Why are the following two different?"
Because in one case you allocate to a variable, and in other you don't.
As an aside, using curly-braces on a string array creates a comma-separated list:
Note that the comma-separated list constitutes the content of the container array, i.e. character vectors and not string scalars.
採用された回答
Kevin Holly
2022 年 1 月 7 日
編集済み: Kevin Holly
2022 年 1 月 7 日
When you used the braces the way you did, it turned the string array into a character array.
I would look at the following:
3 件のコメント
Kevin Holly
2022 年 1 月 7 日
@Stephen Cell arrays can also include numeric values and other arrays. When I first mentioned Daniya's use of braces caused the string array to become a character array, I didn't want Daniya to get confused and think the use of braces will always make a character array. For instance if you place braces around the variable, it creates a cell array. Also, it is good to know the differences. Then I decided to make the above comment to make things clear.
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Characters and Strings についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!