有没有办法可以编写一个for循环,将一个给定数量的矩阵添加到单元格数组中。
`C1 = [];`
所以不必像以下那样写出所有人:
`cell = {}
cell = [cell C1];
cell = [cell C2];
cell = [cell C3];
cell = [cell C4];`
已知C的数量。
答案 0 :(得分:2)
如果已知C
矩阵的数量,那么您可以编写for循环来执行此操作。在循环的每次迭代中,可以构建命令字符串然后进行评估:
N = 4;
cellArray = cell(N,1); % pre-allocate memory for the array
for i=1:N
% build the command string
cmd = ['cellArray{i} = C' num2str(i) ';'];
% evaluate the string
eval(cmd);
end
您可以单步执行代码,看看cmd
在每次迭代时的样子。请注意,一些开发人员对使用eval
命令有些担忧。由于您正在构建要在每次迭代中运行的命令,因此它可以使调试(如果出现错误)更加困难。