MATLAB:动态变量未直接在工作区中更新

MATLAB : dynamic variables not updated directly in the workspace

我对某些变量有疑问。 我在循环中动态创建变量。

  for i=1:nbr
     assignin('base', ['x_',num2str(i)],0) 
  end

之后,我想将函数的结果放入这些变量中。但是工作区底部的变量没有直接更新,所以我有一个错误 "Undefined function or variable"。我该如何解决我的问题?

for i=1:nbr 
      ['x_',num2str(i)]= fonction(input);
  end

提前致谢

此致

改为使用元胞数组:

x{i} = function(input);

然后 return 将整个元胞数组返回给调用者,这样您就永远不需要使用 assignin。整个函数体看起来像这样:

function x = myfunction(someinput)

for i=1:nbr
    x{i} = someotherfunction(input);
end
% Cell array x is returned from the function