Реферати українською » Экономико-математическое моделирование » Ітераційний метод вирішення проблеми власних значень


Реферат Ітераційний метод вирішення проблеми власних значень


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

«>Численние методи економіки»

Тема: «>Итерационний метод розв'язання проблеми власних значень»

Новосибірськ, 2010


Запровадження

У цьому курсової роботі розглянутийитерационний метод розв'язання проблеми власних значень.Сходимостьитерационного процесу може дуже повільної. Причиною цього служить наявність нелінійного елементарного дільника, відповідного першому власному числу. Інша причина – це близькість другого власного числа до першого. І тут можна прискорити відповідність кількома методами. Однією з них метод скалярних творів, який розглянутий у цій роботі.

У методі скалярних творів число ітерацій, необхідні визначення максимального власного числа матриці, з цією точністю, скорочується майже вдвічі більше.

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

 


1.  Математична завдання

Цей метод особливо зручний стосовно симетричній матриці, проте спробуємо викласти його самотужки припущення. У основі методу лежать послідовності ітерацій вектора Y0 матрицями A і A’, транспонованої з А. Ці послідовності мають такий вигляд:

Y0, Y1=>A*Y0, Y2=A2*Y0, …, Y>k=A>k*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, Y>k):

(Y’>k, Y>k)=(A’>k*Y0, A>k*Y0)=(Y0, A>2k*Y0)=(b1*X’1+ … +bn*X’n, a1*l>2k1*X1+ … + + an*l>2kn*Xn)

Далі з властивостейортогональности інормированности системи векторів маємо:

(Y’>k, Y>k)=a1*b1*l>2k1+ … + an*bn*l>2kn (3).

Аналогічно:

(Y’>k-1, Y>k)=a1*b1*l>2k-11+ … + an*bn*l>2k-1n (4).

Можна бачити, що з рівностей (3) і (4) отримуємо:


(Y’>k, Y>k)/(Y’>k-1, Y>k) = l1 +O(l2/l1)2>k.

З цієї оцінки видно, що освіта скалярного твори скорочує число кроків ітерацій, потрібних визначення максимального власного l1, з цією точністю, майже вдвічі більше. Однак цьому потрібно додаткове обчислення послідовності (2).

Слід зазначити, у разі симетричній матриці, послідовності (1) і (2) збігаються, і у цьому випадку застосування методу скалярного твори доцільно. Починаючи з деякого кроку ітерації, потрібно вираховуватимуть відповідні скалярні твори визначати l1 через їхні стосунки.

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

Програма, реалізує аналізований метод, розроблено у середовищіМа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) %висновок графіка значень власного числа заданої матриці під часитерационного процесу

>pause;

>plot (>mout,yout)%вивод графіка значень власного вектора, відповідного власному числу

>Подпрограммаsobstv.m

У цьомуподпрограмме відбувається обчислення максимального власного числа і одержувачів відповідного йому власного вектора. Значення власного числа кожному кроці заноситься в L, результат множення матриці а на поставлене вектор заноситься вyn. Час виконання ітерацій одноt, кількість ітерацій – >m.

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

>function [>mout,Lout,yout]=sobstv (>fun,yn,L1,ed,trace);

>a=feval(fun);%визов матриці, описаної в файлі безпосередньо з ім'ямmatrsp

>m=0; %обнуління лічильника ітерацій

>Lout=L1;mout=m;yout=yn';

>L=0; %присвоювання початкового значення рішення

>iftrace

>clc,yn,m,L1% висновок значення рішень поки що

end

>t0=fix(clock); %завдання початковій точку відліку часу виконання ітерацій

>while (>abs (>L1-L)>ed) %завдання циклу

>yn1=yn;

>yn=a*yn;

>L=L1;

>L1=(yn'*yn)/(yn1'*yn); %обчислення власного числа

>y=yn/sqrt (>yn'*yn);%вичисление власного вектора

>iftrace

>home, y,m,L1%вивод поточних значень на екран

end %поки що ітерацій

>m=m+1;%увеличение лічильника ітерацій

>Lout=[Lout;L1]; %формування вихідних параметрів

>mout=[mout;m];

>yout=[yout; y'];

end

>t1=fix(clock); %значення кінцевого моменту часу

>t=t1-t0%время виконання ітерацій

>pause;

>Подпрограммаfun.m

У цьомуподпрограмме задається матриця a.

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

>functiona=fun

%>Изменяемая користувачем частина

>a=[1.255 1.340 -1.316 0;

1.340 2.526 0 0.516;

-1.316 0 -1.743 4.628;

0 0.516 4.628 0.552];

3.  Опис тестових завдань

У цьому роботі спроектована програма, реалізує метод скалярного твори в галузі перебування максимального власного числа матриці. Для перевірки пропонується перебування власних чисел (векторів) симетричній матриці. У цьому досліджується вплив вектора початкового наближення до вирішення і значення припустимою помилки тимчасово обчислень і кількість ітерацій.

Знайдемо власні значення вихідної матриці, використовуючи функціюeig.

Одержимо

>L1= -5.5251

0.2841

3.4399

4.3911

 

Рішення вихідної завдання

Вихідні дані:

>yn=[1,1,1,1];

>ed=0.00001;

>a=[1.255 1.340 -1.316 0;

1.340 2.526 0 0.516;

-1.316 0 -1.743 4.628;

0 0.516 4.628 0.552];

Дані, отримані і під час програми:

y = -0.1501m = 34L1 = -5.5251t = 0

-0.0135

-0.7853

0.6005


Графік значень власного числа заданої матриці під часитерационного процесу

Графік значень власного вектора, відповідного власному числу

 


Зміна максимальної припустимою помилки

Збільшимо значення припустимою помилки

Вихідні дані:

>yn=[1,1,1,1];

>ed=0.0001;

>a=[1.255 1.340 -1.316 0;

1.340 2.526 0 0.516;

-1.316 0 -1.743 4.628;

0 0.516 4.628 0.552];

Дані, отримані і під час програми:

y = 0.1491m = 29L1 = -5.5253t = 0

0.0136

0.7880

-0.5972

Графік значень власного числа заданої матриці під часитерационного процесу/


Графік значень власного вектора, відповідного власному числу

>Уменьшим значення припустимою помилки

Вихідні дані:

>yn=[1,1,1,1];

>ed=0.000001;

>a=[1.255 1.340 -1.316 0;

1.340 2.526 0 0.516;

-1.316 0 -1.743 4.628;

0 0.516 4.628 0.552];

Дані, отримані і під час програми:

y = 0.1498m = 39L1 = -5.5251t = 0

0.0135

0.7862

-0.5994

Графік значень власного числа заданої матриці під часитерационного процесу

Графік значень власного вектора, відповідного власному числу


Зміна початкового наближення власного вектора

Збільшимо значення початкового наближення, тобто.отдалим від кінцевого рішення.

Вихідні дані:

>yn=[2,3,3,2];

>ed=0.00001;

>a=[1.255 1.340 -1.316 0;

1.340 2.526 0 0.516;

-1.316 0 -1.743 4.628;

0 0.516 4.628 0.552];

Дані, отримані і під час програми:

y = -0.1501m = 32L1 = -5.5251t = 1

-0.0135

-0.7853

0.6004

Графік значень власного числа заданої матриці під часитерационного процесу/


Графік значень власного вектора, відповідного власному числу

>Уменьшим значення початкового наближення, тобто. наблизимо від кінцевого рішення.

Вихідні дані:

>yn=[1,0,1,0];

>ed=0.00001;

>a=[1.255 1.340 -1.316 0;

1.340 2.526 0 0.516;

-1.316 0 -1.743 4.628;

0 0.516 4.628 0.552];

Дані, отримані і під час програми:

y = 0.1496m = 25L1 = -5.5251t = 0

0.0135

0.7866

-0.5989

Графік значень власного числа заданої матриці під часитерационного процесу/

Графік значень власного вектора, відповідного власному числу


Розглянемо інші приклади:

Вихідні дані:

>yn=[1,1,1];

>L1= 0.01

>edop=0.00001;

>a=[1 1 1;

2 3 4;

0 4 0];

Знайдемо власні значення вихідної матриці, використовуючи функціюeig. Одержимо

>L1= 6.2085

0.4794

-2.6879

Отриманий результат:

y = 0.2565m =13L1 =6.2085t =0

0.8125

0.5235


Графік значень власного числа заданої матриці під часитерационного процесу

Графік значень власного вектора, відповідного власному числу

Так при завданні початкового наближення, який би далеке від точного рішення,итерационний процес розходиться. Якщо значення початкового наближення вибрано близько до точному рішенню, тоитерационний процес сходиться, і що ближче вектор початкового наближення до точному рішенню, тим за менше ітерацій сходитьсяитерационний процес.

Вибір помилки ітерації також впливає число ітерацій, і навіть тимчасово рахунки. За зменшення значення припустимою помилки число ітерацій збільшується, що необхідне отримання точнішого значення власного числа. І, навпаки, зі збільшенням значення припустимою помилки число ітерацій зменшується, а власне число матриці має як близьке значення.


Укладання

За виконання даної праці були розглянуті теоретично та практично основні характеристики методу скалярних творів перебування максимального власного числа симетричній матриці і одержувачів відповідного йому вектора власних значень. Метод відрізняється простотою і вимагає занадто складних обчислень, що є істотним перевагою.


Список літератури

1. Саричева О.М.Численние методи економіки:Конспект лекцій />НГТУ – Новосибірськ, 1995. – 65 з.

2. ВілкінсДж.Х.Алгебраическая проблема власних значень. – Наука, М. 1970.

3.ФаддеевД.К.,Фаддеев В.І. Обчислювальні методи лінійної алгебри М.Физматиздат, 1963.


Схожі реферати:

Навігація