Matlab 从矩阵到数组单元格的值插入问题

Matlab 从矩阵到数组单元格的值插入问题,matlab,Matlab,我有一个值矩阵,如下所示 candidate_edges = 10.0000 10.0000 6.0000 155.5000 105.5000 75.5000 25.5000 105.5000 75.5000 295.5000 415.5000 155.5000 185.5000 415.5000 155.5000 185.5000 485.5000 155.5000 195.5000 305.5000 74.5000

我有一个值矩阵,如下所示

candidate_edges =
   10.0000   10.0000    6.0000
  155.5000  105.5000   75.5000
   25.5000  105.5000   75.5000
  295.5000  415.5000  155.5000
  185.5000  415.5000  155.5000
  185.5000  485.5000  155.5000
  195.5000  305.5000   74.5000
  115.5000  305.5000   74.5000
  115.5000  395.5000   74.5000
  195.5000  395.5000   74.5000
   25.5000  185.5000   75.5000
  155.5000  185.5000   75.5000
  295.5000  415.5000    5.5000
  295.5000  415.5000  155.5000
  185.5000  415.5000  155.5000
  195.5000  305.5000    5.5000
  195.5000  305.5000   74.5000
  195.5000  395.5000   74.5000
  295.5000  415.5000    5.5000
  195.5000  395.5000    5.5000
  295.5000  485.5000    5.5000
  300.0000  600.0000         0
  295.5000  415.5000  155.5000
  185.5000  415.5000  155.5000
我想生成一个长度为1:length(候选_边)的数组,并在每个单元格中存储上述矩阵的每一行。下面是我的代码

cnode = zeros(1, n);
cnode = cell(1, n);
for k = 1:length(cnode)
    for j = 1:length(candidate_edges)
        cnode{k} = candidate_edges(j,:);
    end
end

在输出中,我在每个单元格中只得到相同的值。

不需要两个循环。e、 g.这样就可以了

cnode = cell(1, size(candidate_edges, 1))
for k = 1:numel(cnode)
    cnode{k} = candidate_edges(k,:);
end

您不需要两个循环。e、 g.这样就可以了

cnode = cell(1, size(candidate_edges, 1))
for k = 1:numel(cnode)
    cnode{k} = candidate_edges(k,:);
end

您也可以使用内置的MATLAB函数
mat2cell
进行如下操作:

cnode = mat2cell(candidate_edges, ones(1, size(candidate_edges, 1)));

您也可以使用内置的MATLAB函数
mat2cell
进行如下操作:

cnode = mat2cell(candidate_edges, ones(1, size(candidate_edges, 1)));