3853

Обчислення означених інтегралів

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

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

Обчислення означених інтегралів Мета роботи: вивчити методи наближених обчислень і запрограмувати алгоритми обчислення означених інтегралів. Короткі теоретичні відомості Формули прямокутників. Нехай на відрізку задана неперервна функція . Потрібно о...

Украинкский

2012-11-09

79 KB

9 чел.

Обчислення означених інтегралів

Мета роботи: вивчити методи наближених обчислень і запрограмувати алгоритми обчислення означених інтегралів.

Короткі теоретичні відомості

Формули прямокутників.

Нехай на відрізку задана неперервна функція . Потрібно обчислити інтеграл

Розіб’ємо відрізок  на n  рівних частин точками , i=0,1,…n-1, довжина кожної з яких дорівнює  . Через  позначимо значення функції  в точках  і складемо суми

 або  

            Кожна з цих сум є інтегральною сумою для  на відрізку і тому наближено виражають означений інтеграл:

                                                       (1)

                                                                  (1/)

            Ці формули називаються формулами прямокутників.

2. Формула трапецій.

                                          (3)

            3. Формула парабол (Сімпсона).

4. Формула трьох восьмих:

  Якщо в формулі Ньютона-Котеса взяти n = 3, тобто функцію f(x) замінити інтерполяційним багаточленом третього степеня, побудованим за значення функції f(x) у точках x0=a, x1=a+h, x2=a+2h, x3=b, h=(b-a )/3. то одержимо таку квадратурну формулу:

де

Ця квадратурна формула називається малою квадратурною формулою трьох восьмих. Використовуючи цю формулу, легко записати велику квадратурну формулу трьох восьмих.

Варіант 17

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

Заданий інтеграл обчислити наближено та точно.

1.

2.

3.

Текст програми:

//---------------------------------------------------------------------------

#include <vcl.h>

#include <math.h>

#pragma hdrstop

#include "IntegralUn.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm1 *Form1;

//---------------------------------------------------------------------------

__fastcall TForm1::TForm1(TComponent* Owner)

 : TForm(Owner)

{  }

//---------------------------------------------------------------------------

float __fastcall TForm1::func(float arg1, float arg2=0)

{

 switch(RadioGroup1->ItemIndex)

 {

   case 0: return (sin(arg1/17))/(cos(arg1/17));

   case 1: return arg2*(sin(arg1/17))/(cos(arg1/17));

   case 2: return atan(17*sin(arg1));

 }

}

void __fastcall TForm1::Edit1KeyPress(TObject *Sender, char &Key)

{

 if ((Key < '0' || Key > '9') && Key != 8 && Key != ',' && Key != '-') Key= 0;

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)

{

 int i, part = StrToFloat(Edit5->Text);

 float xa = StrToFloat(Edit1->Text),

       xb = StrToFloat(Edit2->Text),

       ya = StrToFloat(Edit4->Text),

       yb = StrToFloat(Edit3->Text),

       S=0;

 int k1=0,k2=0;

 float xh;

if(RadioGroup1->ItemIndex!=1)

{

 //ліві

 xh=(xb-xa)/part;

 for (i=0;i<part;i++)

   S+=func(xa+i*xh)*xh;

 LabeledEdit1->Text=FloatToStrF(S,ffFixed,14,6);

 //праві

 S=0;

 for (i=1;i<=part;i++)

   S+=func(xa+i*xh)*xh;

 LabeledEdit2->Text=FloatToStrF(S,ffFixed,14,6);

 //середні

 S=0;

 for (i=0;i<part;i++)

   S+=func(((xa+(i+1)*xh)+(xa+i*xh))/2)*xh;

 LabeledEdit3->Text=FloatToStrF(S,ffFixed,14,6);

 //трапеції

 S=0;

 for (i=1;i<part;i++)

   S+=func(xa+i*xh);

 S+=(func(xa)+func(xb))/2;

 S*=(xb-xa)/part;

 LabeledEdit4->Text=FloatToStrF(S,ffFixed,14,6);

 //парабола

 S=0;

 xh=(xb-xa)/(2*part);

 for (i=1;i<2*part;i++)

 {

   if (i%2) S+=4*func(xa+i*xh);

   else S+=2*func(xa+i*xh);

 }

 S+=func(xa)+func(xb);

 S*=xh/3;

 LabeledEdit5->Text=FloatToStrF(S,ffFixed,14,6);

 //три-восьмих

 S=0;

 xh=(xb-xa)/(3*part);

 for (i=1;i<3*part;i++)

 {

   if (i%3) S+=3*func(xa+i*xh);

   else S+=2*func(xa+i*xh);

 }

 S+=func(xa)+func(xb);

 S*=3/(float)8*xh;

 LabeledEdit6->Text=FloatToStrF(S,ffFixed,14,6);

 //Монте-Карло

   srand(time(NULL));

   rand();

 S=0;

 part=1000000;

 xh=(xb-xa)/(3*part);

 for (i=0;i<part;i++)

 {

   float x = (float)rand()/(float)RAND_MAX*xb+xa,

         y = (float)rand()/(float)RAND_MAX*100-50;

   if ((func(x)>=0) && (y>=0) && (y<=func(x))) k1++;

   if ((func(x)<0)  && (y<0) && (y>func(x))) k2++;

 }

 S=(xb-xa)*100*k1/part-(xb-xa)*100*k2/part;

 LabeledEdit7->Text=FloatToStrF(S,ffFixed,14,6);

}

else

{

 //Монте-Карло

   srand(time(NULL));

   rand();

 S=0;

 part=1000000;

 k1=0,k2=0;

 xh=(xb-xa)/(3*part);

 for (i=0;i<part;i++)

 {

   float x = (float)rand()/(float)RAND_MAX*xb+xa,

         y = (float)rand()/(float)RAND_MAX*yb+ya,

         z = (float)rand()/(float)RAND_MAX*100-50;

   if ((func(x,y)>=0) && (z>=0) && (z<=func(x,y))) k1++;

   if ((func(x,y)<0)  && (z<0) && (z>func(x,y))) k2++;

 }

 S=(xb-xa)*(yb-ya)*100*k1/part-(xb-xa)*(yb-ya)*100*k2/part;

 LabeledEdit7->Text=FloatToStrF(S,ffFixed,14,6);

}

}

//---------------------------------------------------------------------------

Результат виконання програми:

Висновок: На цій лабораторній роботі я вивчив методи наближених обчислень і запрограмувати алгоритми обчислення означених інтегралів.


 

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

23598. Метаязыки формального описания семантических структур 17.5 KB
  Метаязыки формального описания семантических структур. Семантические метаязыки различаются: по объекту который они описывают морфема лексема словосочетание предложение текст в целом. по аспекту языковой структуры который они отражают: парадигматический аспект синтагматический аспект Сходимость МЯ возможность переводить с одного МЯ на другой. значение словосочетаний исследуется в парадигматическом аспекте при помощи тех же МЯ описания что и лексемы в синтагматическом плане: язык лексических параметров и функций Апресян понятие...
23599. Автоматизация анализа письменного текста: основные подходы к решению проблемы 16 KB
  ТБД автоматизированная система инвентаризации и машинного представления терминологической лексики и ее семантизации в системах машинного и человекомашинного речевого общения. Научные задачи: моделирование терминологической системы РЯ как системы подсистем построение общенаучных и общетеоретических тезаурусов исследование русской терминологии Типы традиционного использования ТБД: справочноинформационное обслуживание специалистов различных областей знания обеспечение традиционного перевода научнотехнической литературы обеспечение АСОТ...
23600. Когнитивная лингвистика и ее основные исследовательские программы 19.5 KB
  Когнитивная лингвистика и ее основные исследовательские программы. Когнитивная наука некий раздел научного знания центральное понятие которого знание и репрезентация исследовательская дисциплина изучающая устройство человеческого сознания используя различные способы репрезентации и компьютерную метафору совокупность современных эмпирических знаний направленных на поиск ответов на давние эпистимологические вопросы особенно о природе знания Когнитивная лингвистика подход который допускает в лигвитсике применение методов когнитивной...
23601. Понимание речи 32.5 KB
  Системы понимания речи СПР имеют дело со связанными единицами речи такими как фразы предложения и даже параграфы так как понимание изолированных слов может означать только тривиальный процесс сопоставления некоторого значения к каждому слову словаря системы. Понимание связанной речи очень сложная задача и на проект СПР повлияли исследования в таких разных областях как акустическая обработка сигнала нейрофизиология психолингвистика психология. СПР была создана чтобы понимать всего нескольких дикторов одного диалекта производя...
23602. Автоматический морфологический анализ. Соотношение словаря и анализа 12.5 KB
  Автоматический морфологический анализ. Соотношение словаря и анализа. Автоматический морфологический анализ АМА анализ отдельно взятой словоформы и всех тех сведений которые из нее можно извлечь безотносительно к тому относятся ли эти сведения к морфологии или нет. АМА определяется двумя факторами: 1 тип ЕЯ подвергаемого анализу 2 тип алгоритма авт.
23603. Сущность прикладной лингвистики как особого подхода к языковым явлениям. Характерные черты прикладных методик 12.5 KB
  Методология прикладного исследования должна учитывать многоаспектность многоуровневость открытость языкового механизма. Методология совокупность общих принципов определяющая способ исследования какоголибо явления; определяет взгляд на объект как к нему подойти; философские принципы исследования явлений. Метод определенный тип способа исследования определяемый инструментами которые используются при изучении объекта исследования метод компьютерного моделирования статистический метод Собственно лингвистические методы:...
23604. Понятие репрезентации в науках о языке и мышлении человека 16 KB
  Операционная система MSDOS основные группы команд. Функции ОС: управление памятью управление вводомвыводом управление файловой системой управление взаимодействием процессов диспетчеризация процессов защита и учет использования ресурсов обработка командного языка MSDOS Microsoft: PCDOS IBM вариант MSDOS DRDOS Digital Research совместима с MSDOS; OS2 для машин IBM PS2 series UNIX Macintosh OS MAINFRAMES . Модульная структура MSDOS: 1. IBMDOS.
23605. СЕМАНТИЧЕСКИЕ СЕТИ 46.5 KB
  Выразительная сила больше не является решающим аргументом в пользу выбора сетей или линейных форм записи поскольку идеи записанные с помощью одной формы записи могут быть легко переведены в другую. Надписи над дугами означают что собака является агентов гложения кость является объектом гложения а жадность это манера гложения. В этом предложении сообщено что когда предложение While a dog was eating a bone являлось истинным второе предложение A cat passed unnoticed также является истинным. На рисунке 3 показано что собака...
23606. Теория фреймов 22.5 KB
  Впервые была представлена Минским как попытка построить фреймовую сеть или парадигму с целью достижения большего эффекта понимания . Минский разработал такую схему в которой информация содержится в специальных ячейках называемых фреймами объединенными в сеть называемую системой фреймов . Новый фрейм активизируется с наступлением новой ситуации .