在matlab中将三个不同长度的1d数组水平连接成一个2d数组

时间:2014-10-24 18:28:17

标签: arrays matlab matrix merge concatenation

这可能吗?

假设我在matlab中有3个不同长度的单元格数组:

"hello"
"hi"

"whats"
"your"
"name"

"how"
"are"
"you"

我希望将它们连接成一个二维数组:

"hello" "whats"  "how"
"hi"    "your"   "are"
 0      "name"   "you"
这可能吗?我尝试过使用cat()和horzcat(),但显然由于矩阵的长度不同,它会出现错误。

1 个答案:

答案 0 :(得分:0)

根据MATLAB的帮助,

Concatenating arrays next to one another using commas is called horizontal concatenation. Each array must have the same number of rows. Similarly, when the arrays have the same number of columns, you can concatenate vertically using semicolons.

所以这是不可能的,因为你的数组应该有不同长度的行。

我认为您最好的选择是使用cell