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}即所求矩阵
这个问题很简单:
解法如下:
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相等:
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