Читать курсовая по финансовому менеджменту, финансовой математике: "Итерационный метод решения проблемы собственных значений" Страница 1

назад (Назад)скачать (Cкачать работу)

Функция "чтения" служит для ознакомления с работой. Разметка, таблицы и картинки документа могут отображаться неверно или не в полном объёме!

Курсовая работа

«Численные методы в экономике»

Тема: «Итерационный метод решения проблемы собственных значений» Новосибирск, 2010

Введение В данной курсовой работе рассмотрен итерационный метод решения проблемы собственных значений. Сходимость итерационного процесса может быть очень медленной. Причиной этого является наличие нелинейного элементарного делителя, соответствующего первому собственному числу. Другая причина – это близость второго собственного числа к первому. В этом случае можно ускорить сходимость несколькими методами. Одним из них является метод скалярных произведений, который рассмотрен в данной работе.

В методе скалярных произведений число итераций, необходимых для определения максимального собственного числа матрицы, с данной точностью, сокращается почти вдвое.

математический итерационный метод программный

    Математическая постановка задачи

Этот метод особенно удобен в применении к симметричной матрице, однако попробуем изложить его без этого предположения. В основе метода лежат последовательности итераций вектора Y0 матрицами A и A’, транспонированной с А. Эти последовательности имеют следующий вид: Y0, Y1=A*Y0, Y2=A2*Y0, …, Yk=Ak*Y0, … (1)

Y0, Y’1=A’*Y0, Y’2=A’2*Y0, …, Y’k=A’k*Y0, … (2) Пусть b1, …, bn координаты вектора Y0 в базисе X’1, …, X’n, a1, …, an координаты Y0 в базисе X1, …, Xn. При этом предположим, что базисы выбраны так, что система векторов X1, X2, …, Xn и X’1, …, X’n удовлетворяет условиям ортогональности и нормированности.

Образуем скалярное произведение (Y’k, Yk): (Y’k, Yk)=(A’k*Y0, Ak*Y0)=(Y0, A2k*Y0)=(b1*X’1+ … +bn*X’n, a1*2k1*X1+ … + + an*2kn*Xn) Далее в силу свойств ортогональности и нормированности системы векторов имеем: (Y’k, Yk)=a1*b1*2k1+ … + an*bn*2kn (3). Аналогично: (Y’k-1, Yk)=a1*b1*2k-11+ … + an*bn*2k-1n (4). Можно видеть, что из равенств (3) и (4) получаем:

(Y’k, Yk)/(Y’k-1, Yk) = 1 + O(2/1)2k. Из этой оценки видно, что образование скалярного произведения сокращает число шагов итераций, нужных для определения максимального собственного 1, с данной точностью, почти вдвое. Однако при этом требуется дополнительное вычисление последовательности (2).

Следует отметить, что в случае симметричной матрицы, последовательности (1) и (2) совпадают, и поэтому в этом случае применение метода скалярного произведения особенно целесообразно. Начиная с некоторого шага итерации, нужно вычислять соответствующие скалярные произведения и определять 1 через их отношения.

    Описание программного обеспечения

Программа, реализующая рассматриваемый метод, разработана в среде МаtLab, предназначенной для выполнения математических операций. Она состоит из головной программы и 2х подпрограмм, вызываемых из основной программы.

Головная программа (main.m)

В основной программе задается начальное приближение yn, начальное значение собственного вектора L1 и значение допустимой ошибки ed.

Текст программы:

clc %очистка экрана

yn=[1; 1; 1; 1]; %задание начального приближения собственного вектора

L1= -5.5251;%начальное значение собственного числа матрицы

ed=0.00001; %значение допустимой ошибки

trace=1; %установка режима вывода на экран

[mout, Lout, yout]= sobstv ('fun', yn, L1, ed, trace);%вызов функции, реализующей метод скалярных произведений

plot (mout, Lout) %вывод графика значений собственного числа


Интересная статья: Быстрое написание курсовой работы