Суммирование собственных векторов, соответствующих двоичным собственным значениям - PullRequest
0 голосов
/ 31 декабря 2011

У меня есть вектор linspace в matlab, вектор eigenvalues и соответствующая ему матрица eigenvectors, которую я получил из команды eig.

Я гистограмму собственных значений, используя hist(eigenvalues,linspace).

Я хотел бы суммировать все собственные векторы, соответствующие каждому элементу гистограммы.

Например, корзина 1 содержит собственные значения w_1, w_2, w_3, w_4. Я хотел бы найти v_bin1 = v_1 + v_2 + v_3 + v_4, где v_1, v_2, v_3, v_4 - соответствующие собственные значения для собственных векторов w_1, w_2, w_3, w_4 соответственно.

Как можно поступить так, помня о векторизации?

1 Ответ

1 голос
/ 31 декабря 2011

Скажем, у вас есть N собственных значений, и соответствующая матрица собственных векторов равна V (где столбцы являются собственными векторами), вам нужно создать матрицу A такую, что:

  • А имеет N столбцов
  • Каждая строка 'A' имеет 1 в местах, соответствующих собственным значениям, которые вы хотите суммировать. Т.е., A (i, [1, 2]) = 1, если вы хотите сложить первый и второй собственные векторы.
  • Количество строк в A - это количество искомых выходов (количество бинов).

Результатом A * V 'будет матрица, в которой каждая строка является суммой собственных векторов, которые вы ищете.

Я оставлю вам решать, как построить матрицу A из вектора linspace, который у вас есть. Это может потребовать простой петли.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...