How do I add space between strings when I am using randperm?
Mostrar comentarios más antiguos
Sorry, I'm not expert but I'm learning.
I've tried some answer regarding how to add space between strings, but it seems that these methods do not apply when using a random generation of string.
If I use matrix concatenation (horzcat): ['A', ' ', 'B'] it will generate the space randomly.
if I use STRCAT then it give me error 'index exceed size of matrix' whatever I do.
This is my code:
string = ['BCDFGHKJLMNPQRSTVWXYZ'];
numRands = length(string);
set_length = 5;
set_string = string( round(randperm(21,set_length))); %21 consonants
Thanks a lot in advance for any help you might provide!
2 comentarios
Walter Roberson
el 2 de Oct. de 2013
randperm(21, set_length) is going to produce a list of integers. There is no point in round()'ing the integers before using them as indices.
Elisa
el 2 de Oct. de 2013
Respuesta aceptada
Más respuestas (1)
Sean de Wolski
el 3 de Oct. de 2013
You could also do this with strjoin (13a or newer)
string = ['BCDFGHKJLMNPQRSTVWXYZ'];
numRands = length(string);
set_length = 5;
set_string = strjoin(cellstr(string(randperm(21,set_length)).').',' ');
2 comentarios
Elisa
el 3 de Oct. de 2013
Sean de Wolski
el 4 de Oct. de 2013
strjoin is new in 13a I believe.
Categorías
Más información sobre Characters and Strings en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!