用matlab对矩阵A=[1,2,3;4,5,6;7,8,9;10,11,12 ].的列进行排列组合。可以得到24组矩阵。高手帮帮忙,

2024-12-16 19:37:26
推荐回答(3个)
回答1:

A=[1,2,3;4,5,6;7,8,9;10,11,12 ];
p=perms(1:4);
for n=1:24
B{n}=A(p(n,:),:);
end

B{1}到B{24}即所求矩阵

回答2:

这个问题很简单:
解法如下:
1,>>B=abs(A);,
这个把A中的所有元素变为正,当然正的元素不变;负的元素全部变为正,第一个问题解决;
2
>>C=A<0 ;
这个C中所有为1的元素记录A中小于0的元素的位置,也就是C 中是1的元素的坐标就是A中小于0的元素的坐标;
3:还原A ,
>>B(C)=-B(C);
这一步把把B中的坐标和C中1的相同坐标的元素变为负数而对为零的坐标元素不做操作,这时得到的B和A相等:

回答3:

A=[1,2,3;4,5,6;7,8,9;10,11,12 ];
p=perms(1:4);
for n=1:24
B{n}=A(p(n,:),:);
end