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

Застосування методу простої ітерації

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

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

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

Рік:
2018
Тип роботи:
Лабораторна робота
Предмет:
Інформаційні технології у видавничій справі
Варіант:
11

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

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА” ІКТА кафедра ЗІ З В І Т до лабораторної роботи №3 з курсу:“ Інформаційні технології ” на тему:“ Застосування методу простої ітерації ” Варіант №11 Мета роботи - навчитись використовувати середовище МАТЛАБ для реалізації методу простої ітерації. ЗАВДАННЯ У всіх завданнях k – номер варіанту (наданий викладачем або остання цифра номера залікової книжки студента). Завдання. Методом простої ітерації обчислити квадратний корінь із  — значення функції  при  із відносною похибкою ε =1%. При обчисленнях використовувати рекурентну формулу для  із [3, с.30]:  Провести перевірку правильності обчислень в Ms Excel. Скрипт-файл fprintf('Xn=1\n'); k=11; z=k+7; a=k*(z^3)+(k-1)^2; pohybka=0.01; Xn=1; n=0; Xn_plus_1=1/2*(Xn+a/Xn); while abs(Xn-Xn_plus_1)>pohybka Xn=Xn_plus_1; Xn_plus_1=1/2*(Xn+a/Xn); Korin=Xn_plus_1; pohubka=abs((Xn_plus_1-Xn)/Xn_plus_1)*100; if(((Xn_plus_1-Xn)/Xn_plus_1)*0.01<pohybka) n=n+1; end; end; fprintf('a=%.3f\n',a); fprintf('Korin=%.3f\n',Korin); fprintf('pohubka=%.8f',pohubka); fprintf('%%\n') fprintf( 'n = %i \n', n); fprintf('Xn=10\n'); k=11; z=k+7; a=k*(z^3)+(k-1)^2; pohybka=0.01; Xn1=10; n=0; Xn_plus_1=1/2*(Xn1+a/Xn1); while abs(Xn1-Xn_plus_1)>pohybka Xn1=Xn_plus_1; Xn_plus_1=1/2*(Xn1+a/Xn1); Korin=Xn_plus_1; pohubka=abs((Xn_plus_1-Xn1)/Xn_plus_1)*100; if(((Xn_plus_1-Xn1)/Xn_plus_1)*0.01<pohybka) n=n+1; end; end; fprintf('Korin=%.3f\n',Korin); fprintf('pohubka=%.8f',pohubka); fprintf('%%\n') fprintf( 'n = %i \n', n); fprintf('Xn=50\n') k=11; z=k+7; a=k*(z^3)+(k-1)^2; pohybka=0.01; Xn2=50; n=0; Xn_plus_1=1/2*(Xn2+a/Xn2); while abs(Xn2-Xn_plus_1)>pohybka Xn2=Xn_plus_1; Xn_plus_1=1/2*(Xn2+a/Xn2); Korin=Xn_plus_1; pohubka=abs((Xn_plus_1-Xn2)/Xn_plus_1)*100; if(((Xn_plus_1-Xn2)/Xn_plus_1)*0.01<pohybka) n=n+1; end; end; fprintf('Korin=%.3f\n',Korin); fprintf('pohubka=%.8f',pohubka); fprintf('%%\n') fprintf( 'n = %i \n', n); fprintf('Xn=100\n') k=11; z=k+7; a=k*(z^3)+(k-1)^2; pohybka=0.01; Xn3=100; n=0; Xn_plus_1=1/2*(Xn3+a/Xn3); while abs(Xn3-Xn_plus_1)>pohybka Xn3=Xn_plus_1; Xn_plus_1=1/2*(Xn3+a/Xn3); Korin=Xn_plus_1; pohubka=abs((Xn_plus_1-Xn3)/Xn_plus_1)*100; if(((Xn_plus_1-Xn3)/Xn_plus_1)*0.01<pohybka) n=n+1; end; end; fprintf('Korin=%.3f\n',Korin); fprintf('pohubka=%.8f',pohubka); fprintf('%%\n') fprintf( 'n = %i \n', n); fprintf('Xn=200\n') k=11; z=k+7; a=k*(z^3)+(k-1)^2; pohybka=0.01; Xn4=200; n=0; Xn_plus_1=1/2*(Xn4+a/Xn4); while abs(Xn4-Xn_plus_1)>pohybka Xn4=Xn_plus_1; Xn_plus_1=1/2*(Xn4+a/Xn4); Korin=Xn_plus_1; pohubka=abs((Xn_plus_1-Xn4)/Xn_plus_1)*100; if(((Xn_plus_1-Xn4)/Xn_plus_1)*0.01<pohybka) n=n+1; end; end; fprintf('Korin=%.3f\n',Korin); fprintf('pohubka=%.8f',pohubka); fprintf('%%\n') fprintf( 'n = %i \n', n); fprintf('Xn=1000\n') k=11; z=k+7; a=k*(z^3)+(k-1)^2; pohybka=0.01; Xn5=1000; n=0; Xn_plus_1=1/2*(Xn5+a/Xn5); while abs(Xn5-Xn_plus_1)>pohybka Xn5=Xn_plus_1; Xn_plus_1=1/2*(Xn5+a/Xn5); Korin=Xn_plus_1; pohubka=abs((Xn_plus_1-Xn5)/Xn_plus_1)*100; if(((Xn_plus_1-Xn5)/Xn_plus_1)*0.01<pohybka) n=n+1; end; end; fprintf('Korin=%.3f\n',Korin); fprintf('pohubka=%.8f',pohubka); fprintf('%%\n') fprintf( 'n = %i \n', n); fprintf('Xn=10000\n') k=11; z=k+7; a=k*(z^3)+(k-1)^2; pohybka=0.01; Xn6=10000; n=0; Xn_plus_1=1/2*(Xn6+a/Xn6); while abs(Xn6-Xn_plus_1)>pohybka Xn6=Xn_plus_1; Xn_plus_1=1/2*(Xn6+a/Xn6); Korin=Xn_plus_1; pohubka=abs((Xn_plus_1-Xn6)/Xn_plus_1)*100; if(((Xn_plus_1-Xn6)/Xn_plus_1)*0.01<pohybka) n=n+1; end; end; fprintf('Korin=%.3f\n',Korin); fprintf('pohubka=%.8f',pohubka); fprintf('%%\n') fprintf( 'n = %i \n', n); Результат роботи програми MatLab Xn=1 a=64252.000 Korin=253.480 pohubka=0.00001920% n = 11 Xn=10 Korin=253.480 pohubka=0.00000033% n = 8 Xn=50 Korin=253.480 pohubka=0.00055662% n = 5 Xn=100 Korin=253.480 pohubka=0.00031917% n = 4 Xn=200 Korin=253.480 pohubka=0.00000748% n = 3 Xn=1000 Korin=253.480 pohubka=0.00001255% n = 5 Xn=10000 Korin=253.480 pohubka=0.00046076% n = 8 Скріншот від обчислень в Excel / Висновки: на цій лабораторній роботі я навчився використовувати середовище МАТЛАБ для реалізації методу простої ітерації. Також я встановив, що кількість ітерацій найменша при початковому наближенні, яке знаходиться найближче до значення кореня.
Антиботан аватар за замовчуванням

20.11.2018 17:31

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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