【发布时间】:2016-04-17 22:44:37
【问题描述】:
我想通过将长度为 h 的较小列向量 G 重复 n 次来创建列向量 X。最终向量 X 的长度为 h*n。例如
G = [1;2;3;4] #column vector of length h
X = [1;2;3;4;1;2;3;4;1;2;3;4] #ie X = [G;G;G;G] column vector of
length h*n
我可以在循环中执行此操作,但是否有一个等效于“填充”功能的功能,可以在尺寸不出错的情况下使用。当我尝试在这种情况下使用填充时,我没有得到一个长度为 h*n 的列向量,而是得到一个长度为 n 的列向量,其中每一行都是另一个长度为 h 的向量。例如,我得到以下信息:
X = [[1,2,3,4];[1,2,3,4];[1,2,3,4];[1,2,3,4]]
这对我来说没有意义,因为我知道 ;符号用于显示行中的元素,空格用于显示列中的元素。为什么这里使用 , 符号,它甚至意味着什么?例如,我可以通过 X[1] 访问最终输出 X 的第一行,然后通过 X[1][1] 访问其中的任何元素。
我想使用一些等效的“填充”或某种“展平”功能(如果存在),将 X 的所有元素展平为一个列向量,每个条目都是一个数字。
我也尝试了输出的重塑功能,但我也无法让它工作。
【问题讨论】:
-
repeat([1,2,3,4],outer=[4])应该这样做。?repeat在 REPL 中使用这个有用的功能。repmat也可以使用repmat([1,2,3,4],4,1)来实现,但返回的是矩阵,而不是向量。