Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
otchet1_1__1.docx
Скачиваний:
10
Добавлен:
23.03.2016
Размер:
973.49 Кб
Скачать

Численное решение обыкновенных дифференциальных уравнений

Задача: по исходным данным определить вид аппроксимирующей функции и найти её коэффициенты.

Решение в таблице:

После построения графика, вычислили координаты средних точек. Затем добавили их на график. Нашли наиболее близкую точку к экспериментальной кривой и определили тип зависимости. В нашем случае это .

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

Процедура численного интегрирования заключается в том, что отрезок [а;в]развивается наn-отрезков ,а затем подынтегральная ф-ция f(x) апроксимируется некоторой другой ф-цией,интеграл от которой вычисляется сравнительно просто.

Метод

Интеграл I n=10

Интеграл I n=100

Пр.прям.

3,971761544

3,685065137

Лев.прям.

3,482694096

3,636773083

Ср.прям.

4,396079589

3,72473207

Трапеции

3,72722782

3,661226455

Параболы

3,724745377

3,640020664

 

 

 

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

Для подсчета интеграла методом прямоугольников разделяем интервал интегрирования [а;в]наn-равных отрезков, длины h=(b-a)/n

Function f(x)

f = (1 + 1.2 * x ^ 2) / (2.3 + (Sqr(0.4 * x ^ 2 + 3.2)))

End Function

Sub pr10()

a = 1.3

b = 3.45

n = 10

h = 0.215

S = 0

For x = a + h To b Step h

S = S + f(x)

Next x

i = S * h

Worksheets("Интеграл").Range("K32").Value = i

End Sub

Sub pr100()

a = 1.3

b = 3.45

n = 100

h = 0.0215

S = 0

For x = a + h To b Step h

S = S + f(x)

Next x

i = S * h

Worksheets("Интеграл").Range("L32").Value = i

End Sub

Sub lev10()

a = 1.3

b = 3.45

n = 10

h = 0.215

S = 0

For x = a To b - h Step h

S = S + f(x)

Next x

i = S * h

Worksheets("Интеграл").Range("K33").Value = i

End Sub

Sub lev100()

a = 1.3

b = 3.45

n = 10

h = 0.0215

S = 0

For x = a To b - h Step h

S = S + f(x)

Next x

i = S * h

Worksheets("Интеграл").Range("L33").Value = i

End Sub

Sub cp10()

a = 1.3

b = 3.45

n = 10

h = 0.215

S = 0

For x = a To b Step h

S = S + f(x + (h / 2))

Next x

i = S * h

Worksheets("Интеграл").Range("K34").Value = i

End Sub

Sub cp100()

a = 1.3

b = 3.45

n = 100

h = 0.0215

S = 0

For x = a To b Step h

S = S + f(x + (h / 2))

Next x

i = S * h

Worksheets("Интеграл").Range("L34").Value = i

End Sub

2. Метод трапеции

Sub tr10()

a = 1.3

b = 3.45

n = 10

h = 0.215

S = (f(a) + f(b)) / 2

For x = a + h To b - h Step h

S = S + f(x)

Next x

i = S * h

Worksheets("Интеграл").Range("K35").Value = i

End Sub

Sub tr100()

a = 1.3

b = 3.45

n = 100

h = 0.0215

S = (f(a) + f(b)) / 2

For x = a + h To b - h Step h

S = S + f(x)

Next x

i = S * h

Worksheets("Интеграл").Range("L35").Value = i

End Sub

3. Метод параболы

Sub par10()

a = 1.3

b = 3.45

n = 10

h = 0.215

S = f(a) + f(b)

c = 1

For x = a + h To b - h Step h

S = S + (3 + c) * f(x)

c = -c

Next x

i = S * h / 3

Worksheets("Интеграл").Range("K36").Value = i

End Sub

Sub par100()

a = 1.3

b = 3.45

n = 10

h = 0.0215

S = f(a) + f(b)

c = 1

For x = a + h To b - h Step h

S = S + (3 + c) * f(x)

c = -c

Next x

i = S * h / 3

Worksheets("Интеграл").Range("L36").Value = i

End Sub

Вывод: Вот такими способами в программе vb можно вычислить интеграл

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]