МІНІСТЕРСТВО ОСВІТИ НАУКИ, МОЛОДІ ТА СПОРТУ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ "ЛЬВІВСЬКА ПОЛІТЕХНІКА"
/
Розрахунково-графічна робота
з курсу "Чисельні методи"
                 Львів 2014
Мета роботи:
закріпити знання отримані при вивченні курсу «Чисельні методи в інформатиці» та ознайомитися з новими відомими чисельними методами.
Завдання:
Розв'язати систему лінійних алгебраїчних рівнянь методом Гаусса за схемою Халецького наведену у Додатку 1 згідно варіанту індивідуального завдання отриманого у викладача. Навести хід розв’язку. Здійснити перевірку розв’язку СЛАР за допомогою 2 ітерацій методом простої ітерації. Написати програму. 
16:
/
Побудувати графік функції наведеної у додатку 2 згідно варіанту індивідуального завдання отриманого у викладача. На заданому інтервалі для 5 різних точок побудувати інтерполяційний поліном (степінь див. додаток 2). За допомогою інтерполяційного полінома дослідити вплив степені полінома на точність одержаних результатів. Навести хід розв’язку. Написати програму
/
Дати розгорнуту відповідь на контрольні запитання наведені у додатку.
12. Особливості програмної реалізації інтерполяцiї з рiвновiддаленими вузлами.
40. Вiддiлення та уточнення коренiв.
Хід роботи:
I.  Для виконання даного завдання нам потрібно виконати ряд дій:
Спочатку заповнюємо таблицю коефіцієнтів і таблицю вільних членів, відповідно до завдання; 
 Отримуємо розв’язок системи рівнянь за методом Гауса
Задаємо точність обчислення для методу простих ітерацій;
Знаходимо розв’язки системи рівнянь за допомогою методу простих ітерацій, а також ітерацію, на якій цей розв’язок було знайдено;
Результати даних дій почергово виводяться на екран, для методу простих ітерацій на екран виводяться матриці знормованої системи;
Аналізуємо отримані результати;
Код програми:
clear all;
clc;
disp('Таблиця коефіцієнтів:')
A=[15 6 1 4; -2 12 4 -4; -4 4 15 4; 2 -5 -5 14]
disp('Таблиця вільних членів:')
B=[-4; 8; 4; 4]
r=4;
 
disp('Метод Гауса')
Od=rref([A B]);   %отримання одиничної матриці з розширеної
X=Od(1:r,(r+1)) %корені системи рівнянь
 
disp('Метод простих ітерацій')
%зведення системи до нормальної
AA=A'*A;
BB=A'*B;
e=0.00001;
t=0;
iter=0;
% кількість ітерацій
disp('Матриця A знормованої системи(A"A)');
disp(AA); %вивід матриці коефіцієнтів
disp('Матриця B знормованої системи(A"B)');
disp(BB); %вивід матриці вільних членів
NumIter=30;
for i=1:4,
    for j=1:4,
        if i==j
            c(i,j)=0;
        else
            c(i,j)=-AA(i,j)/AA(i,i);
        end;
    end;
end;
for i=1:4,
    d(i)=BB(i)/AA(i,i);
end;
for i=1:4,
    sum1=0;
    for j=1:4,
        sum1=sum1+c(i,j);
    end;
    s1(i)=sum1;
end;
for i=2:4,
    if s1(i)>sum1
        sum1=s1(i);
    end;
end;
if abs(sum1)<1
    for i=1:4,
        x0(i)=d(i);
    end;
    for i=1:4,
        s=0;
        for j=1:4,
            s=s+c(i,j)*x0(j);
        end;
        xk(i)=s;
    end;
    for i=1:4,
        xk(i)=xk(i)+d(i);
    end; 
    while((t<4)||(t>4))
        iter=iter+1;
    for i=1:4,
        x0(i)=xk(i);
        z(i)=x0(i);
    end;
    for i=1:4,
        s=0;
        for j=1:4,
            s=s+c(i,j)*z(j);
            xk(i)=s+d(i);
            z(i)=xk(i);
        end;
    end;
    t=0;
    for i=1:4,
        if(abs(xk(i)-x0(i))<e)
            t=t+1;
        end;
        if t==4
           for j=1:4,
              disp(['X',num2str(j),' = ', num2str(xk(j))]);
           end;
           disp(['Ітерація ',num2str(iter)]);
        end;
    end;
    end;
else
    disp('Система не вирішена');
end;
Результати:
Таблиця коефіцієнтів:
A =
    15     6     1     4
    -2    12     4    -3
    -4     4    15     4
     2    -5    -5    14
Таблиця вільних членів:
B =
    -4
     8
     4
     4
Метод Гауса
X =
   -0.7124
    0.7840
   -0.2834
    0.5663
Метод простих ітерацій
Матриця A знормованої системи(A"A)
   249    40   -63    78
    40   221   139   -66
   -63   139   267   -18
    78   -66   -18   237
Матриця B знормованої системи(A"B)
   -84
    68
    68
    32
X1 = -0.71235
X2 = 0.78395
X3 = -0.28335
X4 = 0.56626
Ітерація 23
Перевірка: 
Метод Гауса за схемаю Халецького
/