2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




На страницу 1, 2  След.
 
 Собственные значения матрицы
Сообщение02.09.2013, 23:51 
Помогите, пожалуйста! Объясните попроще, как с помощью эксель рассчитать собственные значения матрицы. Прочитала уже много, но не понимаю, как делать.
До этого делала через поиск решения, так он выдает только одно число (определитель) и дальше не хочет ничего считать. Может, я что-то не правильно делаю...
Еще особенность: матрица очень большая: 32 на 32

 
 
 
 Re: Собственные значения матрицы
Сообщение03.09.2013, 00:26 
Аватара пользователя
C чего Вы взяли, что они в нём есть? По-моему, Excel только определитель и умеет - функция MDETERM() или МОПРЕД().

-- менее минуты назад --

(только дошло) Или речь идёт про какой-нибудь сложный алгоритм действий руками, в котором Excel выполняет фактически роль калькулятора?

 
 
 
 Re: Собственные значения матрицы
Сообщение03.09.2013, 00:38 
Да! Просто чтобы упростить расчеты, вручную такой объем не рассчитаешь...

 
 
 
 Re: Собственные значения матрицы
Сообщение03.09.2013, 06:42 
Аватара пользователя
Сложность задачи нахождения с.з. кубическая, так что даже с "Экселем-калькулятором" трудоёмкость запредельна.
Варианты:
А. Вам нужны все с.з. (и, возможно, с.в.)
- воспользуйтесь существующими математическими программами (а также статистическими, некоторые рассчитывают с.з. в ходе, скажем, реализации метода главных компонент)
- если какой-то извращенец требует только Excel - пишите программу на VB. Скорее всего метода Якоби, программа короче будет.
В. Вам нужно одно с.з., самое большое (и его с.в. - даже если не нужен - он сам получится).
- вот тут можно и Excel. Итерации по схеме $x_{n+1}=Ax_n$, с произвольным начальным значением вектора х и нормализацией на каждом шаге. После сходимости с.з. получается, как отношение норм векторов.

 
 
 
 Re: Собственные значения матрицы
Сообщение03.09.2013, 07:56 
Евгений Машеров в сообщении #760029 писал(а):
После сходимости с.з. получается, как отношение норм векторов.

Ну аккуратнее всё-таки -- вдруг ТС буквально это поймёт.

 
 
 
 Re: Собственные значения матрицы
Сообщение03.09.2013, 08:04 
Аватара пользователя
Евгений Машеров в сообщении #760029 писал(а):
Сложность задачи нахождения с.з. кубическая

Почему кубическая?!

 
 
 
 Re: Собственные значения матрицы
Сообщение03.09.2013, 08:37 
Pavia в сообщении #760036 писал(а):
Почему кубическая?!

Так природа захотела; почему -- не наше дело. Другой вопрос, что (говоря формально) сложность вообще бесконечна, т.е. в замкнутой форме решить задачу невозможно, а можно лишь приближённо, причём алгоритмы в любом варианте довольно сложны. Однако для исчерпания машинной точности действительно достаточно $O(n^3)$ операций.

 
 
 
 Re: Собственные значения матрицы
Сообщение03.09.2013, 10:44 
Аватара пользователя
ewert в сообщении #760034 писал(а):
Евгений Машеров в сообщении #760029 писал(а):
После сходимости с.з. получается, как отношение норм векторов.

Ну аккуратнее всё-таки -- вдруг ТС буквально это поймёт.


Ну, я надеюсь, что либо моё сообщение его просто наведёт на мысль прочесть про этот метод, либо попросит уточнений здесь, а не кинется делать сразу.

-- 03 сен 2013, 11:03 --

Pavia в сообщении #760036 писал(а):
Евгений Машеров в сообщении #760029 писал(а):
Сложность задачи нахождения с.з. кубическая

Почему кубическая?!


Ну, строго говоря, там бесконечный итеративный процесс. И оценки такого вида возможны лишь для отдельных этапов вычислений. Скажем, приведение к трёхдиагональному $O(n^3)$, а последующий расчёт QR-алгоритмом или делением пополам теоретически бесконечен. Но реально удовольствуются получением заданной точности. И для того же деления пополам при трёхдиагональной матрице получается и вовсе квадратично по n (и коэффициент, зависящий от точности).

 
 
 
 Re: Собственные значения матрицы
Сообщение03.09.2013, 22:16 
Спасибо за помощь!
Мне нужно сделать анализ методом главных компонент. Вручную невозможно. Пыталась с помощью надстройки Хемометрика в экселе, тоже не считается. В чем моя ошибка?

 
 
 
 Re: Собственные значения матрицы
Сообщение03.09.2013, 22:28 
Аватара пользователя
Может, помощнее средство взять? Я последние пару лет работаю со статистическим языком R, там эти главные компоненты находятся одной строкой.

Вот кусок кода с комментариями:
Код:
#-----------------------------------------------------------------------------------------
# применение метода главных компонент
prcomp(metal)->f; f$rotation->a # вычисление матрицы вращения
nov<- as.matrix(metal)%*%a # выполнение вращения


Здесь $metal$ - исходная матрица размером $9\times 53$, $nov$ - новые компоненты тех же 9 объектов.

 
 
 
 Re: Собственные значения матрицы
Сообщение04.09.2013, 08:45 
Аватара пользователя
Я думаю, что предел возможностей Excel, как таблицы - нахождение первой ГК. Степенным методом. Умножить матрицу на (вначале произвольный) вектор Х, затем вычислить норму полученного вектора, поделить на неё этот вектор и вновь подставить его в качестве вектора Х, пока не сойдётся (что, вообще говоря, не гарантировано, но получается почти всегда). Полученный вектор будет собственным, а вычисленная норма равна старшему собственному значению (которому соответствует вектор).
В принципе можно вычесть из корреляционной матрицы составляющую, соответствующую данным с.з. и с.в., и повторить для остатка. Но тут может накапливаться ошибка. Вторую и даже третью ГК, впрочем, для данной размерности можно надеяться получить достаточно точно.
Ну, можно Excel употребить, как субстрат, на котором растёт Visual Basic, и написать на нём (VB) программу расчёта (медленность счёта тут будет некритична). Роль Excel тут всё же несколько превысит роль топора в солдатском супе, он упростит ввод данных. Но и только.
А вообще - используйте специализированные статистические пакеты.

 
 
 
 Re: Собственные значения матрицы
Сообщение17.09.2013, 17:37 
Всем большое спасибо за оказанную помощь и поддержку. В итоге решила обрабатывать с помощью программы Statistica. Возник следующий вопрос: как задать в ней зависимый параметр? Задача состоит в том, чтобы узнать, как различные факторы влияют на рост растений. Но программа воспринимает рост как один из факторов, а не зависимую величину. Подскажите, в чем моя ошибка и как можно это исправить. :cry:

 
 
 
 Re: Собственные значения матрицы
Сообщение17.09.2013, 19:54 
Аватара пользователя
А может, Вам вообще нужен регрессионный анализ?

 
 
 
 Re: Собственные значения матрицы
Сообщение17.09.2013, 21:30 
Регрессионный уже сделала. Нужен именно факторный

 
 
 
 Re: Собственные значения матрицы
Сообщение17.09.2013, 21:35 
Аватара пользователя
А зачем? Как он выявляет зависимости? В крайнем случае, попробуйте найти главные компоненты без учёта параметра "рост".

 
 
 [ Сообщений: 17 ]  На страницу 1, 2  След.


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group