DevioLab CRYPTO TRADING AUTOMATION
LIVE
AUTOMATED CRYPTO TRADING • BINANCE
Автоматизуйте свій криптопортфель
Торгові боти DevioLab аналізують крипторинок, автоматично відкривають і закривають позиції та керують вашим портфелем на Binance 24/7.
CRYPTO 80 Bots
BINANCE Spot Trading
TRADING 24 / 7
Спробувати DevioLab
deviolab.com

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
КН
Кафедра:
Не вказано

Інформація про роботу

Рік:
2016
Тип роботи:
Розрахунково - графічна робота
Предмет:
Чисельні методи

Частина тексту файла (без зображень, графіків і формул):

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”  Розрахунково-графічна робота з курсу "Чисельні методи" Підготував: студент групи КН-23 Мельник Юрій Перевірив: к.т.н., доцент кафкдри САПР Денисюк П.Ю. Львів-2014 МЕТА РОБОТИ Мета роботи – закріпити знання отримані при вивченні курсу «Чисельні методи в інформатиці» та ознайомитися з новими відомими чисельними методами. Завдання: Розв'язати систему лінійних алгебраїчних рівнянь методом Гаусса за схемою Халецького наведену у Додатку 1 згідно варіанту індивідуального завдання отриманого у викладача. Навести хід розв’язку. Здійснити перевірку розв’язку СЛАР за допомогою 2 ітерацій методом простої ітерації. Написати програму. 19. Побудувати графік функції наведеної у додатку 2 згідно варіанту індивідуального завдання отриманого у викладача. На заданому інтервалі для 5 різних точок побудувати інтерполяційний поліном (степінь див. додаток 2). За допомогою інтерполяційного полінома дослідити вплив степені полінома на точність одержаних результатів. Написати программу  Дати розгорнуту відповідь на контрольні запитання наведені у додатку. 37. Метод простих інтерацій. Метод Зейделя. 9.Інтеполітаційний поліном Ерміта.Програмна реалізація. Хід роботи: I. Для виконання даного завдання нам потрібно виконати ряд дій: Спочатку заповнюємо таблицю коефіцієнтів і таблицю вільних членів, відповідно до завдання; Отримуємо розв’язок системи рівнянь за методом Гауса Задаємо точність обчислення для методу простих ітерацій; Знаходимо розв’язки системи рівнянь за допомогою методу простих ітерацій, а також ітерацію, на якій цей розв’язок було знайдено; Результати даних дій почергово виводяться на екран, для методу простих ітерацій на екран виводяться матриці знормованої системи; Аналізуємо отримані результати; Код програми в середовищі MATLAB: clear all; clc; disp('Таблиця коефіцієнтів:') A 11 -2 -2 -1; -1 -9 2 -3; -6 -1 -14 8; 2 -3 -1 15] disp('Таблиця вільних членів:') B=[ 3; 6; -10; -8] 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; ifabs(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 = 11 -2 -2 -1 -1 -9 2 -3 -6 -1 -14 8 2 -3 -1 15 Таблиця вільних членів: B = 3 6 -10 -8 Метод Гауса X = 0.1963 -0.4135 0.3043 -0.6219 Метод простих ітерацій Матриця A знормованої системи(A"A) 162 -13 58 -26 -13 95 3 -24 58 3 205 -131 -26 -24 -131 299 Матриця B знормованої системи(A"B) 71 -26 154 -221 Перевірка правильності розв'язків методом Гауса за схемою Халецького:    Ax=d , матриця С – нижня трикутна, В – верхня трикутна, причому діагональні коефіцієнти матриці В дорівнюють одиниці. Починаємо заповнювати матриці В та С., а також матрицю Y. Робимо це за такими загальними формулами:            Перевіривши обрахунки за даним методом ми отримали значення невідомих, які практично збігаються зі значеннями обрахованими у пограмі, оскільки при обрахунку вручну деякі значення були заокруглені. II. Для того щоб на заданому інтервалі для 5 різних точок побудувати інтерполяційний поліном 3 та 8 степенів, ми за допомогою середовища MATLAB, написали програму, де ми: Створюємо для зручності одразу два масиви точок для заданих проміжків, враховуючи точки інтерполяції та екстраполяції. Дані масиви при потребі будемо змінювати. Будуємо графік функції по точних значенням, враховуючи початкову умову: y = 0 при x < 2 та y = ln(x) при x >=2.; Створюємо також для зручності одразу два масиви точок для заданих проміжків для поліномів. Дані масиви при потребі будемо змінювати. Вибираємо наступні степені полінома n1 = 3; n2 =8; Обраховуємо за другою формулою Ньютона поліноми 3 та 8 степенів. Далі знаходимо абсолютні похибки поліномів різних степенів відносно точної функції; Знаходимо відносні похибки; Будуємо графік, де будуть зображені поліноми різних степенів та точна функція; Будуємо графік, де будуть відображатися абсолютні похибки. Повторюємо дії для другого інтервалу; Код програми: clear all; clc; format short; % Проміжок з точками екстраполяції [-3;5] x = [-3.15 -2 1 4 5.05]; % Проміжок з точками екстраполяції [5;10] % x = [4 6 7 9 11]; [r c] = size(x); for k = 1:c; T(k) = 1/(1+ 77*(x(k)).^2); end a =[-3 5]; % a =[5 10]; n =[3 8]; for ni = n; h = (a(2)-a(1))/ni; xi = a(1):h:a(2); [r1 c1] = size(xi); for m = 1:c1; y(m) = 1/(1+ 77*(x(m)).^2); end for j =1: c; for i=1:(ni+1); CH = x(j)-xi; ZN = xi(i) - xi; CH(i) = 1; ZN(i) = 1; L(i)=prod(CH)/prod(ZN)*y(i); end Li(j,ni) = sum(L) end % Абсолютна похибка AP(:,ni)=abs(T(:)-Li(:,ni)) % Відносна похибка VP(:,ni)=AP(:,ni)./T(:) end figure(1); plot(x,T,'b', x, Li(:,n(1)),'g-.', x, Li(:,n(2)),'rd--') legend('Точна функція','Поліном 4 степеня','Поліном 7 степеня') figure(2); plot(x, AP(:,n(1)),'g-.', x, AP(:,n(2)),'rd--') legend('Поліном 4 степеня','Поліном 7 степеня') title('Абсолютна похибка'); figure(3); plot(x, VP(:,n(1)),'g-.', x, VP(:,n(2)),'rd--') legend('Поліном 4 степеня','Поліном 7 степеня') title('Відносна похибка'); Результати: Для проміжку [5;10]  Рис. Графік точної функції та поліномів  Рис. Абсолютна похибка  Рис. Відносна похибка Для проміжку [-3;5]  Рис. Графік точної функції та поліномів  Рис. Абсолютна похибка  Рис. Відносна похибка Відповіді на контрольні запитання 37) . Метод простих інтерацій. Метод Зейделя. Використана література 1. Щуп Т. Решение инженерных задач на ЕВМ. – М.: Мир, 1982. – 235с. 2. Демидович Б. П., Марон И. А. Основы вычислительной математики. – М.: Наука, 1970. – 664 с. 3. Демидович Б. П., Марон И. А., Шувалова Е. З. Численные методы анализа. – М.: Мир, 1967Волков Е. А. Численные методы. – М.: Наука, 1988. 4. Мак – Кракен Д., Дрон У. Численные методы и програмирование на фортране. – М.: Мир, 1977. – 584 с. 5. Бахвалов Н. С. Численные методы . Т. И. Анализ, алгебра, обычные диференциальные уравнения. – М.: Наука, 1975. – 631 с.
Антиботан аватар за замовчуванням

23.05.2016 19:25

Коментарі

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

Ділись своїми роботами та отримуй миттєві бонуси!

Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!