【发布时间】:2017-04-03 06:06:20
【问题描述】:
给定一个矩阵 A,我必须对 A 的所有可能的条目进行组合,使得每一行只选择一个数字。我制作了一个成功运行的递归程序。但我无法保存输出向量。因此,例如在下面的矩阵 A 中,将有 27 个这样的组合,我想将它们保存在 3x27 阶的矩阵中。
A = [3 4 0; 2 3 7; 45 7 0]
n = 1;
X = zeros(3,1);
comb(n, X, A);
%function to calculate all combinations.
function X = comb(n, X, A)
if (n > 3)
X
return
end
for i = 1:3
X(n) = A(n, i);
comb(n + 1, X, A);
end
end
【问题讨论】:
-
你能告诉我们(重要的部分)你的代码吗?无法保存是什么意思?
-
n=1; X=零(3,1);梳(n,X,A); %function 计算所有组合。 function X =comb(n,X, A) if (n>3) X return end for i=1:3 X(n)= A(n,i);梳(n+1,X,A);结束结束
-
我的代码存在一些格式问题。但是如果你只是将它复制粘贴到matlab中它会正常运行。
-
Soltius,现在显示代码。我想保存每个输出向量 X。在矩阵 A 的这种特殊情况下,将有 27 个输出向量。然后我想保存在一个 3x27 的矩阵中。