How to add iteration in a string (make multiple strings using iterations without indexing) ?
38 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Haisam Khaled
el 24 de Oct. de 2021
Comentada: Haisam Khaled
el 26 de Oct. de 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 comentarios
Respuesta aceptada
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
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 comentarios
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.
Más respuestas (1)
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:
Ver también
Categorías
Más información sobre Logical en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!