如何在matlab中进行N-D阵列的转置?

时间:2017-11-14 19:39:26

标签: matlab combinations transpose permute

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

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. 一个函数可以为我们提供多个输出,例如所有可能的输出组合?如上所述,如果我放置&#39 ;;'在输出变量语句之后,此函数不会显示任何内容:/。

0 个答案:

没有答案