How can I change struct name in a loop

18 Ansichten (letzte 30 Tage)
Ziv Kassner
Ziv Kassner am 18 Jun. 2018
Bearbeitet: Stephen23 am 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

Akzeptierte Antwort

Ameer Hamza
Ameer Hamza am 18 Jun. 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 Kommentare
Stephen23
Stephen23 am 18 Jun. 2018
Bearbeitet: Stephen23 am 18 Jun. 2018
Ziv Kassner
Ziv Kassner am 18 Jun. 2018
Thank you very much.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Structures finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by