MATLAB: How to change struct name in a loop

MATLABstructvariable

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

Best Answer

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.