How to repeat a character multiple times as a MATLAB array?
Asked Answered
N

2

5

Given a single string value in a MATLAB character array:

['12 N']

How can I repeat this value X times in a new character array?

For example:

X = 5

['12 N'; '12 N'; '12 N'; '12 N'; '12 N']
Nuisance answered 7/3, 2014 at 18:53 Comment(0)
C
10

Use the repmat function:

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

will result in a character array.

Depending on your end usage, you may want to consider using a cell array of strings instead:

Output = repmat({A},X,1);
Callis answered 7/3, 2014 at 18:57 Comment(2)
Ah, you beat me as I was typing out the answer!Camm
The last line is incorrect: repmat({A},X,1); creates a cell array of char arrays, not strings. (Edit: I realize that when this answer was posted, Matlab had not introduced the string class yet, so the words "strings" were sometimes used to refer to char arrays)Taxeme
C
3

repmat is the obvious way to go, but just for the heck of it you could use kron:

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

Silly, yes...

Cusk answered 7/3, 2014 at 19:55 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.