Matlab 如何使用loop将多个行向量组合成一个单行向量?

Matlab 如何使用loop将多个行向量组合成一个单行向量?,matlab,matrix,cell-array,Matlab,Matrix,Cell Array,其中每一行存储在单独的向量中 A= [1 2 3 4 2 3 4 5 4 5 6 7 . ....] 我需要创建新的单元格,使用循环,包含所有以前的行向量,如下所示: a1 = [1 2 3 4] a2 = [2 3 4 5] . . . an = [1 2 3 4] 在工作区中,我将向量作为1xn单元,并在每个单元中包含自己的向量;e、 g.第一个单元格包含vectora1,第二个单元格包含vectora2,等等。

其中每一行存储在单独的向量中

A= [1 2 3 4  
    2 3 4 5  
    4 5 6 7  
    .  
    ....]  
我需要创建新的单元格,使用循环,包含所有以前的行向量,如下所示:

a1 = [1 2 3 4]  
a2 = [2 3 4 5]  
.  
.  
.  
an = [1 2 3 4]  
在工作区中,我将
向量
作为
1xn
单元,并在每个单元中包含自己的向量;e、 g.第一个单元格包含vector
a1
,第二个单元格包含vector
a2
,等等。我不希望每次有不同数量的向量时都复制代码,因此我希望自动执行此操作


在执行此操作之前,不要将每一行手动复制到单独的变量中。因此,使用所需的
for
循环的正确方法是

vectors = {a1, a2, a3, ......,an} 
无需循环即可完成此操作(感谢)


虽然一个矩阵(所以你原来的
a
)总体上是最好的,因为MATLAB最适合于矩阵。

在执行此操作之前,你不需要手动将每一行复制到一个单独的变量中。因此,使用所需的
for
循环的正确方法是

vectors = {a1, a2, a3, ......,an} 
无需循环即可完成此操作(感谢)


虽然一个矩阵(所以你原来的
a
)总体上是最好的,因为MATLAB最适合矩阵。

你的
a1
a
向量来自哪里?您是否在代码中生成它们?修改生成它们的代码比事后聚合它们更有意义。首先有人编辑了我的问题,因为现在这个问题毫无用处,因为对concat矩阵来说相当简单。当我首先提出这个问题时,我需要创建一个向量数组,每个向量都在自己的单元格中,因为使用这些动态变量比通常情况下更难。我阅读了对你问题的所有修改,现在我明白了困惑的根源;您想要“一个行向量
vectors={a1,…,一个}
。您可以在文本中声明“行向量”“,这是原编辑更改为的内容;在语法上,您希望创建一个单元格。很抱歉把你的问题往后推,我被模棱两可弄糊涂了。另外:你知道你可以编辑评论,而不是发表4条评论,每条评论半句话?@Sardar_Usama请小心编辑,这至少是我第二次看到你根据OPs意图进行更改。在本例中,您可以通过将
{}
更改为
[]
,这在MATLAB中是一种完全不同的数据类型。如果您不理解该语言,请不要编辑代码。还为批准而感到羞耻…@Sardar_Usama这意味着不会说MATLAB的评论员看到了很多好的语法修改并批准了它。虽然我同意你的模糊性,但从技术上讲,
1xn
单元格也是行向量。编辑时请注意不要解释OPs的含义,不要编辑代码,除非始终正确缩进它。
a1
to
a
向量来自何处?您是否在代码中生成它们?修改生成它们的代码比事后聚合它们更有意义。首先有人编辑了我的问题,因为现在这个问题毫无用处,因为对concat矩阵来说相当简单。当我首先提出这个问题时,我需要创建一个向量数组,每个向量都在自己的单元格中,因为使用这些动态变量比通常情况下更难。我阅读了对你问题的所有修改,现在我明白了困惑的根源;您想要“一个行向量
vectors={a1,…,一个}
。您可以在文本中声明“行向量”“,这是原编辑更改为的内容;在语法上,您希望创建一个单元格。很抱歉把你的问题往后推,我被模棱两可弄糊涂了。另外:你知道你可以编辑评论,而不是发表4条评论,每条评论半句话?@Sardar_Usama请小心编辑,这至少是我第二次看到你根据OPs意图进行更改。在本例中,您可以通过将
{}
更改为
[]
,这在MATLAB中是一种完全不同的数据类型。如果您不理解该语言,请不要编辑代码。还为批准而感到羞耻…@Sardar_Usama这意味着不会说MATLAB的评论员看到了很多好的语法修改并批准了它。虽然我同意你的模糊性,但从技术上讲,
1xn
单元格也是行向量。在编辑时,请注意不要解释OPs的含义,不要编辑代码,除非始终正确缩进
B = mat2cell(A, ones(1,size(A,1)), size(A,2)).';