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.


 

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

35134. Альтернативная программная реализация выборки и модификации данных в базе данных Interbase 34.5 KB
  Конфигурируется ODBCисточник реализующий доступ к БД Interbse. В DBE dministrtor настраивается псевдоним БД доступной через BDE и представляющей собой в данном случае ODBCисточник. В отличие от 3го способа являющегося усовершенствованным подходом BDE 1й способ является более универсальным и более ресурсоемким в первую очередь по критерию времени поскольку представляет собой использование промежуточного уровня BDE и промежуточного уровня ODBC а 2й менее универсальным и менее ресурсоемким поскольку предполагает использование...
35135. Пример реализации трехзвенной архитектуры 39.5 KB
  Два разрабатываемых при этом программных компонента это сервер приложений и клиент взаимодействующие по протоколу DCOM. Разработка сервера приложений Основные шаги создания сервера приложений: Создание удаленного модуля данных Remote Dt Module. Однократный запуск программы с целью регистрации сервера приложений в реестре Windows. Для распределенного использования разработанных клиентского и серверного приложений требуется установка некоторых дополнительных программных компонент.
35136. Пример реализации обмена данными с Microsoft Excel 45.5 KB
  Создание новой книги Vrint MSBooks; MSBooks = MSExcel. Создание нового листа книги. Сохранение книги. Создание нового листа книги.
35137. Изучение формата баз данных Visual FoxPro 549.5 KB
  После заголовка таблицы следует цепочка 32байтовых описаний полей таблица 4.fmp Fp 01 1 YY Год последнего обновления таблицы Все 02 1 MM Месяц последнего обновления таблицы Все 03 1 DD День последнего обновления таблицы Все 04 4 RecordsCount Количество записей в таблице Все 08 2 HederSize Размер заголовка в байтах Все 10 2 RecordSize Размер записи в байтах Все 12 2 0x000x00 Зарезервировано Все 14 1 0x01 Начало транзакции D4 D5 0x00 Конец транзакции D4 D5 0x00 Игнорируется FS D3 Fb Fp CL 15 1 0x01 Закодировано D4 D5 0x00 Нормальная...
35138. Разработка файл-серверной информационной системы с использованием технологий Borland 47.5 KB
  Программное использование БД Простейший случай Для обращения к таблицам используются невизуальные компоненты TTble и TDtSource закладки Dt ccess и BDE палитры компонентов и ряд визуальных: TDBGrid TDBEdit TDBLookupComboBox и т. В компоненте TTble устанавливаются свойства TbleNme TbleType. В последнем случае псевдоним БД указывается в свойстве DtbseNme объекта TTble. В компоненте TDtSource устанавливается свойство DtSet как указатель на TTble.
35139. Поддержка сложных запросов в файл-серверной информационной системе с использованием технологий Borland 59.5 KB
  Способным работать независимо от того отсутствуют ли требуемые таблицы или наличествуют и заполнены данными. Например: SELECT fio FROM stud; выборка поля fio из всех записей таблицы stud SELECT fio n_spect FROM stud; выборка полей fio n_spect из таблицы stud SELECT FROM stud; выборка всех полей из таблицы stud SELECT s. FROM stud S s; выборка всех полей из таблицы stud с присваиванием таблице псевдонима s SELECT s.n_spect S spect FROM stud S s; выборка из таблицы stud полей fio и n_spect с присваиванием им...
35140. Использование встроенных средств SQL-сервера InterBase для создания и использования базы данных 127 KB
  оздание БД интерфейсными средствами WISQL. Выполняется путем использования функции WISQL File Create Database. Диалог создания БД показан на рисунке 1. В поле Location Info устанавливается переключатель Local Engine
35142. Программная реализация выборки и модификации данных в базе данных Interbase 56.5 KB
  При этом сохранение результатов редактирования выполняется путем вызова рассмотренной ранее функции pplyUpdtes класса TBDEDtSet и всех его потомков например компонента Query содержимое выборки которого редактируется и кэшируется которая выполняет отправку в БД закэшированных на клиентской стороне изменений. Пример реализации функции обработки события OnUpdteRecord: void __fstcll TDtModule1::Query1UpdteRecordTDtSet DtSet TUpdteKind UpdteKind TUpdtection Updtection { switch UpdteKind { cse ukModify: brek; cse ukInsert:...