How can I change struct name in a loop

23 visualizaciones (últimos 30 días)
Ziv Kassner
Ziv Kassner el 18 de Jun. de 2018
Editada: Stephen23 el 12 de Sept. de 2023
Hi everybody,
I have a struct name: Individual1.length I want the user to enter a number and the script will change accordingly, for example:
interface: X = input('which individual? ');
user: X = 3;
interface: individual3.length
Hope it is clear enough,
Thanks,
Ziv

Respuesta aceptada

Ameer Hamza
Ameer Hamza el 18 de Jun. de 2018
Although there is a MATLAB function to do this, but it is a very bad practice to name your variables like this. It will make your code error prone and hard to debug. Therefore I am going to suggest the correct way to solve the problem. You should create a struct array and store the input number as a field of the struct. For example
for ii=1:10
X = input('which individual? ');
s(i).individualNumber = X;
s(i).length = ...;
end
It will take 10 inputs from user and store them in struct array.
  2 comentarios
Stephen23
Stephen23 el 18 de Jun. de 2018
Editada: Stephen23 el 18 de Jun. de 2018
Ziv Kassner
Ziv Kassner el 18 de Jun. de 2018
Thank you very much.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

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

Etiquetas

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by