как я могу выбрать свои функции?
Если вы называете это как
[pc,variances,explained] = pcacov(covx)
, то главными компонентами являются векторы в первом возвращаемом аргументе с отклонениямикак во втором возвращаемом аргументе.Они находятся в соответствии и сортируются от наиболее значимого к наименее значимому.
или они будут возвращены в том же порядке?
Это можно предположить, если функция help сообщаеттак, иначе это не безопасно, и вы можете сделать что-то вроде.
[varsorted,varsortedinds] = sort(variances,'descend');
pcsorted = pc(:,varsortedinds);
И varsorted
и pcsorted
будут в порядке от самого младшего к значимому.
Править7 лет спустя: перечитав вопрос, я понял, что мой ответ на самом деле не отвечает на этот вопрос.Я подумал, что основные компоненты отсортированы.Ответ дона Ревы - это ответ на заданный вопрос.Я не могу удалить выбранный ответ, хотя.