【问题标题】:Iterate Matrix into a cell array将 Matrix 迭代到一个元胞数组中
【发布时间】: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


    【解决方案1】:

    如果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 命令有一些顾虑。由于您正在构建要在每次迭代时运行的命令,因此它会使调试(如果出现错误)更加困难。

    【讨论】:

    • 谢谢,这似乎符合我的要求。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-22
    相关资源
    最近更新 更多