0

我正在使用以下代码来获取矩阵行的所有可能组合。

function rComb(matrix)
rows =  size(matrix,1)
for n = 1:rows

    rowsCell = num2cell(matrix,2);
    r = nchoosek(1:size(matrix,1),n);
    out = cell2mat(reshape(rowsCell(r.',:).',n,1,[]))
end
end

现在我想对 out 变量进行转置,我正在使用这段代码。

function rComb(matrix)
rows =  size(matrix,1)
for n = 1:rows

    rowsCell = num2cell(matrix,2);
    r = nchoosek(1:size(matrix,1),n);
    out = cell2mat(reshape(rowsCell(r.',:).',n,1,[]))
    transp = out'
end
end

我正面临这个错误......!

“未定义在 ND 阵列上使用“转置”时出错。请改用 PERMUTE。”

  1. 你能解决这个问题吗?

  2. 还有一件事,一个函数可以给我们多个输出,比如所有可能的输出组合?如果我放置';',就像上面的代码一样 在 out 变量语句之后,此函数将不会显示任何内容:/。

4

0 回答 0