如何将一个字符重复多次并作为MATLAB数组?

5
给定一个MATLAB字符数组中的单个字符串值:
['12 N']

我该如何在一个新的字符数组中重复 X 次这个值?

例如:

X = 5

['12 N'; '12 N'; '12 N'; '12 N'; '12 N']
2个回答

10

使用repmat函数:

A = ['12 N'];
X = 5
Output = repmat(A, X, 1);

将会导致一个字符数组。

根据您的最终用途,您可能希望考虑改用字符串的单元数组:

Output = repmat({A},X,1);

啊,你打败了我,正当我正在输入答案! - Doresoom
最后一行是不正确的:repmat({A},X,1); 创建的是一个字符数组的单元数组,而不是字符串。(编辑:我意识到当这个答案发布时,Matlab还没有引入string类,所以有时会用“字符串”一词来指代字符数组) - Paul Wintz

3

repmat是显而易见的选择,但为了好玩,你也可以使用kron

A = ['12 N'];
X = 5
B = char(kron(A,ones(X,1)))

愚蠢的,是的...

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接