关于matlab一种特殊排序方式的实现问题

我想用matlab/simulink做一个比较特殊的电压排序
举个例子就是:九个东西排序,每三个一组一共三组九个元素,分别是a,b,c一组d,e,f一组g,h,i一组,然后a、d、g进行排序,排序结束后b,c排序e,f排序,h,i排序,分别放在a,d,g后面组成新的序列。比如d>a>g大,b>c,f>e,i>h所以新序列是d,f,e,a,b,c,g,i,h

我现在只能做到a,d,g之间的排序以及两两之间的排序,但是不知道怎么把序列合成一个

a=4;
A=1:4;
d=zeros(1,4);
for i=1:a-1                                     
    for j=1:a-i                                 
        if V3SM(j)>V3SM(j+1)                    
            t=V3SM(j+1);                        
            V3SM(j+1)=V3SM(j);                  
            V3SM(j)=t;                          
            c=A(j+1);                           
            A(j+1)=A(j);                        
            A(j)=c;                             
        end                                     
    end                                         
end                                             
我在想能不能用矩阵的方式来解决,第一行放a,d,g,然后所在列再次排序,然后让matlab按顺序输出整个序列