Filter löschen
Filter löschen

How does one produce an array of strings automatically?

6 Ansichten (letzte 30 Tage)
Oliver
Oliver am 14 Apr. 2014
Kommentiert: Walter Roberson am 16 Apr. 2014
I wish to produce an array/vector of strings to use as InputNames and OutputNames on a dynamical system model in something like the following manner (note that the below doesn't work, but illustrates what I'm looking for):
n = 5;
stringVector = {'v' num2str(n)};
in order to produce a vector of strings as such:
stringVector = {'v1', 'v2', 'v3', 'v4', 'v5'}
How can this be done?
Thanks, Olie

Akzeptierte Antwort

Mischa Kim
Mischa Kim am 14 Apr. 2014
Bearbeitet: Mischa Kim am 14 Apr. 2014
Oliver, you could do
n = 5;
for ii = 1:n
stringVector{ii} = strcat('v',int2str(ii));
end
or simply
stringVector = strcat({'v'},int2str((1:5)'));
  3 Kommentare
Sean de Wolski
Sean de Wolski am 16 Apr. 2014
Perhaps you want:
T = vertcat(totalVec{:})
Oliver
Oliver am 16 Apr. 2014
Oh - I've just discovered, given two vectors of strings, vec1, and vec2, you can produce a concatenation of these vectors with
totalVec = [vec1,vec2]
Thanks for all the help.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (2)

Jan
Jan am 14 Apr. 2014
There is an undocumented but extremely efficient function for this job:
stringVector = sprintfc('v%d', 1:5)

Sean de Wolski
Sean de Wolski am 16 Apr. 2014
And a documented one liner:
x = strcat('v',cellstr(num2str((1:5).')))

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by