stringとdoubleの配列を結合したいです

stringで書かれたデータ(IDという名前の、737x1 string) と、doubleで書かれたデータ(LUTという名の、737x9 double)
を結合したいです。
[ID LUT]で連結するとstringになってしまうのか、数字が使えなくなります
やりかたを教えてください

 Accepted Answer

str2double関数でstring型⇒double型に変換してから結合するのはどうでしょうか。仮定が誤ってたらごめんなさい。
ID = repmat("9.87",2,1); % (IDという名前の、737x1 string) と、
LUT = repmat(1.23,2,9); % doubleで書かれたデータ(LUTという名の、737x9 double)
[str2double(ID) LUT] % で連結するとstringになってしまうのか、数字が使えなくなります
ans = 2×10
9.8700 1.2300 1.2300 1.2300 1.2300 1.2300 1.2300 1.2300 1.2300 1.2300 9.8700 1.2300 1.2300 1.2300 1.2300 1.2300 1.2300 1.2300 1.2300 1.2300

3 Comments

問題の再現:
row = 2;% 737は表示するのに長過ぎるので、2に変更
ID = repmat("9.87",row,1) % (IDという名前の、737x1 string) と、
ID = 2×1 string array
"9.87" "9.87"
LUT = repmat(1.23,row,9) % doubleで書かれたデータ(LUTという名の、737x9 double)
LUT = 2×9
1.2300 1.2300 1.2300 1.2300 1.2300 1.2300 1.2300 1.2300 1.2300 1.2300 1.2300 1.2300 1.2300 1.2300 1.2300 1.2300 1.2300 1.2300
[ID LUT] % で連結するとstringになってしまうのか、数字が使えなくなります
ans = 2×10 string array
"9.87" "1.23" "1.23" "1.23" "1.23" "1.23" "1.23" "1.23" "1.23" "1.23" "9.87" "1.23" "1.23" "1.23" "1.23" "1.23" "1.23" "1.23" "1.23" "1.23"
(変更) string型のデータを"a"から"9.87”に変更
目的から考えて、string型の数値とdoubleの数値を結合したいのだろうと認識を改めました。
Atsushi Ueno
Atsushi Ueno on 30 May 2023
ああああ!想定した背景が全然違いましたね。取り消したいこの回答!
@Akira Agataさんの回答を採用してくださいな
kenichiro inagaki
kenichiro inagaki on 31 May 2023
いえ!!ありがとうございます!勉強になりました

Sign in to comment.

More Answers (1)

Akira Agata
Akira Agata on 30 May 2023
Moved: Atsushi Ueno on 30 May 2023
+1
もし ID が文字列でしたら、table 型変数として結合する方法もあります。
以下、簡単のためサイズが 3×1 の ID (string型) と 3×9 の LUT (double型) で説明します。
% ID, LUTのサンプル
ID = ["Taro"; "Jiro"; "Saburo"];
LUT = rand(3, 9);
% 方法1: 単純に table 型変数として結合
T1 = table(ID, LUT)
T1 = 3×2 table
ID LUT ________ __________ "Taro" 1×9 double "Jiro" 1×9 double "Saburo" 1×9 double
% 方法2: LUTの各列が table 型変数の列となるように結合
T2 = [table(ID), array2table(LUT)]
T2 = 3×10 table
ID LUT1 LUT2 LUT3 LUT4 LUT5 LUT6 LUT7 LUT8 LUT9 ________ _______ ________ ________ ________ _______ ________ _______ _______ _______ "Taro" 0.91808 0.56202 0.95989 0.78458 0.88718 0.035245 0.68346 0.58253 0.7867 "Jiro" 0.25424 0.45737 0.080926 0.50479 0.57011 0.80057 0.19485 0.74479 0.14043 "Saburo" 0.99111 0.028028 0.072873 0.040447 0.28866 0.24511 0.6243 0.59973 0.16528

1 Comment

kenichiro inagaki
kenichiro inagaki on 30 May 2023
Moved: Atsushi Ueno on 30 May 2023
皆様
(ここに返事して良いんですかね・・・)ご回答ありがとうございます。
えっと、やりたいことはAkira Agara様のご回答に近いです
IDは数字ですが文字として扱いたいです(01172023 のようなもの)
いちどこれでやってみます ありがとうございます!

Sign in to comment.

Categories

Products

Release

R2022a

Tags

Community Treasure Hunt

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

Start Hunting!