Скачиваний:
9
Добавлен:
01.09.2021
Размер:
1.25 Mб
Скачать

НИЖЕГОРОДСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

им. Р.Е.АЛЕКСЕЕВА

Кафедра «Численное решение определенного интеграла»

Дисциплина «Информатика»

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

Вариант№23

Выполнил: Федоров К.Р. Группа 19-Э-5 Проверил: Лапшин И.В.

Нижний Новгород

2019

Постановка задачи:

Численно решить определенный интеграл … с числом разбиений n и определить разницу вычислений методами:

метод левых прямоугольников,

метод правых прямоугольников,

метод центральных прямоугольников,

метод трапеций,

метод Симпсона

Выполнить работу в C++ ; Exel ; Mathcad ; Ручной счет

Блок схема:

С++ код:

#include <iostream> #include<math.h> double f(double (x))

{return (x*sqrt(5*x*x+1));

}

using namespace std; int main()

{setlocale(LC_ALL, "Russian");

double a=1, b=2,h,S1=0,S2=0, I,Ia,Ib,Itoch,Summ=0,OPINION; int TOLKA;

int k = 0, n=10; h = (b - a) / n;

//Вычисление точного значения интеграла

Ia =(1/15.)*sqrt(pow((5*a*a+1),3)) ;

Ib = (1 / 15.)*sqrt(pow((5 * b*b + 1), 3)); Itoch = Ib - Ia;

cout << "Точное значение Integral =" << Itoch<<endl;

//Вычисление методом правых прямоугольников k = 1;

while (k <= n)

{OPINION = a + h * k;

Summ = Summ + f(OPINION);

k = k + 1;

}

I = Summ * h;

cout << "Методом правых Integral =" << I << " Ошибка= " << I - Itoch << endl; k = 0;

Summ = 0;

//Вычисление методом левых прямоугольников while (k < n)

{OPINION = a + h * k;

Summ = Summ + f(OPINION); k = k + 1;

}

I = Summ * h;

cout << "Методом левых Integral =" << I<<" Ошибка= "<<I-Itoch<<endl; k = 0;

Summ = 0;

//Вычисление методом центральных прямоугольников while (k < n)

{OPINION = a + h * k + 0.5*h; Summ = Summ + f(OPINION);

k = k + 1;

}

I = Summ * h;

cout << "Методом центральных Integral =" << I << " Ошибка= " << I - Itoch << endl; k = 0;

Summ = 0;

//Вычисление методом трапеций while (k <= n)

{OPINION = a + h * k;

if (k >= 1 && k < n) { Summ = Summ + f(OPINION); } else { Summ = Summ + 0.5 * f(OPINION); }

k = k + 1;

}

I = Summ * h;

cout << "Методом трапеций Integral =" << I << " Ошибка= " << I - Itoch << endl; k = 0;

//Вычисление методом Симпсона

for (k = 1; k <= (n - 1); k = k + 2)//вычисление нечетных

{OPINION = a + k * h;

S1 = S1 + f(OPINION);

}

for (k = 2; k < n; k = k + 2)//вычисление четных {OPINION = a + k * h;

S2 = S2 + f(OPINION);

}

I = (h / 3)*(f(a) + f(b) + 4 * S1 + 2 * S2); TOLKA = I - Itoch ;

cout << "Методом Симпсона Integral =" << I << " Ошибка= " << TOLKA << endl;

}

Exel:

Численное интегрирование

f(x) x

5 x x 1

 

 

a

b

n

1

2

10

 

 

 

i

x

f(x)

0

1

2,449489743

1

1,1

2,92070197

2

1,2

3,436277055

3

1,3

3,996310799

4

1,4

4,600869483

5

1,5

5,25

6

1,6

5,943736199

7

1,7

6,682102962

8

1,8

7,465118887

9

1,9

8,29279808

10

2

9,16515139

h

0,1

x+h/2

f(x+h/2)

1,05

2,679558

1,15

3,1729373

1,25

3,7107319

1,35

4,2930212

1,45

4,9198609

1,55

5,5912907

1,65

6,3073395

1,75

7,0680288

1,85

7,8733748

1,95

8,7233899

 

 

 

Метод

 

 

 

 

 

Интеграл

Ошибка

 

Метод правых прямоугольников

5,775307

0,3394966

 

Метод левых прямоугольников

5,103741

-0,33207

 

Метод центральных прямоугольников

5,433953

-0,001857

 

 

 

Метод трапеций

 

 

 

 

5,439524

0,0037135

 

 

 

Метод парабол

 

 

 

 

5,43581

0,0000

 

 

 

 

 

 

 

 

 

Нечет=

27,14191

 

 

 

 

 

 

 

3

 

 

 

 

 

 

2

 

2

 

 

Четн=

21,446

 

 

f(x) dx 5 x

1

 

 

 

 

 

 

 

int_f(x)

 

 

 

 

 

 

 

 

 

15

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Точное значение

 

 

 

 

 

 

 

 

int(a)

 

int(b)

int(b)-int(a)

 

 

 

0,979796

 

6,415606

5,435810076

 

 

 

Matchad:

 

 

 

 

 

 

 

 

 

 

 

a 1

b 2

f (x) x

5 x x 1

 

 

 

 

 

 

n 10

h (b

a)

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

i 0 n

xi a i h

 

 

 

 

 

 

 

 

 

xi

f xi

 

 

 

 

 

 

 

 

 

 

1

2.449

 

 

10

 

 

 

 

 

 

1.1

2.921

 

 

 

 

 

 

 

 

 

1.2

3.436

 

 

8

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1.3

3.996

 

 

 

 

 

 

 

 

 

1.4

4.601

 

f xi

6

 

 

 

 

 

 

1.5

5.25

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1.6

5.944

 

 

 

 

 

 

 

 

 

1.7

6.682

 

 

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1.8

7.465

 

 

 

 

 

 

 

 

 

1.9

8.293

 

 

21

1.2

1.4

 

1.6

1.8

2

2

9.165

 

 

 

 

 

 

xi

 

 

 

 

 

 

 

 

 

 

 

 

 

Т о ч н о е з н а ч е н и е о п р е д е л е н н о г о и н т е г р а л а

 

 

 

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

 

 

2

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

п е р в ы й с п о с о б

 

f (x) dx 5 x

1

 

 

 

 

int_f (x)

 

Int int_f (b) int_f (a) 5.436

 

 

 

 

 

 

15

 

 

в т о р о й с п о с о б

2

 

 

 

 

 

 

 

 

I

x x x 5

1 dx 5.436

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

М е т о д п р а в ы х п р я м о у г о л ь н и к о в

 

 

 

 

 

n

 

 

 

 

 

 

 

 

t a a

0.01 b

 

 

 

 

 

 

 

 

 

 

 

 

prav f xi h

prav

5.775

 

10

 

 

 

 

i

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f xi

8

 

 

 

 

O_prav prav I 0.339

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f xi

6

 

 

 

 

 

 

 

 

 

 

f (t)

4

 

 

 

 

 

 

 

 

 

 

 

21

1.5

2

2.5

 

 

 

 

 

 

 

 

 

xi 1 xi t

 

Соседние файлы в папке Информатика 2 семестр МОРОЗОВСКАЯ