num2strでchar型になる理由
12 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
mi
am 2 Feb. 2023
Bearbeitet: Atsushi Ueno
am 2 Feb. 2023
data10 (10000*19 double)を文字列変換するため、num2strを使用しました。
しかし変換後のデータがdata11 (10000*52 char) となっています。
この後の操作としてはcontainsを使う為、このままではエラーとなってしまいます。
初心者質問で恐縮ですが、自力では解決出来なかった為皆さんのご意見をよろしくお願いいたします。
Akzeptierte Antwort
Atsushi Ueno
am 2 Feb. 2023
Bearbeitet: Atsushi Ueno
am 2 Feb. 2023
下記の事を知ると良いと思います。説明する事も難しいですが説明してみます。
- 二種類の異なる文字データ型がある
- 両者は次元が1段階異なる
型 スカラ ベクトル(1次元) 行列(2次元) cell 配列
char ’A' 'ABCDEF' ['ABCDEF'; 'GHIJKL'] {[n×m char] [o×p char] [q×r char]}
string "AB" ["AB","CD","EF"] ["AB","CD","EF"; "GH","IJ","KL"] {[n×m string] [o×p string] [q×r string] }
char 型の1文字は「文字スカラ」と呼ばれ、数値スカラと同じ次元を持ちます。
複数の文字は「文字ベクトル」と呼ばれる1次元配列データになります。
double('ABC') % 'A'のASCIIコードは65(0x41)
num2str(rand(3))
char 型で単語の区切りを持ったデータを実現するには cell 配列が必要です。
arrayfun(@num2str,rand(3),'uni',false)
A = ["AB","CD","EF"; "GH","IJ","KL"]
{A, A, A; A, A, A}
0 Kommentare
Weitere Antworten (1)
Hernia Baby
am 2 Feb. 2023
Bearbeitet: Hernia Baby
am 2 Feb. 2023
2 Kommentare
Hernia Baby
am 2 Feb. 2023
Bearbeitet: Hernia Baby
am 2 Feb. 2023
ちなみにstring型の登場は2016bからに対して、num2strは2006a以前のものです。
ですのでstringはまだ登場していません。
Siehe auch
Kategorien
Mehr zu String Parsing finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!