How to add iteration in a string (make multiple strings using iterations without indexing) ?

46 visualizaciones (últimos 30 días)
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

Respuesta aceptada

the cyclist
the cyclist el 25 de Oct. de 2021
Editada: the cyclist el 25 de Oct. de 2021
Here is one way:
for i = 1:4
matlab = sprintf("png%d",i)
end
matlab = "png1"
matlab = "png2"
matlab = "png3"
matlab = "png4"
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
matlab = "png1"
matlab = "png2"
matlab = "png3"
matlab = "png4"
  5 comentarios
Image Analyst
Image Analyst el 25 de Oct. de 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.
Haisam Khaled
Haisam Khaled el 26 de Oct. de 2021
@Image Analyst DUUUDE this was the one that started it all, I saw it once somewhere, but somehow forgot it and no matter what I tried, I never thought of this one. THANK YOU AGAIN, now I have immense knowledge <3

Iniciar sesión para comentar.

Más respuestas (1)

Image Analyst
Image Analyst el 25 de Oct. de 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:
  1 comentario
Haisam Khaled
Haisam Khaled el 25 de Oct. de 2021
Hey man, first of all, I am a big fan of you, you answered many questions of other people that I benefitted a lot from.
Second, I know my mind is that of a beginner and yours is so advanced and much smarter than me. I didn't explain the problem well, regaardless someone understood my stupid explanation and provided a solution, I thank you soooo much for your effort.
P.S. this article was helpful <3

Iniciar sesión para comentar.

Categorías

Más información sobre Logical en Help Center y File Exchange.

Productos


Versión

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by