How to concatenate a number to a variable name in MATLAB?

前端 未结 5 1782
被撕碎了的回忆
被撕碎了的回忆 2020-11-27 07:17

I have a variable a = 1. I want to generate a variable name of the form:

variableNumber  

So in this example, I would want

5条回答
  •  不知归路
    2020-11-27 08:02

    Use assignin.

    assignin('base', sprintf('variable%d', 1), 1:10)
    

    EDIT: As JS mentioned, structs are generally better for dynamic field names. You can use them like this:

    varnames = {'foo', 'bar'};
    str = struct;
    for i = 1:length(varnames)
       str = setfield(str, varnames{i}, rand); %#ok
    end
    
    str =    
         foo: 0.4854
         bar: 0.8003
    

    Or even more simply, like this:

    str2.('alpha') = 123;
    str2.('beta') = 1:10;
    

提交回复
热议问题