MATLAB连接具有不等维度的矩阵

Jon*_*ran 3 matlab concatenation matrix

有没有简单的方法来使用零填充来连接具有不等维度的矩阵?

short = [1 2 3]';
long = [4 5 6 7]';
desiredResult = horzcat(short, long);
Run Code Online (Sandbox Code Playgroud)

我想要像:

desiredResult = 
1 4 
2 5
3 6
0 7
Run Code Online (Sandbox Code Playgroud)

gno*_*ice 5

当您分配到矩阵当前边界之外的索引时,MATLAB中的矩阵会自动生成并用零填充.例如:

>> short = [1 2 3]';
>> long = [4 5 6 7]';
>> desiredResult(1:numel(short),1) = short;  %# Add short to column 1
>> desiredResult(1:numel(long),2) = long;    %# Add long to column 2
>> desiredResult

desiredResult =

     1     4
     2     5
     3     6
     0     7
Run Code Online (Sandbox Code Playgroud)