配列行数が違うものを​連結する方法をおしえ​てください。

AA = [1:1:10]';
>> BB = [1:1:5]';
>> CC = [AA,BB]
エラー: horzcat
連結する配列の次元が一致しません。
になります。

2 个评论

AAが10行×1列、BBが5行×1列ですが、CCは水平に連結してN行×2列のデータにしたいということでしょうか?
もし垂直に連結して15行×1列にしたいなら、セミコロンでできますが。
AA = [1:1:10]';
BB = [1:1:5]';
CC = [AA;BB]
CC = 15×1
1 2 3 4 5 6 7 8 9 10
whos
Name Size Bytes Class Attributes AA 10x1 80 double BB 5x1 40 double CC 15x1 120 double cmdout 1x33 66 char
Masakazu
Masakazu 2023-2-17
水平方向に連結していきたいと思っています。(1列目10行/2列目5行みたいな感じで)
よろしくお願いします。

请先登录,再进行评论。

 采纳的回答

こちらの回答が参考になると思います。同じ行数にするようにzerosやnanで埋めて配列を作るか、セル配列を作るかのやり方があります。
nanで埋める方法
AA = [1:1:10]';
BB = [1:1:5]';
CC = [AA,[BB;nan(length(AA)-length(BB),1)]]
CC = 10×2
1 1 2 2 3 3 4 4 5 5 6 NaN 7 NaN 8 NaN 9 NaN 10 NaN
セル配列を使う方法
CC = cell(length(AA),2);
CC(1:length(AA),1) = num2cell(AA);
CC(1:length(BB),2) = num2cell(BB);
disp(CC)
{[ 1]} {[ 1]} {[ 2]} {[ 2]} {[ 3]} {[ 3]} {[ 4]} {[ 4]} {[ 5]} {[ 5]} {[ 6]} {0×0 double} {[ 7]} {0×0 double} {[ 8]} {0×0 double} {[ 9]} {0×0 double} {[10]} {0×0 double}

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息

产品

版本

R2018b

标签

Community Treasure Hunt

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

Start Hunting!