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

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

采纳的回答

Atsushi Ueno
Atsushi Ueno 2023-5-26
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 个评论
Atsushi Ueno
Atsushi Ueno 2023-5-30
ああああ!想定した背景が全然違いましたね。取り消したいこの回答!
@Akira Agataさんの回答を採用してくださいな
kenichiro inagaki
kenichiro inagaki 2023-5-31
いえ!!ありがとうございます!勉強になりました

请先登录,再进行评论。

更多回答(1 个)

Akira Agata
Akira Agata 2023-5-30
移动:Atsushi Ueno 2023-5-30
+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 个评论
kenichiro inagaki
kenichiro inagaki 2023-5-30
移动:Atsushi Ueno 2023-5-30
皆様
(ここに返事して良いんですかね・・・)ご回答ありがとうございます。
えっと、やりたいことはAkira Agara様のご回答に近いです
IDは数字ですが文字として扱いたいです(01172023 のようなもの)
いちどこれでやってみます ありがとうございます!

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Logical 的更多信息

标签

产品


版本

R2022a

Community Treasure Hunt

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

Start Hunting!