Рефераты - Афоризмы - Словари
Русские, белорусские и английские сочинения
Русские и белорусские изложения

Разработка в Visual Basic приложения "Исследование методов вычисления определённых интегралов"

Работа из раздела: «Программирование, компьютеры и кибернетика»

Разработка в Visual Basic приложения 'Исследование методов вычисления определённых интегралов'

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

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

Задача: в среде программирования Visual Basic 6.0 создать приложение, которое вычисляет нижеследующий определенный интеграл с помощью методов приближенного вычисления (методы прямоугольников и парабол):

Необходимо также представить график зависимости погрешности от числа разбиений N (N изменяется от 10 до 200 с шагом 10), показать визуализацию метода в виде вписанных N прямоугольников , или криволинейных трапеций ограниченных параболой второго порядка, указать погрешность при заданном числе разбиений (N задается произвольно на интервале от 10 до 200).

Теоретическая часть

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

Идея численного интегрирования методом прямоугольников заключается в том, что из каждой точки xi=x0+i · h, i=1,...., n - 1 проводится перпендикуляр до пересечения с кривой y = f(x), а затем отрезок кривой подынтегральной функции заменяется прямой, параллельной оси абсцисс, т.е. Каждая маленькая криволинейная трапеция заменяется на прямоугольник. Площадь полученной фигуры (рис.1) можно найти как сумму площадей прямоугольников, стороны которых равны h и yi

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

Рис.1

Площадь отдельного прямоугольника составит

Si=yi·h

тогда

Формулу численного вычисления определенного интеграла можно записать в виде

Программа:

Private Sub Command1_Click()

Picture1.Cls

a = Val(Text1)

b = Val(Text2)

n = Val(Text3)

If Option1.Value Then

h = (b - a) / n

s = 0

x = a

For i = 0 To n - 1

y = f(x)

s = s + y

x = x + h

Next

D = s * h

End If

If Option2.Value Then

h = (b - a) / n

s = 0

x = a

For i = 1 To n - 1

x = x + h

y = f(x)

s = s + y

Next

D = (2 * s + f(a) + f(b)) / (2 * n)

End If

Picture1.Print D

End Sub

Private Sub Command2_Click()

Form2.Show

Form1.Hide

End Sub

Private Sub Command5_Click()

Form4.Show

End Sub

Приведём блок схему:

Рис.

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

Идея численного интегрирования методом трапеций заключается в том, что значение определенного интеграла можно найти как сумму площадей соответствующих трапеций

S1=(y0 + y1)·h/2 S2=(y1 + y2)·h/2 , … , Sn=(yn-1 + yn)·h/2

Приведём блок схему

Рис.

Cоздание проекта в VB

Курсовая работа была сделана в среде программирования Visual Basic 6.0. При запуске данной программы автоматически появляется окно, предлагающее нам создать новый проект Standard exe. Примем предложение и продолжим процедуру. Начнём с титульного листа, на котором будет располагаться кнопка перехода к другой форме: меню.

Рис.

Для создания формы «меню» нам необходимо в меню Tools выполним команду Menu Editor. В диалоговом окне впишем названия пунктов меню и названия процедур, которые будут запускаться при выполнение команд.

Рис.

Для создания форм, на которых будут выполняться команды необходимо кликнуть Project, затем выбрать Add Form, в появившемся окне выбрать Form. Каждая форма будет выполнять определённую функцию: визуализация, исследование и прочие. Рассмотрим форму информирующую нас поставленной задаче о программе.

Рис.

Создание этого приложения аналогично предшествующему.Для запуска программы вычисления интеграла методом прямоугольников нажимаем в меню кнопку: визуализация и исследование методов.

Рис.

Здесь также можно построить метод прямоугольников и построить графики погрешностей, а также записать некоторые значения в текстовый документ.

Рис.

Заключение

При выполнение курсовой работы было изучено методы прямоугольников и трапеций применяемые к решению определённых интегралов. Проанализирована погрешность при их использование на практике. Также в процессе выполнения работы были закреплены знания по информатике, практические навыки работы на персональном компьютере и разработке пользовательских приложений с использованием языков программирования высокого уровня и современных компьютерных технологий обработки информации, а также навыки в составлении текстовой документации.

Список литература

1.Г. М. Фихтенгольц «Курс дифференциального и интегрального исчисления» , том 2, Учебник для ВТУЗОВ , глава «Приближенное вычисление определенных интегралов».

2.Лабораторный комплекс по Visual Basic 6.0 .

3.MS Visual Basic 6.0 для профессионалов. Микаэл Хальворсон. ЭКОМ 2001 г.

4.Информатика. Высшая школа. Острейковский В. А. 2000 г.

5.www.informatic.ugatu.ic.ru - официальный сайт кафедры информатики УГАТУ, отдел дистанционной помощи студентам по написанию курсовых работ.

Приложение

Код программы вычисления площади

Dim x As Double

Dim a As Double

Dim b As Double

Private Sub Command1_Click()

Picture1.Cls

a = Val(Text1)

b = Val(Text2)

n = Val(Text3)

If Option1.Value Then

h = (b - a) / n

s = 0

x = a

For i = 0 To n - 1

y = f(x)

s = s + y

x = x + h

Next

D = s * h

End If

If Option2.Value Then

h = (b - a) / n

s = 0

x = a

For i = 1 To n - 1

x = x + h

y = f(x)

s = s + y

Next

D = (2 * s + f(a) + f(b)) / (2 * n)

End If

Picture1.Print D

End Sub

Private Sub Command2_Click()

Form2.Show

Form1.Hide

End Sub

Private Sub Command3_Click()

Form5.Show

Form1.Hide

End Sub

Private Sub Command5_Click()

Form4.Show

End Sub

Код программы построения графика

Private Sub Command1_Click()

Dim a As Double, i As Double, k As Double

a = Val(Form1.Text1.Text)

b = Val(Form1.Text2.Text)

n = Val(Form1.Text3.Text)

Max = f(a)

Min = f(a)

For i = a To b Step 0.5

If f(i) > Max Then Max = f(i)

If f(i) < Min Then Min = f(i)

Next

Picture1.Scale (a, Max)-(b, Min)

Picture1.Line (a, Min)-(b, Min)

Picture1.Line (a, Min)-(a, Max)

For i = a To b Step 0.001

Picture1.PSet (i, f(i))

Next

h = (b - a) / n

For k = a To b Step h

Picture1.Line (k, f(k + h))-(k + h, 0), RGB(255, 0, 0), B

Next

End Sub

Private Sub Command2_Click()

Form4.Hide

End Sub

Private Sub Command3_Click()

Picture1.Cls

End Sub

Код программы исследования на погрешность

Dim Et(200) As Double

Dim es(200) As Double

Private Sub Check2_Click()

End Sub

Private Sub Command1_Click()

Form5.Hide

Form2.Show

End Sub

Public Function f(x)

f = (x ^ 3) / (3 + x)

End Function

Public Function f1(x)

f1 = x ^ 3 / 3 - 1.5 * x ^ 2 + 9 * x - 27 * Log(Abs(x + 3))

End Function

Private Sub Command2_Click()

a = Text1

b = Text2

n1 = 10

N2 = 200

For n = 1 To 200 Step 10

Picture2.Cls

h = (b - a) / n

s = f1(b) - f1(a)

Next

Picture2.Print 'S= '; s

Picture1.Cls

Picture1.Scale (0, 40)-(215, -2)

Picture1.Line (0, 0)-(215, 0)

Picture1.Line (10, 0)-(10, 200)

a = 0

b = 1

j = 0

For n = 10 To 200 Step 10

h = (b - a) / n

s = 0

X1 = 0

For i = 1 To n

X1 = X1 + h

s = s + f(X1)

Next

Pr = h * s

h = (b - a) / n

s = 0

X1 = 0

For i = 1 To n - 1

X1 = X1 + h

s = s + f(X1)

Next

Tr = ((b - a) / (2 * n)) * (a + b + 2 * s)

N_L = f1(b) - f1(a)

Et(j) = Abs(Pr - N_L) * 100

es(j) = Abs(Tr - N_L) * 100

j = j + 1

Next n

n = 10

For i = 0 To j

Picture1.Line (n, 0)-(n, -0.5)

Picture1.Print n

If n = 200 Then Exit For

Picture1.Line (n, Et(i))-(n + 10, Et(i + 1)), vbRed

Picture1.Line (n, es(i))-(n + 10, es(i + 1)), vbBlue

n = n + 10

Next

For i = 2 To 40 Step 2

Picture1.Line (8, i)-(10, i)

Picture1.Print i

Next

save = Text4

If Check1.Value = vbChecked Then

Open save For Output As 1

Print #1, 'корень уравнения'; Format(X1, '0.000')

Close #1

End If

End Sub

Private Sub Text3_Change()

End Sub

25.

ref.by 2006—2025
contextus@mail.ru