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.


 

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

42506. Налаштування початкової конфігурації комутатора Cisco Catalyst 2960 409 KB
  Налаштування початкової конфігурації комутатора Мета: Налаштування початкової конфігурації комутатора Cisco Ctlyst 2960. Загальні відомості підготовка В даній лабораторній роботі Pcket Trcer описується налаштування клієнтського комутатора Cisco Ctlyst 2960. Буде розглянуте налаштування наступних параметрів комутатора...
42507. Исследование эффекта Зеебека 85 KB
  В двух разнородных металлах при различных температурах спаев возникает термоЭДС которая объясняется зависимостью энергии Ферми от температуры и возникновением градиента концентрации электронов в проводнике при наличии градиента температуры. ТермоЭДС обусловленная зависимостью уровней Ферми от температуры называется контактной: 11. ТермоЭДС обусловленная возникновением градиента концентрации при наличии градиента температуры в проводнике называют диффузионной диф. Суммарная термоЭДС...
42508. Тип запись. Массивы записей 187 KB
  Тип запись. При выполнении работы необходимо знать: Что такое тип запись Как правильно объявить тип запись и переменные типа запись Как обращаться к полям записи Как организовать работу с массивом записей Теоретический минимум: Тип запись представляет собой сложный структурированный тип данных и включает в себя ряд компонент называемых полями которые могут быть различных типов. Пример объявления типа запись: type Dt=record {название типа запись Dt дата } Yer: integer; {поле год...
42509. Изучение зависимости сопротивления электролитов от температуры 128.5 KB
  При отсутствии внешнего электрического поля ионы в электролите совершают тепловое движение. При наличии поля положительные ионы приобретают добавочную скорость в направлении электрического поля, а отрицательные ионы − добавочную скорость в противоположном направлении. На тепловое движение накладывается переносное движение ионов, и в растворе возникает электрический ток.
42510. Определение коэффициента вязкости жидкости 101 KB
  При движении плоских слоев сила трения между ними согласно закону Ньютона где  коэффициент пропорциональности называемый коэффициентом вязкости или динамической вязкостью; S площадь соприкосновения слоев. Соседние слои движутся с меньшими скоростями и следовательно между слоями жидкости возникает сила внутреннего трения. Стокс показал что эта сила при малых значениях скорости пропорциональна скорости движения шарика  и его радиусу r: 1 где...
42511. Изучение зависимости сопротивления металлов от температуры 135.5 KB
  К проводникам первого рода относятся металлы. Металлы обладают электронной проводимостью. Это означает, что носителями электричества в них являются свободные электроны. Если к участку проводника 1 рода приложена разность потенциалов, то на хаотическое движение электронов накладывается их упорядоченное движение.
42512. Изучение работы электронного осциллографа 126.5 KB
  Осциллограф состоит из электронно-лучевой трубки, генератора развёртки, блока синхронизации, двух усилителей, блока питания. В некоторых осциллографах имеется генератор меток времени. Принципиальная схема осциллографа показана на рис. 14.1. Осциллографы применяются во многих отраслях науки и техники, в частности, в электро- и радиотехнике, механике, акустике, медицине, биологии и др. Осциллограф даёт возможность наблюдать процессы длительностью 10−8 … 10−7 с.
42513. Физические основы работы ионных приборов 101.5 KB
  Положительные ионы под действием поля устремляются к катоду, бомбардируют его поверхность и вырывают из катода вторичные электроны (поверхностная ионизация). Такое явление называется вторичной эмиссией. Возникающие электроны вторичной эмиссии, ускоряемые полем, также включатся в процесс объёмной ионизации газа.
42514. Изучение релаксационных электрических колебаний с помощью электронного осциллографа 113.5 KB
  Основная особенность неоновой лампы заключается в том что она начинает проводить ток только при определённой разности потенциалов Uз между её электродами. Если напряжение на электродах лампы U Uз ток через лампу не идёт так как неон является диэлектриком. В этом случае внутреннее сопротивление Ri лампы очень велико. При разности потенциалов Uз которая называется потенциалом зажигания лампы происходит пробой диэлектрика − через лампу идёт ток.