Outputting to string
1 次查看(过去 30 天)
显示 更早的评论
I want to do this, essentially:
for i = 1:3
['variable_' int2str(i)] = function(i);
end
How do I tell MATLAB to create a series of variables as outputs? It isn't good enough to output to variable(i) as the output is a series of matrices and vectors, not a single value.
0 个评论
采纳的回答
Kenneth Eaton
2011-1-27
for i = 1:3
eval(['var_' int2str(i) ' = fcn(i);']);
end
But in general an easier approach is to store your outputs in a cell array instead of a bunch of variables:
outputArray = cell(1,3);
for i = 1:3
outputArray{i} = fcn(i);
end
This makes it much easier to access the data later since you can just index into the cell array to get its contents, whereas for the first approach you would likely have to reconstruct a variable name and use EVAL again later to access the data stored in a particular variable.
更多回答(1 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Portfolio Optimization and Asset Allocation 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!