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
我对某些变量有疑问。 我在循环中动态创建变量。
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