Визуализация численных методов
3. Виды, формы
3.1 Начальная форма
>3.2 Конечная форма
4. Программа для решения дифференциального уравнения в Visual Basic
Dim y(9) As Single
Dim YE(9) As Single
Dim YR(9) As Single
Dim YT(9) As Single
Dim l(9) As Single
Private x0 As Single
Private Function fun(a As Single, b As Single) As Single
f = (b + 2) / (a + 1)
fun = f
End Function
Private Sub Command1_Click()
x0 = Val(Text1.Text)
xk = Val(Text2.Text)
y0 = Val(Text3.Text)
h = Val(Text4.Text)
N = (xk - x0) / h
MSFlexGrid1.Rows = N + 2
MSFlexGrid1.TextMatrix(0, 0) = "x"
MSFlexGrid1.TextMatrix(0, 1) = "YE"
MSFlexGrid1.TextMatrix(0, 2) = "YR"
MSFlexGrid1.TextMatrix(0, 3) = "YT"
Min = y0
Max = y0
l(0) = x0
y(0) = y0
YE(0) = y0
YR(0) = y0
YT(0) = y0
For i = 0 To N
l(i + 1) = x0 + i * h
k1 = h * fun(l(i), YR(i))
k2 = h * fun(l(i) + h / 2, YR(i) + k1 / 2)
k3 = h * fun(l(i) + h / 2, YR(i) + k2 / 2)
k4 = h * fun(l(i) + h, YR(i) + k3)
k = (k1 + 2 * k2 + 2 * k3 + k4) / 6
YR(i + 1) = YR(i) + k
YE(i + 1) = YE(i) + h * fun(l(i), YE(i))
YT(i) = (l(i + 1) + 1) * 2 - 2
MSFlexGrid1.TextMatrix(i + 1, 0) = l(i + 1)
MSFlexGrid1.TextMatrix(i + 1, 1) = YE(i)
MSFlexGrid1.TextMatrix(i + 1, 2) = YR(i)
MSFlexGrid1.TextMatrix(i + 1, 3) = YT(i)
If YE(i) > Max Then max1 = YE(i)
If YE(i) < Min Then min1 = YE(i)
If YR(i) > Max Then Max2 = YR(i)
If YR(i) < Min Then Min2 = YR(i)
If YT(i) > Max Then Max3 = YT(i)
If YT(i) < Min Then Min3 = YT(i)
Next i
For i = 0 To N - 1
px = (5415 / (xk - x0))
py = (6705 / (max1 - min1))
u1 = (l(i) - x0) * px + 600
u2 = 7440 - (YE(i) - min1) * py
u3 = (l(i + 1) - x0) * px + 600
u4 = 7440 - (YE(i + 1) - min1) * py
Picture1.Line (u1, u2)-(u3, u4)
u5 = (l(i) - x0) * px + 600
u6 = 7440 - (YR(i) - min1) * py
u7 = (l(i + 1) - x0) * px + 600
u8 = 7440 - (YR(i + 1) - min1) * py
Picture1.Line (u5, u6)-(u7, u8)
u9 = (l(i) - x0) * px + 600
u10 = 7440 - (YT(i) - min1) * py
u11 = (l(i + 1) - x0) * px + 600
u12 = 7440 - (YT(i + 1) - min1) * py
Picture1.Line (u9, u10)-(u11, u12)
Next i
End Sub
Заключение
В данной курсовой рассматривались два метода решения ОДУ с начальными условиями, то есть задачи Коши: метод Эйлера и метод Рунге – Кутта четвёртого порядка.
Данные полученные этими методами идентичны друг другу, но с точки зрения простоты использования метод Эйлера гораздо проще в описании, чем метод Рунге – Кутта четвертого порядка.
Если посмотреть на графики и значения в точках, то можно убедится в том что методы почти точно определяют значения в у, и графики почти совпадают, имея небольшой угол отклонения.
Другие рефераты на тему «Математика»:
Поиск рефератов
Последние рефераты раздела
- Анализ надёжности и резервирование технической системы
- Алгоритм решения Диофантовых уравнений
- Алгебраическое доказательство теоремы Пифагора
- Алгоритм муравья
- Векторная алгебра и аналитическая геометрия
- Зарождение и создание теории действительного числа
- Вероятностные процессы и математическая статистика в автоматизированных системах