Диференціювання функції

Автор работы: Пользователь скрыл имя, 07 Мая 2013 в 22:30, курсовая работа

Описание работы

Об’єктом досліджень є друга інтерполяційна формула Ньютона для знаходження першої похідної функції. Розроблено ефективний алгоритм та програму мовою програмування Турбо Паскаль 7,0 обчислення другої похідної функції за допомогою другої інтерполяційної формули Ньютона. Алгоритм, що розроблений, є оптимальним за розміром пам’яті, необхідної для збереження даних, котрі обчислюються в ході виконання алгоритму та за кількістю арифметичних операцій для обчислення за основною формулою.

Содержание работы

ВСТУП ..............................................................................................................................5
АНОТАЦІЯ………………………………………………………………………………..4
1 АНАЛІЗ ТЕОРЕТИЧНОЇ БАЗИ ЧИСЕЛЬНОГО ДИФЕРЕНЦІЮВАННЯ
ФУНКЦІЇ ……………………………………………………………………………….....6
2 РОЗРОБКА АЛГОРИТМІВ ТА ВИБІР ОПТИМАЛЬНОГО АЛГОРИТМУ............11
3 ПРИКЛАД ПРОГРАМИ ОБЧИСЛЕННЯ ДРУГОЇ ПОХІДНОЇ функції за
допомогою ДРУГОю інтерполяційною формулою НЬЮТОНА.........15
3.1 Інструкція користувача ...................................................................................15
3.2 Лістинг програми.............................................................................................. 16
3.3 Опис програми………………………………………………………………...17
3.4 Тестування програми ......................................................................................18
ВИСНОВКИ ....................................................................................................................20
ПЕРЕЛІК ПОСИЛАНЬ

Файлы: 1 файл

Диференціювання функції.doc

— 873.50 Кб (Скачать файл)

 

3.1 Інструкція  користувача

 

Після виклику TURBO PASCAL із середовища Windows на екрані з'являється командне вікно  середовища TURBO PASCAL.

Це вікно є основним у TURBO PASCAL. У ньому відображаються символи команд, що набираються користувачем на клавіатурі, результати виконання цих команд, текст програми, що виконується, а також інформація про помилки виконання програми, яка розпізнана системою.

Ознакою того, що програма TURBO PASCAL готова до сприйняття і виконання чергової команди, є наявність в останньому рядку текстового поля вікна знака запрошення (»), після якого стоїть миготлива вертикальна риска.

У верхній частині командного вікна (безпосередньо під заголовком TURBO PASCAL Command Window) розташований рядок меню, що складається з чотирьох меню – File, Edit, Window і Help. Під головним меню розміщена панель інструментів з піктограмами, що дозволяють виконувати деякі найбільше часто використовувані операції.

1. Відкриття меню здійснюється  натисненням миші. Щоб вибрати будь-яку команду меню, досить установити курсор на імені команди і натиснути ліву кнопку миші.

2. Текст програми міститься в  одному файлі: файл основної  програми з іменем Nyton. Для відкриття його необхідно вибрати у меню File команду Open (Відкрити).

3. Вибір необхідного файлу з  цього списку і наступне натискання  кнопки OK приводить до появи вікна Редактора/Налагодження, який дає змогу не тільки коректувати програму, але і проводити її відладку. Запуск програми здійснюється вибором команди RUN.

4. В результаті запуску програми  з’явиться командне вікно, в  якому необхідно ввести значення  функції

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

 

 

Program newton_2pohid_1formula;

uses crt;

 

Type masyv = array[1..20] Of real;

 

Var i,j,n: integer;

    h,t,x,potr_znach,pohid,x1,chys: real;

    min_plus: -1..1;

    argum,ans: masyv;

 

  rizn: array[1..20,1..20] Of real;

 

Function faktorial(h:integer): longint;

 

Var k: integer;

  dob: longint;

Begin

  dob := 1;

  For k:=1 To h Do

    Begin

      dob := k*dob;

    End;

  faktorial := dob;

End;

 

Function sum(i:integer): real;

 

Var m: integer;

    tt: real;

Begin

   tt := n;

   For m:=1 To i Do

     Begin

       tt := tt*(n-i);

     End;

   tt := tt/faktorial(i);

   sum := tt;

End;

 

Begin

 

  i := 0;

  j := 0;

 

  h := 0.1;

 

{vedennja}

  writeln('Програма  обчислення другої похiдної функцiї');

  writeln('за  першою iнтерполяцiйною формулою  Ньютона');

  writeln('y=1/(x*sqrt(2*x^2+1)) ');

  writeln('Введiть  точку знаходження похiдної,');

  writeln('крiм  х=0');

  readln(x1);

  writeln('Введiть  кiлькiсть вузлiв заданої функцiї,  для формування таблицi значень  10..20');

  readln(n);

 

{Обрахунок значень  функцiї в вузлах}

  x := x1;

  For i:= 1 To n Do

    Begin

      ans[i] := 1/(x*sqrt(2*x*x+1)); {nasha funkcija}

      argum[i] := x;

      x := x+h;

    End;

 

{Обрахунок таблицi рiзниць}

 

  For i:= 1 To n-1 Do

    Begin

      For j:=1 To n-i Do

        Begin

          If i=1 Then rizn[i,j] := ans[j+1]-ans[j];

          rizn[i,j] := rizn[i-1,j+1]-rizn[i-1,j];

        End;

   End;

 

  t := (x-x1)/2;

 

{Виведення значень  фукнцii в точках}

  writeln('  X[i]       Y[i]');

  For i:= 1 To n Do

    Begin

      writeln(argum[i]:6:6,'   ',ans[i]:6:6);

    End;

  writeln('=====================');

 

{Знаходження  похiдної}

   min_plus := 1;

   pohid := 0;

   pohid := rizn[2,1]-rizn[3,1]+11/12*rizn[4,1]-5/6*rizn[5,1]+137/180*rizn[6,1];

   pohid := (1/(h*h))*pohid;

   For i:=6 To n Do

     Begin

       pohid := pohid+sum(i)*rizn[i,1];

     End;

 

     writeln('Друга  похiдна функцii у точцi ',x1:3:2,' дорiвнюе:');

     writeln(pohid:8:8);

  readln;

End.

 

3.3 Опис програми 

 

В даному підрозділі описані всі змінні та присвоєні їм певні значення, які необхідні для чисельного диференціювання функції. З метою ефективного використання пам’яті для збереження початкових значень системи, вони зберігаються в динамічній пам’яті ЕОМ. Це дозволяє відводити під них місце динамічного розміру в залежності від кількості заданих даних.

Файл V.pas містить описи структури методу та функції, що використовуються основною програмою, та описи внутрішніх операторів. Нижче наведено список загальних операторів, їх призначення та основні властивості.

Команда Program оголошує назву програми.

Команда var  відкриває опис даних програми.

Команда begin оголошує початок програми та її підпрограм.

Оператори read та readln використовуються для введення даних з клавіатури. Параметри цих даних яких можуть бути змінні цілого, дійсного та символьного типів. Оператор readln може бути без параметрів.

Оператори write та writeln використовуються для виведення інформації на екран монітора. Параметри цих даних можуть бути вирази цілого, дійсного символьного та булевського типів, а також рядки символів. Оператор writeln може бути без параметрів [10].

Оператор циклу for з параметром викликає  повторюване виконання оператора поки керуючій змінній присвоюється зростаюча послідовність значень.

Оператор умови if забезпечує вихід у виразі результату, що має стандартний булевський тип. Якщо результатом виразу є значення (True), то виконується оператор, що слідує за ключовим словом then.

Якщо результатом  виразу  є  значення False і є присутнім ключове слово else,  то виконується оператор, що слідує за ключовим словом else. Якщо ключове слово else відсутнє, то ніякий оператор не виконується.

Оператор циклу  з передумовою while містить у собі вираз, що керує повторним виконанням  оператора.

Вираз, за допомогою якого  здійснюється керування повторенням оператора,  повинен мати булевський тип.  Обчислення  його відбувається  до  того,  як  внутрішній оператор буде виконаний. Внутрішній оператор виконується повторно доти,  поки вираз приймає значення Тruе.  Якщо вираз із самого початку приймає значення False, то оператор, що міститься усередині оператора циклу з передумовою, не виконується [12].

 

 

 

 

 

 

 

 

 

 

           3.4 Результити роботи програми:

 

 

Обрахунок в систему Maple:

 

 

ВИСНОВКИ

 

1.  Проведено теоретичний аналіз  методу знаходження другої похідної за допомогою першої інтерполяційної формули Ньютона та її порівняння з іншими методами, яке показало, що цей метод є досить простим і економним у часі, а також на відміну від інших методів досить ефективний для обчислення значень в кінці таблиці.

2. Опираючись на теоретичну базу  було створенно ефективний алгоритм  знаходження другої похідної функції за данним методом, розраховано коефіцієнт ефективності розробленої програми, який становить 0,848.

3.   Реалізованно програму, написану на мові програмування Турбо Паскаль 7.0, що має зручний та наочний інтерфейс і максимально спрощує роботу.

4.  Здійснено тестування програми, яке підтвердило її правильну  та коректну роботу.

 

ПЕРЕЛІК ПОСИЛАНЬ

 

  1. Ильин В.А.,  Позняк Э. Г.  Основы математического анализа. - ч. II.- М.: Наука, 1980. – 50 с.
  2. Демидович Б.П., Марон И.А.   Основы вычислительной математики. – М.: Наука, 1970. – 664 с.
  3. Лайфура В.М.,  Голодницький Г.І., Файст Й.І.    Математика. – К.:Техніка, 2003. – 640 с.
  4. Копченова Н.В., Марон И.А.  Вычислительная математика в примерах и задачах. – М.: Наука, 1972. – 368 с.
  5. Турчак Л.И. Основы численных методов. – М.: Наука, 1987. – 158 с.
  6. Вержбицкий В.М. Численные методы. Математический анализ и обыкновенные дифференциальные уравнения. – М.: Высшая школа, 2001. – 356 с.
  7. Воробьева Г.Н., Данилова А.Н. Практикум по вычислительной матиматике. – М.: Высшая школа, 1990. – Ч.2. – 158с.   
  8. Полия Г.В., Сеге Г.А. Теория функций. – М.: Наука, 1978. – 345 с.
  9. Буслов В.А., Яковлев С.Л. Численные методы ІІ. Решение уравнений. Курс лекций. – Санкт-Петербург.: Наука, 2001. – 225 с.
  10. Бахвалов Н.С., Жидков Н.П., Кобельников Г.М. Численные методы. -  М.: Наука, 1987. – 158 с.
  11. Хаусхолдер А.С. Основы численного анализа. – М.: Наука, 1953. – 175 с.
  12. Методичні вказівки до виконання курсової роботи з дисципліни "Обчислювальна математика" для студентів спеціальностей "Мікроелектроніка та напівпровідникові прилади" та "Електронні прилади та пристрої" / Уклад. Крилик Л.В., Прокопова М.О. – Вінниця : ВНТУ, 2007. – 38 с.
  13. А.И. Гусева   Учимся программировать : Pascal 7.0. Задачи и методы решения. – М.: Диалог МИФИ, 2000. – 143 с.
  14. Фаронов В.В. Turbo Pascal 7. 0. - М.: Наука, 1978. – 53 с.

Информация о работе Диференціювання функції