, j)
end
T (i, j) = (A (i, j)-sm)/T (i, i)
end
end
end
end
Y = zeros (s, 1)
Y (1) = B (1)/T (1,1)
for i = 2: s
sm = 0
for k = 1: (i-1)
sm = sm + T (k, i) * Y (k)
end
sm
Y (i) = (B (i)-sm)/T (i, i)
end
X = zeros (s, 1)
X (s) = Y (s)/T (s, s)
for m = 1: (s-1)
i = s-m
sm = 0
for k = (i +1): s
sm = sm + T (i, k) * X (k)
sm
end
X (i) = (Y (i)-sm)/T (i, i)
end
else
error ('B не відповідає матриці А ')
end
else
error ('det А = 0')
end
end
Опис тестових завдань
Результатом розробки програми є етап реалізації і тестування методу квадратних коренів. На етапі виконання програми може з'являтися неточність отриманого рішення через помилки обчислення (наприклад, помилки округлення ЕОМ). Досліджуємо вплив мірності матриці A, її обумовленості, розрідженості на точність отриманого рішення. Результат будемо оцінювати по невязке Оµ = Ax * - b (x * - отримане рішення). Для цього розглянемо різного роду матриці:
Гј вплив мірності матриці А;
Розглянемо матриці мірності 2'2, 3'3, 4'4 та 5'5. Задамо матрицю мірність 2'2:
, їй відповідно задамо, в результаті виконання програми отримаємо рішення:
X =
Оµ =
Задамо матрицю розмірністю 3'3:
, їй відповідно задамо, в результаті виконання програми отримаємо рішення:
X =
Оµ =
Задамо матрицю розмірністю 4'4:
, їй відповідно задамо, в результаті виконання програми отримаємо рішення:
X =
Оµ =
Задамо матрицю розмірністю 5'5:
, їй відповідно задамо, в результаті виконання програми отримаємо рішення:
X =
Оµ =
Порівняємо отримані результати, для цього проаналізуємо точність отриманого рішення. Результат ми можемо оцінити двома способами і, де E - матриця, отримана в результаті підстановки знайденого рішення в систему лінійних алгебраїчних рівнянь: Е = A * xb. Проілюструємо результати графічно. Для цього була розроблена програма в середовищі Matlab 6.5.
E2 = input ('Введіть матрицю Е2 =');
E3 = input ('Введіть матрицю Е3 =');
E4 = input ('Введіть матрицю Е4 =');
E5 = input ('Введіть матрицю Е5 =');
Q1 = sqrt (sum (power (E2, 2)));
Q2 = sqrt (sum (power (E3, 2)));
Q3 = sqrt (sum (power (E4, 2)));
Q4 = sqrt (sum (power (E5, 2)));
Q = [Q1 Q2 Q3 Q4];
abs (E2);
abs (E3);
abs (E4);
abs (E5);
a1 = max (abs (E2));
a2 = max (abs (E3));
a3 = max (abs (E4));
a4 = max (abs (E5));
A = [a1 a2 a3 a4];
E = [2 3 4 5];
plot (Q, E)
pause
plot (A, E)
На основі проведеного аналізу та ілюстрації графіків можна зробити висновок, що зі збільшенням мірності матриці збільшується неточність рішення.
Гј вплив обумовленості матриці А;
Для дослідження візьмемо матрицю наступного виду, яку надалі будемо заповнювати нулями, простежуючи результат зміни помилки:
, їй відповідно задамо
X =
-6.1000
-2.2000
-6.8000
-0.9000
0.2000
E =
-0.0389
-0.7994
0.2665
-0.0888
0.0888
, їй відповідно задамо
X =
-0.7869
-1.3706
-2.1805
-0.0204
1.5371
E =
0
0
0.2665
0
0
, їй відповідно задамо
X =
-0.4950
0.1575
5.0050
4.7700
-5.5025
E =
0
0
0
-0.7105
0.4441
, їй відповідно задамо
X =
-4.1125
1.0263
-1.0750
1.2947
-1.2313
E =
-0.0444
0
0.0888
-0.0888
0.1776
, їй відповідно задамо
X =
0.5000
1.0263
1.6667
1.2947
0.8250
E =
0
0
0.8882
-0.8882
0
Чіткої тенденції простежити неможливо, хоча видно на основі запропонованої матриці А, що з збільшення числа нулів, присутніх в матриці, точність рішення збільшується, тому зменшується число елементів задіяних в обчисленні, то і знижується помилка обчислень.
Гј обумовленість матриці А;
Задамо матрицю з практично рівними елементами. У наслідку будемо збільшувати її розмірність.
, їй відповідає
X =
-1.6499
-1.6501
E =
0
-0.9313
, їй відповідає
X =
-1.6522
0.7500
2.3978
E =
0
0.1863
0
, їй відповідає
X =
0.0018
2.4041
2.3978
0.0033
E =
-0.0167
0.0371
-0.0371
-0.3558
Обумовленість матриці знижує помилку обчислень у матриць з більш високою розмірністю, тобто з збільшенням розмірності розрядженою матриці її точність збільшується (помилка обчислень знижується).
Аналіз результатів
Підводячи підсумки можна зробити наступний висновок. Точність розв'язання залежить як від обумовленості, розрідженості і мірності матриці, так і в цілому комбінація цих складових впливає на точність отриманого рішення. Хоча в деяких випадках однозначної відповіді дати неможливо, оскільки точність залежить ще й від того, наскільки громіздкі були обчислення, і як багато потрібно заокруглень, а також чи всі були враховані недоліки. А також якщо коріння будуть близькі до цілим коріння, то і точність рішення буде вище.
Висновок
В даній контрольній роботі був проаналізований один з методів розв'язання систем лінійних алгебраїчних рівнянь: метод квадратних коренів. Метод був запропонований для рішення системи Ax = b, де матриця A - симетрична, хоча не виключено, що метод може використовуватися і не для симетричних матриць, тоді вихідну систему можна привести до вигляду AA Вў x = b A Вў, отриману систему легко можна вирішити методом квадратних коренів.
Також в даній системі були проаналізовані різного роду матриці, і їх вплив на точність отриманого рішення. Грунтуючись на отриманих висновках, можна контролювати в яких конкретно моментах зручно вирішувати систему лінійних алгебраїчних рівнянь методом квадратних, а коли краще використовувати інший метод.
Література
1. Державні стандарти. ІТ. комплекс стандартів і керівних документів на АС. Видання офіційне. Комплект стандартизації та метрології СРСР. М. - 1991.
2. Копченова Н.В., Марон І.А. Обчислювальна математика в прикладах і задачах. М.: В«НаукаВ», 1972.
3. Піссанецкі С. Технологія розряджених матриць. - М.: Мир, 1988.
4. Саричева О.М. Чисельні методи в економіці: Конспект лекцій. Новосибірськ: НГТУ, 1995.
5. Чисельні методи. Методичні вказівки. НГТУ, 2002.