【发布时间】:2014-06-05 08:28:31
【问题描述】:
有没有一种方法可以编写一个 for 循环,将给定数量的矩阵添加到元胞数组中。
`C1 = [];`
所以不必像这样写每个人:
`cell = {}
cell = [cell C1];
cell = [cell C2];
cell = [cell C3];
cell = [cell C4];`
C 的数量是已知的。
【问题讨论】:
标签: matlab matrix cell-array
有没有一种方法可以编写一个 for 循环,将给定数量的矩阵添加到元胞数组中。
`C1 = [];`
所以不必像这样写每个人:
`cell = {}
cell = [cell C1];
cell = [cell C2];
cell = [cell C3];
cell = [cell C4];`
C 的数量是已知的。
【问题讨论】:
标签: matlab matrix cell-array
如果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 命令有一些顾虑。由于您正在构建要在每次迭代时运行的命令,因此它会使调试(如果出现错误)更加困难。
【讨论】: