Mercurial > hg > camir-ismir2012
annotate toolboxes/FullBNT-1.0.7/KPMtools/sort_evec.m @ 0:cc4b1211e677 tip
initial commit to HG from
Changeset:
646 (e263d8a21543) added further path and more save "camirversion.m"
author | Daniel Wolff |
---|---|
date | Fri, 19 Aug 2016 13:07:06 +0200 |
parents | |
children |
rev | line source |
---|---|
Daniel@0 | 1 function [evec, evals] = sort_evec(temp_evec, temp_evals, N) |
Daniel@0 | 2 |
Daniel@0 | 3 if ~isvectorBNT(temp_evals) |
Daniel@0 | 4 temp_evals = diag(temp_evals); |
Daniel@0 | 5 end |
Daniel@0 | 6 |
Daniel@0 | 7 % Eigenvalues nearly always returned in descending order, but just |
Daniel@0 | 8 % to make sure..... |
Daniel@0 | 9 [evals perm] = sort(-temp_evals); |
Daniel@0 | 10 evals = -evals(1:N); |
Daniel@0 | 11 if evals == temp_evals(1:N) |
Daniel@0 | 12 % Originals were in order |
Daniel@0 | 13 evec = temp_evec(:, 1:N); |
Daniel@0 | 14 return |
Daniel@0 | 15 else |
Daniel@0 | 16 fprintf('sorting evec\n'); |
Daniel@0 | 17 % Need to reorder the eigenvectors |
Daniel@0 | 18 for i=1:N |
Daniel@0 | 19 evec(:,i) = temp_evec(:,perm(i)); |
Daniel@0 | 20 end |
Daniel@0 | 21 end |
Daniel@0 | 22 |