【发布时间】:2014-03-07 18:53:59
【问题描述】:
给定 MATLAB 字符数组中的单个字符串值:
['12 N']
如何在一个新的字符数组中重复这个值 X 次?
例如:
X = 5
['12 N'; '12 N'; '12 N'; '12 N'; '12 N']
【问题讨论】:
标签: arrays matlab repeat character-arrays
给定 MATLAB 字符数组中的单个字符串值:
['12 N']
如何在一个新的字符数组中重复这个值 X 次?
例如:
X = 5
['12 N'; '12 N'; '12 N'; '12 N'; '12 N']
【问题讨论】:
标签: arrays matlab repeat character-arrays
使用repmat函数:
A = ['12 N'];
X = 5
Output = repmat(A, X, 1);
将产生一个字符数组。
根据您的最终用途,您可能需要考虑使用字符串元胞数组:
Output = repmat({A},X,1);
【讨论】:
repmat({A},X,1); 创建一个由 char 数组组成的元胞数组,而不是字符串。 (编辑:我意识到发布这个答案时,Matlab 尚未引入 string 类,因此有时使用“字符串”一词来指代 char 数组)
repmat 是显而易见的方法,但你可以使用kron:
A = ['12 N'];
X = 5
B = char(kron(A,ones(X,1)))
傻,是的……
【讨论】: