How can I generate variable names automatically based on my data?

9 Ansichten (letzte 30 Tage)
I want to create multiple variables to the Workspace such as: 'x1', 'x2', 'x3', ... and so on depending on how long my data is.
How can I do this in MATLAB?

Akzeptierte Antwort

MathWorks Support Team
MathWorks Support Team am 11 Jul. 2018
You can use the "assignin" function in a for loop to do this:
>> for i = 1:5
>> assignin('base',strcat('x',num2str(i)),i);
>> end
  1 Kommentar
Stephen23
Stephen23 am 30 Jul. 2018
The assignin help states "Assigning to variables in the caller workspace can make code more difficult to understand, give surprising results to the user (unexpected or redefined variables in their workspace), and have a negative performance impact. The best practice is to have the function return the variables as output arguments."-
The Share Data Between Workspaces page states "Like global variables, these functions carry risks of overwriting existing data. Use them sparingly.... For other programming applications, consider argument passing and the techniques described in Alternatives to the eval Function."

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Produkte


Version

R2016b

Community Treasure Hunt

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

Start Hunting!

Translated by