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.


 

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

37746. Ознайомлення з архітектурою мікроконтролерів фірми ATMEL 111.5 KB
  Основною ідеєю всіх RISC Reduced Instruction Set Computer як відомо є збільшення швидкодії за рахунок скорочення кількості операцій обміну з пам'яттю програм. Для цього кожну команду прагнуть вмістити в одну комірку пам'яті програм. При обмеженій розрядності елементу пам'яті це неминуче призводить до скорочення набору команд мікропроцесора. У VRмікроконтролерів відповідно до цього принципу практично всі команди крім тих у яких одним з операндів є 16розрядний адреса також упаковані в одну комірку пам'яті програм.
37747. Исследование переходных процессов при разряде конденсатора на резистор и индуктивную катушку 616 KB
  Выполнил: студент группы ПО 222 Принял: Преподаватель УФА – 2007 Цель: Исследовать апериодический колебательный разряд конденсатора на резистор и индуктивную катушку.002 202 1271 Формула Томсона: Вывод: Собрав цепь по 1 схеме установив емкость конденсатора 0. В опыте разряда конденсатора на индуктивность рассмотрели случай колебательного затухающего процесса определили период колебательного разряда.
37748. Социологическое понимание личности. Структура личности 15.77 KB
  Личность — это совокупность (система) социально значимых качеств, характеризующих индивида как члена того или иного общества, как продукт общественного развития. Это социальная характеристика человека, которая определяется мерой усвоения им социального опыта.
37750. Визначення перехідної і частотної характеристики систем 1.42 MB
  Мета роботи: Набути практичних навичок вивчення перехідної і частотних характеристик системи за їхніми передаточними функціями.
37751. КЛЮЧЕВОЙ РЕЖИМ РАБОТЫ ТРАНЗИСТОРА 136.97 KB
  Во время переходных процессов при переключении из одного статического состояния в другое транзистор работает в нормальном и инверсном активных режимах. ГТ Т1 г 1кн КК нк вых икэ и ч Основными параметрами переходных процессов являются: при включении ТК 1з время задержки и Сф длительность фронта а при выключении 1рас время рассасывания накопленного в базе заряда и 1с длительность среза. Время задержки {з = твх 1п 1 где твх =КбСвх ; 160 ЕБ1 начальное напряжение на Свх. Временные диаграммы работы транзисторного ключа Для...
37752. Исследование интерференционного светофильтра 402 KB
  Зеркала полупрозрачны так что часть света отражается от них R – коэффициент отражения часть поглощается А – коэффициент поглощения а часть проходит Т – коэффициент пропускания. Основные характеристики ИФ: mx – длина волны в максимального пропускания Tmx – максимальный коэффициент пропускания Tmin – минимальный коэффициент пропускания 05 – спектральная полуширина – ширина полосы на уровне 05Tmx 2 – угловая ширина светового пучка К – контраст – отношение максимального и минимального коэффициетов пропускания Т R А = 1 – для...