How can I change struct name in a loop

56 vues (au cours des 30 derniers jours)
Ziv Kassner
Ziv Kassner le 18 Juin 2018
Modifié(e) : Stephen23 le 12 Sep 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

Réponse acceptée

Ameer Hamza
Ameer Hamza le 18 Juin 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 commentaires
Stephen23
Stephen23 le 18 Juin 2018
Modifié(e) : Stephen23 le 18 Juin 2018
Ziv Kassner
Ziv Kassner le 18 Juin 2018
Thank you very much.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Structures dans Help Center et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by