Par exemple, la chaîne de préfixe est 'fig', je veux avoir une nouvelle chaîne avec la séquence 'fig1, fig2, fig3, ..., fig100', comment faire cela commodément sans utiliser une boucle for? Merci beaucoup!matlab: donné une chaîne de préfixe, comment générer une séquence
1
A
Répondre
2
Je suppose que vous voulez une matrice de cellules de chaînes, à savoir {'fig1','fig2',...'}
Voici une des nombreuses façons d'y parvenir (changer la chaîne de format à 'fig%03i'
si vous voulez que la sortie soit 'fig001','fig002'
etc):
figString = arrayfun(@(x)sprintf('fig%i',x),1:100,'uniformOutput',false)
EDIT
Si vous ne wan t une seule chaîne, à savoir 'fig1,fig2, ...'
, la solution la plus simple est d'utiliser sprintf
:
figString = sprintf('fig%i,',1:100);
figString = figString(1:end-1); %# remove the comma at the end
en utilisant votre méthode, comment générer 'fig fig fig ... fig fig' 100 fois? sprintf ('fig', 1: 100) ne semble pas fonctionner –
@Quiang Li: Faites juste 'repmat ('fig', 1,100)' – Jonas