On entry, | , |
or | , |
or | . |
Open in the MATLAB editor: m01ed_example
function m01ed_example fprintf('m01ed example results\n\n'); cm = [ 6 + 1i 5 - 2i 4 + 4i; 5 - 3i 2 - 2i 1 + 1i; 2 + 2i 4 + 1i 9 - 3i; 4 + 2i 9 + 6i 6 + 4i; 4 + 0i 9 + 3i 5 + 1i; 4 - 8i 1 + 5i 2 + 1i; 3 - 3i 4 - 5i 1 + 0i; 2 + 4i 4 - 2i 6 - 1i; 1 + 1i 6 + 1i 4 + 0i; 9 + 1i 3 + 3i 2 - 4i; 6 - 1i 2 + 3i 5 - 3i; 4 - 5i 9 + 9i 6 + 7i]; m2 = size(cm,1); n = size(cm,2); k = 2; % Moduli of column k cmak = abs(cm(:,k)); % Get ranks from cmak m1 = int64(1); order = 'Ascending'; [irank, ifail] = m01da(cmak, m1, order); % Order columns of cm by irank for j=1:n [cm(:,j), irank, ifail] = m01ed( ... cm(:,j), m1, irank); end fprintf('Matrix sorted on column %2d\n', k); for i = m1:m2 disp(cm(i,:)); end
m01ed example results Matrix sorted on column 2 5.0000 - 3.0000i 2.0000 - 2.0000i 1.0000 + 1.0000i 6.0000 - 1.0000i 2.0000 + 3.0000i 5.0000 - 3.0000i 2.0000 + 2.0000i 4.0000 + 1.0000i 9.0000 - 3.0000i 9.0000 + 1.0000i 3.0000 + 3.0000i 2.0000 - 4.0000i 2.0000 + 4.0000i 4.0000 - 2.0000i 6.0000 - 1.0000i 4.0000 - 8.0000i 1.0000 + 5.0000i 2.0000 + 1.0000i 6.0000 + 1.0000i 5.0000 - 2.0000i 4.0000 + 4.0000i 1.0000 + 1.0000i 6.0000 + 1.0000i 4.0000 + 0.0000i 3.0000 - 3.0000i 4.0000 - 5.0000i 1.0000 + 0.0000i 4.0000 + 0.0000i 9.0000 + 3.0000i 5.0000 + 1.0000i 4.0000 + 2.0000i 9.0000 + 6.0000i 6.0000 + 4.0000i 4.0000 - 5.0000i 9.0000 + 9.0000i 6.0000 + 7.0000i