ОБЧИСЛЕННЯ СУМ ФУНКЦІОНАЛЬНИХ РЯДІВ

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

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

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

Рік:
2015
Тип роботи:
Лабораторна робота
Предмет:
Інформаційні технології

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

Міністерство освіти і науки України Національний університет "Львівська політехніка"  Лабораторна робота №5 ОБЧИСЛЕННЯ СУМ ФУНКЦІОНАЛЬНИХ РЯДІВ Мета роботи: засвоїти методику та виробити практичні навики застосування циклів для обчислення значень шляхом поступового накопичення. Завдання 1 : Розрахувати значення заданої елементарної функції f(x) безпосередньо за формулою та як суму функціонального ряду (f(x)=, де an = xn(n!). При обчисленні забезпечити похибку не більше за (= 10-4. Похибку оцінювати за абсолютною величиною наступного члену ряду. Значення аргументу x задано: X=0.0285. Аналіз завдання: Для того, щоб розрахувати значення функції як суму функціонального ряду і забезпечити похибку не більше ( потрібно зробити цикл. Для організації циклу в програмі можна використати оператори «while» , «for» і «do…while». Також потрібно, щоб цикл виконався хоча б один раз, для того треба використати цикл «do…while». У формулі для розрахунку an використовується факторіал, такої функції у бібліотеці math.h немає, тому цю функцію ми маємо реалізувати у програмі за допомогою циклу «for». Алгоритм програми:  Текст програми: #include <stdio.h> #include <stdlib.h> #include <math.h> #define D 0.0001 #define x 0.0285 int main(int argc, char *argv[]) { double y,an,delta,s; double fact=1; int i=1,n=0; puts("RT-11, Lojik Vitalij, Lab5 : FunkzionalnujRjad"); y=exp(x); s=pow(x,n)/fact; do { n++; for (i=1;i<=n;i++) fact=fact*i; an=pow(x,n)/fact; s=an+s; printf("#%d\tS=%0.5e\tx=%0.2f\tD=%0.4f\t\n", n, s, x, D); } while(an>=D); printf("\nx=%.5f\ty=%.6f\ts=%.6f\nD=%.5f\t an=%.6f\t n=%d\n",x,y,s,D,an,n); system("PAUSE"); return 0; } Результати:  Завдання 2 : Розрахувати значення M точок заданої елементарної функції f(x) безпосередньо за формулою та як суму функціонального ряду () в інтервалі [a;b] з кроком h. Межі обчислення та крок визначаються згідно формул:  , , . При обчисленні забезпечити похибку не більше за D. Похибку оцінювати за абсолютною величиною наступного члену ряду. Значення аргументу x0 задано.Результат вивести у формі таблиці. F(x)= ex , n0 =0, an =xnn!, x0=0.0285,  10-4 Блок – схема:  Текст програми: #include <stdio.h> #include <stdlib.h> #include <math.h> #define D 0.0001 #define x0 0.0285 int main(int argc, char *argv[]) { puts("Lojik Vitalii, RT-11"); puts("Laboratorna robota 5/2,Programuvan'a obchyslen'"); double S=1,an; double y, fact=1; double a, b, h, x; int i, n=0, M=10; a=x0-(x0/10); b=x0+(x0/10); h=(b-a)/(M-1); x=a; printf("\na=%0.4f\tb=%0.4f\th=%0.4f\n\n", a, b, h); do { do { n++; for (i=1; i<=(n); i++)fact*=i; an=pow(x,n)/fact; S+=an; } while(fabs(an)>=D); printf("y=%0.5f\tS=%0.5f\tx=%0.5f\tD=%0.4f\n", S, x, D); x=x+h; } while(x<b); system("PAUSE"); return 0; } Результати:  Висновок: Я навчився застосовувати цикли для для обчислення значень шляхом поступового накопичення. При створенні цієї програми я використав оператори циклу «for» і «do…while». Для того, щоб обчислити факторіал я використав цикл «for», а для обчислення функції як суму функціонального ряду – цикл «do…while».
Антиботан аватар за замовчуванням

20.04.2017 17:04-

Коментарі

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

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

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

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

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

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

Admin

26.02.2023 12:38

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