трусики женские украина

На головну

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

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

«Чисельні методи в економіці»

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

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

Введення

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

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

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

1. Математична постановка задачі

Цей метод особливо зручний у застосуванні до симетричної матриці, проте спробуємо викласти його без цього припущення. В основі методу лежать послідовності ітерацій вектора 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 * l2k1 * X1 + ... + + an * l2kn * Xn)

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

(Y'k, Yk) = a1 * b1 * l2k1 + ... + an * bn * l2kn (3).

Аналогічно:

(Y'k-1, Yk) = a1 * b1 * l2k-11 + ... + an * bn * l2k-1n (4).

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

(Y'k, Yk) / (Y'k-1, Yk) = l1 + O (l2 / l1) 2k.

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

if trace

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);% обчислення власного вектора

if trace

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.

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

function a = 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.1501 m = 34 L1 = -5.5251 t = 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.1491 m = 29 L1 = -5.5253 t = 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.1498 m = 39 L1 = -5.5251 t = 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.1501 m = 32 L1 = -5.5251 t = 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.1496 m = 25 L1 = -5.5251 t = 0

0.0135

0.7866

-0.5989

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

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

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

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

yn = [1,1,1];

L1 = 0.01

edop = 0.00001;

a = [1 1 січня;

2 3 4;

0 4 0];

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

L1 = 6.2085

0.4794

-2.6879

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

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

0.8125

0.5235

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

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

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

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

Висновок

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

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

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

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

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

Авіація і космонавтика
Автоматизація та управління
Архітектура
Астрологія
Астрономія
Банківська справа
Безпека життєдіяльності
Біографії
Біологія
Біологія і хімія
Біржова справа
Ботаніка та сільське господарство
Валютні відносини
Ветеринарія
Військова кафедра
Географія
Геодезія
Геологія
Діловодство
Гроші та кредит
Природознавство
Журналістика
Зарубіжна література
Зоологія
Видавнича справа та поліграфія
Інвестиції
Інформатика
Історія
Історія техніки
Комунікації і зв'язок
Косметологія
Короткий зміст творів
Криміналістика
Кримінологія
Криптологія
Кулінарія
Культура і мистецтво
Культурологія
Логіка
Логістика
Маркетинг
Математика
Медицина, здоров'я
Медичні науки
Менеджмент
Металургія
Музика
Наука і техніка
Нарисна геометрія
Фільми онлайн
Педагогіка
Підприємництво
Промисловість, виробництво
Психологія
Психологія, педагогіка
Радіоелектроніка
Реклама
Релігія і міфологія
Риторика
Різне
Сексологія
Соціологія
Статистика
Страхування
Будівельні науки
Будівництво
Схемотехніка
Теорія організації
Теплотехніка
Технологія
Товарознавство
Транспорт
Туризм
Управління
Керуючі науки
Фізика
Фізкультура і спорт
Філософія
Фінансові науки
Фінанси
Фотографія
Хімія
Цифрові пристрої
Екологія
Економіка
Економіко-математичне моделювання
Економічна географія
Економічна теорія
Етика

8ref.com

© 8ref.com - українські реферати


енциклопедія  бефстроганов  рагу  оселедець  солянка