Algorithm 基于sum(matlab)创建新矩阵的交替输出
我希望在迭代过程中将一个输入矩阵(X)分离为两个独立的矩阵 是否有任何方法可以在某种程度上自动化此过程:Algorithm 基于sum(matlab)创建新矩阵的交替输出,algorithm,matlab,matrix,Algorithm,Matlab,Matrix,我希望在迭代过程中将一个输入矩阵(X)分离为两个独立的矩阵 是否有任何方法可以在某种程度上自动化此过程: X = [1 2 3 4 5 6; 6 7 9 8 7 9; 2 4 1 1 4 2]; n = length(Matrix(1,:))-1; Matrix1 = X(:,1); Matrix2 = X(:,2); if sum(Matrix1(2,:)) < sum(Matrix2(2,:)), Matrix1 = [Matrix1 X(:,3)]; else
X = [1 2 3 4 5 6; 6 7 9 8 7 9; 2 4 1 1 4 2];
n = length(Matrix(1,:))-1;
Matrix1 = X(:,1);
Matrix2 = X(:,2);
if sum(Matrix1(2,:)) < sum(Matrix2(2,:)),
Matrix1 = [Matrix1 X(:,3)];
else
Matrix2 = [Matrix2 X(:,3)];
end
Output:
X =
1 2 3 4 5 6
6 7 9 8 7 9
2 4 1 1 4 2
Matrix1 =
1 3
6 9
2 1
Matrix2 =
2
7
4
X=[123456;679879;2414142];
n=长度(矩阵(1,:)-1;
矩阵1=X(:,1);
矩阵2=X(:,2);
如果sum(Matrix1(2,:)
标准是遍历整个矩阵X,然后根据第二行的总和放入矩阵1或矩阵2。因此,在本例中,下一列(#4)将被放入矩阵2中,因为矩阵X1中第二行的和为15>矩阵X2=7
有什么建议吗?这段代码已经在FOR循环中。。。在另一个循环中使用FOR循环会导致任何问题吗?不,这不是问题,它一直都在进行。只需在FOR循环中对矩阵列进行迭代,每次都将其追加到所需的矩阵。