How to add iteration in a string (make multiple strings using iterations without indexing) ?
71 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Haisam Khaled
le 24 Oct 2021
Commenté : Haisam Khaled
le 26 Oct 2021
I have been wondering for a loooong time how to acheive this. (I am a beginner by the way so please bear with me)
The problem is shown in the sample code below. I want the numerical "i" to be used in the string to output: "png1", "png2", and so forth.
Of course the code doesn't work.
I know of a way; to make a matrix in advance with string then access the matrix but this won't work with a while loop.
I thank you so much in advance.
for i = 1:4
matlab = "png(i)"
end
0 commentaires
Réponse acceptée
the cyclist
le 25 Oct 2021
Modifié(e) : the cyclist
le 25 Oct 2021
Here is one way:
for i = 1:4
matlab = sprintf("png%d",i)
end
Here is another, but wanted to show the first way, which can be more versatile for other ways to build strings and/or character arrays.
for i = 1:4
matlab = "png"+i
end
5 commentaires
Image Analyst
le 25 Oct 2021
@Steven Lord, neat trick. Good to know. Thanks for sharing.
matlab is a reserved variable name so he should use a different variable name. Just type matlab on the command line then dot and and the tab key to see all the methods and properties of the matlab object/class. Another neat trick.
Plus de réponses (1)
Image Analyst
le 25 Oct 2021
If I understand you correctly you want to dynamically/programmatically create named variables and then access them later by that created name. The reasons against this are discussed in the FAQ:
Voir également
Catégories
En savoir plus sur Logical dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!