www.pudn.com > zishiyingjiami.rar > per.m, change:2011-12-07,size:529b


function C=per(A,B) 
%利用B的信息排列A 
%将B按行排列成一维数组,排列得到各位置的序号ix 
%将A的元素按ix重新排列成C 
%如B=[1 4;2 3],排列可得序号[1 3 4 2],将A的第1个元素放在C的第1个位置,第2个元素放在C的第3个位置 
%将A的第3个元素放在C的第4个位置,将A的第4个元素放在C的第2个位置 
%若A=[8 3;4 1],则调用per后,C=[8 1;3 4] 
if size(A)~=size(B) 
    error('wrong size of two input matrix'); 
end 
rows=size(A,1); 
A=reshape(A',1,[]); 
B=reshape(B',1,[]); 
C=zeros(size(A)); 
[b,ix]=sort(B); 
C=A(ix); 
C=reshape(C,[],rows); 
C=C';