4642

Наближені обчислення, рекурентні співвідношення, обґрунтування коректності

Лабораторная работа

Информатика, кибернетика и программирование

Наближені обчислення, рекурентні співвідношення, обґрунтування коректності Постановка задачі Завдання:Обчислити значень функції на інтервалі Результати оформити у вигляді таблиці...

Украинкский

2012-11-23

108.5 KB

15 чел.

Наближені обчислення, рекурентні співвідношення, обґрунтування коректності

  1.  Постановка задачі

Завдання: Обчислити  значень функції = на інтервалі 

Результати оформити у вигляді таблиці 1:

 

 

 

 Похибка

 

 

Маємо:

 - наближені значення функції значення функції , обчислені за допомогою стандартних функцій компілятора;

- наближені значення функції , обчислені за допомогою певного степеневого ряду ;

похибка – величина ;

- кількість ітерацій або кількість членів в частковій сумі відповідного ряду.

Вказівки:

  •  кількість точок на інтервалі   не менше 10, розподіл точок не має значення (може бути як рівномірним, так і випадковим);
  •  для тригонометричних функцій значення аргументу приводити до величини ;
  •  для показникових функцій виділяти цілу частину аргументу, а ряди використовувати тільки для дробової частини;
  •  у якості точності  взяти “машинний нуль”  в околі 1.0 ;
  •  змінні з індексами не використовувати.
  1.  
    Аналіз задачі

План

  1.  Зчитуємо з екрану n-необхідну кількість обчислень.
    1.  Знаходимо машинний нуль
    2.  Для кожно значення х (вибираємо n значень з відомого інтервалу)
    3.   за формулою Тейлора розкладаємо як

3.1) Знаходимо наближені значеня функції f(x), обчислені за допомогою стандартних функцій компілятора

3.2) Знаходимо наближені значеня функції f(x), обчислені за допомогою певного степеневого ряду, записуючи рекурентне співвідношення. В циклі створюємо лічильник, щоб порахувати кількість ітерацій.

3.3) Знаходимо похибку: р =

3.4)Виводимо результати в таблицю.


3)
Лістинг програми

#include<stdio.h>

#include<math.h>

#include<conio.h>

main()

{

float x, a, b, fx, gx, p, n, m;

float s;

int k=1;

clrscr();

 while (1+s !=1)

 s=s/2;

printf("");

printf("┌───┬─────┬────┬────┬──┐\n");

printf(" x f(x) ┼ g(x)  Похибка┼ n ┤\n");

printf("├───┼─────┼────┼────┼──┤\n");

for (x=0.523; x<=0.785; x+=0.025 )

{

n=sin(x);

m=sqrt(x);

fx=n+m;

a=x;

k=2;

gx=sqrt(x)+a;

p=s;

while (k>=2 && s<=p)

 {

 a=-(a*(x*x/(2*n-2)*(2n-1)));

 g(x)=g(x)+a;

 p=fabs(gx-fx);

 k++;

 }

printf(" ├ %.3f │ %.2f │ %.2f │ %.8f │ %u ┤\n", x, fx, gx, p , k);}

printf(" └────┴────┴────┴────┴────┘\n");

return(0);

}

**Використовуємо змінні:

х – аргумент;

fx обчислюється за допомогою стандартних функцій компілятора;

gx – рекурентне співвідношення;

р – похибка;

s – машинний нуль;

k – кількість ітерацій;

4)Тестування програми

Тестування виконане для 10 значень із даного інтервалу, результати подані в таблиці.

У середовищі Turbo C вони виглядають ось так:


5. Документування програми

Мова інтерфейсу програми – англійська.

1)Інсталяція та виконання програми

Для використання програму необхідно запустити. Вона виведе таблицю результатів.

2) Склад пакету

Пакет включає в себе - source файл: лабораторної роботи та відкомпільовану програму

3) Використання програми

Програма потребує вводу одного натурального числа – кількості значень функції.

На виході програма виводить таблицю, що складається з таких стовпчиків:

Х – значення х;

F(x) – значення функції, знайдене за допомогою стандартних функцій компілятора;

G(x) – значення функції, обчислене за допомогою певного степеневого ряду, з використанням рекурентної функції;

ПОХИБКА – похибка;

n – кількість ітерацій при обчисленні.

 6. Висновок

 Під час виконання поставлених завдань було реалізоване знаходження функції за допомогою стандартних функцій компілятора та з використанням ітераційної формули, було проведене тестування та від лагодження побудованої програми та її наступне документування. Точність обчислення даної функції стандартними засобами компілятора майже не відрізняється від обчислення її за допомогою формули, тому що обрана формула обчислення використовується в FPU процесора. Похибка, якщо вона існує, близька до машинного нуля. Але бачимо, що з невеликим збільшенням Хn, відповідно з’являється похибка, яка завжди однакова. Це може бути недолік формули або АЛП комп’ютера. Але при невеликих значеннях ця похибка може нехтуватися. Також плюс у обчисленні цією формулою – швидкість у декілька кроків.

 7. Література

1) В. В. Зубенко, Г. А. Кияшко. Методичні рекомендації до виконання практичних і лабораторних робіт з дисципліни «Програмування» - К.: «Київський університет», 2005.

2) Б. Керниган, Д. Ритчи. «Мова програмування СІ » - М.: Фінанси і статистика,1992.

3) Т. А. Павловська. «С\С++. Програмування мовою високого рівня» - М.: 2005.


 

А также другие работы, которые могут Вас заинтересовать

50733. Изучение теории погрешностей и кинематики материальной точки 49 KB
  Наитии кинематический закон движения точки. Спроецируем точки на координатные оси рис.1 с учётом масштаба и выпишем таблицу значений координат точки.
50734. Теоретичні основи теплотехніки 144.5 KB
  Лабораторна робота №1 Визначення термічного ККД електричної печі опору Мета роботи: експериментально визначити величини теплових потоків в процесі нагрівання метала в різних температурних діапазонах і розрахувати ККД печі. Технічна характеристика електропечі Номінальна потужність кВт 25 025 Номінальна температура ˚С 900 Розміри робочого простору мм довжина ширина висота 200 160 80 Час досягнення номінальної температури без завантаження хв. не більше...
50735. ЕКСПЕРИМЕНТАЛЬНЕ ПОБУДОВА СТАТИЧНИХ ХАРАКТЕРИСТИК ЕЛЕМЕНТІВ СИСТЕМИ 765.5 KB
  Вивчити призначення приладів і перемикачів по рис. Побудувати статичні характеристики обєкта регулювання і регулятора. Короткі відомості необхідні для виконання роботи Статичною характеристикою елемента називається залежність вихідної координати від вхідної знята на сталих режимах.
50736. Інтерполяційні формули через розділені різниці 66 KB
  Мета. Навчитися знаходити значення функції при даному значенні аргумента, використовуючи інтерполяційні формули Нютона через розділені різниці. Обладнання. Лист формату А4, ручка, програмне забезпечення С++.
50737. Формули Нютона через кінцеві різниці 108.5 KB
  Мета. Навчитися обчислити значення функції при даному значенні аргумента, використовуючи формули Н’ютона через кінцеві різниці. Обладнання. Лист формату А4, ручка, олівець, програмне забезпечення С++.
50738. Финансовый контроль в бюджетных организациях 706 KB
  Цель и задачи работы обосновать значимость финансового контроля в комплексе государственных мероприятий РФ; провести анализ процесса финансового контроля, выявить проблемы, присущие этим процессам и обозначить возможные направления их решения
50739. Знаходження значення інтеграла по формулам Ньютона-Котеса 33.5 KB
  Мета. Навчитися знаходити значення інтеграла по формулам Ньютона-Котеса. Скласти програму. Устаткування: папір формату А4, ПК, С++.
50740. Знаходження інтеграла за формулами прямокутників 33.5 KB
  Мета. Навчитися знаходити значення інтегралу за формулами прямокутників. Скласти програму. Устаткування. папір формату А4, ПК, С++
50741. Знаходження інтегралу за формулами трапецій 31 KB
  Мета. навчитися знаходити значення інтегралу за формулами трапецій. Скласти програму. Устаткування: папір А4, ручка, ПК, програмне забезпечення С++.