Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Министерство информационных технологий и связи РФ
Федеральное агентство связи
ГОУ ВПО «Сибирский государственный университет телекоммуникаций и информатики»
Уральский технический институт связи и информатики(филиал)
Визуализация численных методов.
Решение обыкновенных дифференциальных уравнений.
Выполнил: студент гр. МЕ-72
Кохленко И. В.
Проверил: Минина Е.Е.
Екатеринбург
2008г.
Содержание
Введение
Постановка задачи и математическая модель.
В работе необходимо решить задачу Коши для дифференциального уравнения 1-ого порядка на отрезке [x0, xk] с шагом h и начальным условием y (x0 )=y0
Дано дифференциальное уравнение: (y2*2x*y)dx+x2dx=0
Начальные условия: x0=1, xk=2, h=0.1, y0=0.2
Общее решение: y=x2/(c+x)
Методы решения: метод Рунге-Кутта и метод Эйлера модифицированный
Описание численных методов (применительно к конкретной задаче)
Метод Рунге-Кутта 4-го порядка
Пусть дано дифференциальное уравнение первого порядка
y= f(x,y)
c начальным условием
y(x0)=y0
выберем шаг h и введем обозначения:
xi = x0 +i h и yi = y(xi ), где i=0,1,2…
Согласно методу Рунге-Кутта четвертого порядка, последовательность значения yi искомой функции y определяется по формуле:
yi+1 = yi +∆ yi
где
∆ yi= 1/6* ( k1+2k2+2k3+k4 ), i=0,1,2…
а числа k1 ω , k2 ω, k3 ω , k4 ω на каждом шаге вычисляются по формулам:
k1= h * f ( x1, y1 )
k2= h * f ( x1+h/2, y1+ k1/2 )
k3= h * f ( x1+h/2, y1+ k2/2 )
k4= h * f ( x1+h, y1+k3 )
Метод Рунге-Кутта легко программируется и обладает значительной точностью и устойчивостью для широкого круга задач.
Метод Рунге-Кутта 4 порядка
Метод Эйлера модифицированный
Этот метод часто используют для уменьшения погрешности вычислений.
Пусть дано дифференциальное уравнение первого порядка
y= f(x,y)
с начальным условием
y(x0)=y0
выберем шаг h и введем обозначения:
xi = x0 +i h и yi = y(xi ), где i=0,1,2…
xi узлы сетки,
yi значения интегральной функции в узлах
При использовании модифицированного метода Эйлера шаг h делится на два отрезка.
Метод Эйлера модифицированный
Блок-схемы программ и основных подпрограмм
Для решения задачи и составления программы составим основные блок-схемы, которые приведены ниже.
2. Подпрограмма метода Рунге-Кутта 4 порядка
3. Алгоритм функции
4. Подпрограмма общего решения функции и поиска max и min x и y.
5. Алгоритм программы
Решение задачи в Mahtcad
End
α1
α
ε
ε1
xi+1
xi
h
h/2
В
С
А
О
y=y(x)
x
y
em(i)<miny
Miny=em(i)
End
(i) = Round(x0 + (i * h), 3)
o(i) = Round(3 * (x(i) - 1) / x(i), 3)
If o(i) > maxy Then maxy = o(i)
If o(i) < miny Then miny = o(i)
i = 1, …, n
ReDim x(n + 1)
ReDim o(n + 1)
maxy = y0
miny = y0
maxx = x0
minx = x0
Obchee
End
f=b/a*(2-b/a)
f (a,b)
x(i) = x0 + i * h
k1 = h * f(x, rk )
k2 = h * f(x + (h / 2), rk + (k1 / 2))
k3 = h * f(x + (h / 2), rk + (k2 / 2))
k4 = h * f(x + h, rk + k3)
k = (k1 + 2 * k2 + 2 * k3 + k4) / 6
rk (i + 1) = rk (i) + k
i = 1, …, n-1
h=(xk-x0)/n
RungeKutt (x0,xk,y0,n,rk)
End
x = x0 + i * h
em(i + 1) = em(i) + h * f(x + h / 2, em(i) + h / 2 * f(x, em(i))
i = 1, …, n-1
h=(xk-x0)/n
EilerM(x0,xk,y0,n,em)
em(i)>maxy
C=(x^2/y)-x
n=(xk-x0)/h
Start
EilerM
RungeKutt
Obchee
x=x0+i*h
i=0,..,n-1
x0,xk,y0,h
Maxy=em(i)
Label 1
Label 2
Label 3
Label 4
Label 5
Label 6
Text1
Text2
Text3
Text4
Command1
Command2
Picture1
Label7
Label9
Label11
Label8
Label10
Label12