Автор работы: Пользователь скрыл имя, 19 Февраля 2012 в 10:43, контрольная работа
Решить данные уравнения аналитически, а также с помощью двух численных методов: Эйлера и Рунге-Кутта. Сравнить результаты, полученные аналитическим и численными методами.
Программа метода на языке Qbasic :
CLS
x1 = 3.8: y1 = 10.2: h = .1: x3 = 4.8: y = y1
FOR x = x1 TO x3 STEP h
PRINT #1, "x="; x, "y="; y
x2 = x: y2 = y: GOSUB 1
k1 = h * f
x2 = x + h / 2
y2 = y + k1 / 2
GOSUB 1
k2 = h * f
y2 = y + k2 / 2
GOSUB 1
k3 = h * f
x2 = x + h
y2 = y + k3
GOSUB 1
k4 = h * f
y = y + (k1 + 2 * k2 + 2 * k3 + k4) / 6
NEXT x
PRINT #1, "x="; x, "y="; y
END
1 f = COS(Y)/ SQR(X)
RETURN
Результаты счета по программе:
x= 3.8 у= 10.16336
x= 3.9 y= 10.25048
x= 4.0 y= 10.29865
x= 4.1 y= 10.34765
x= 4.2 y= 10.39658
x= 4.3 y= 10.44457
x= 4.4 y= 10.49199
x= 4.5 y= 10.53872
x= 4.6 y= 10.58542
x= 4.7 y= 10.63091
x= 4.8
y= 10.67583
Блок-схема
метода Рунге-Кутта
начало
x1=3.8:y1=10.2:h= .1:x3=4.8:y=y1
x=x1
печать x,y
x2=x: y2=y: k1=h*f
x2=x+h/2: y2=y+k1/2: k2=h*f
y2=y+k2/2: k3=h*f
x2=x+h: y2=y+k3: k4=h*f
y=y+(k1+2*k2+2*k3+k4)/6
x=x+h
x<x3
нет
печать x,y
конец
Здесь
f= cosy/√x
2.4
Сравнение полученных
результатов.
После решения задачи Коши
для заданного
Таблица 1: сравнение полученных результатов
х | Аналитический метод | Метод Эйлера | Метод Рунге-Кутта |
3,8 | 10,2 | 10,2 | 10,2 |
3,9 | 10,251 | 10,251 | 10,251 |
4,0 | 10,299 | 10,299 | 10,299 |
4,1 | 10,349 | 10,348 | 10,349 |
4,2 | 10,420 | 10,397 | 10,421 |
4,3 | 10,469 | 10,445 | 10,469 |
4,4 | 10,515 | 10,492 | 10,516 |
4,5 | 10,563 | 10,539 | 10,563 |
4,6 | 10,608 | 10,585 | 10,609 |
4,7 | 10,654 | 10,631 | 10,654 |
4,8 | 10,700 | 10,676 | 10,700 |
График 1:сравнение полученных результатов
Из графика видно, что
3 Решение обыкновенного дифференциального уравнения второго порядка.
3.1 Аналитическое решение.
Попробуем решить данное уравнение с помощью замены:
y’= yz,
y”= y’z+yz΄=yz2+yz΄,
yz2+ y’z+y+ yzlnx=0,
1.y=0
2. z΄+z2+1+zlnx=0,
z΄+lnxz=-(z2+1).
Это уравнение Риккати. Его можно решить с помощью подбора коэффициентов, в данном выражении этого сделать нельзя, значит, исходное уравнение аналитически не решается.
3.2 Решение методом Эйлера.
С помощью метода Эйлера найти на отрезке [1.4;2.4] с шагом h=0,1 приближенно решение уравнения
y”+y+y’lnx=0,
с начальными условиями y(1,4)=1,8 ; y’(1,4)=2,3
Для решения представим уравнение в виде :
y’=z
z’=-(y+zlnx)
Далее проведем ручной счет по методу Эйлера, используя следующие расчетные формулы:
где f1(x, y, z)=z ; f2(x, y, z)=12y+z
Расчетная таблица :
х | у | z | f1(x, y, z) | f2(x, y, z) |
1,4 | 1,8 | 2,3 | 2,3 | 2,3 |
1,5 | 2,03 | 2,019611 | 2,019611 | -2,709543 |
1,6 | 2,231961 | 1,174527 | 1,174527 | -2,927142 |
1,7 | 2,403414 | 1,393602 | 1,393602 | -3,058412 |
1,8 | 2,542774 | 1,065376 | 1,065376 | -3,108093 |
1,9 | 2,649312 | 0,7378238 | 0,7378238 | -3,082995 |
2,0 | 2,723094 | 0,4181569 | 0,4181569 | -2,99149 |
2,1 | 2,76491 | 0,1126815 | 0,1126815 | -2,843015 |
2,2 | 2,776178 | -0,173297 | -0,173297 | -2,647603 |
2,3 | 2,758848 | -0,435518 | -0,435518 | -2,415461 |
2,4 | 2,715297 | -0,670773 | -0,670773 | -2,156604 |
Составим программу метода на языке Qbasic :
CLS
x0 = 1.4: y0 = 1.8: z0 = 2.3: h = .1: xn = 2.4
y = y0
z = z0
x = x0
PRINT #1, USING "##.#"; x;
PRINT #1, USING "##.#####"; y
FOR x = x0 TO xn STEP h
y = y + h * z
z = z + h * (-(y+z*LOG(x)))
PRINT #1, USING "#.#"; x + h;
PRINT #1, USING " ##.#####"; y
NEXT x
END
Результаты счета по программе :
x= 1.4 y= 1.8
x= 1.5 y=2.03
x= 1.6 y= 2.231961
x= 1.7 y= 2.403414
x= 1.8 y= 2.542774
x= 1.9 y= 2.649312
x= 2.0 y= 2.723094
x= 2.1 y= 2.76491
x= 2.2 y= 2.776178
x= 2.3 y= 2.758848
x= 2.4
y= 2.715297
Блок-схема метода Эйлера
3.3
Решение методом
Рунге-Кутта.
Тоже уравнение решить методом Рунге-Кутта.
Координаты
точки (x0,
y0, z0), заданной
в начальных условиях подставим в формулы
для нахождения K11;
K21; K12;
K22; K13;
K23; K14;
K24 вместо xi-1;
yi-1; zi-1
. Найденные коэффициенты подставляем
в формулы для нахождения yi
и zi
, и находим значения y1
и z1
, соответствующие значению аргумента
x1=x0+h. Чтобы
получить следующие значения y2;
z2 , используем x1;
y1; z1
в качестве xi-1;
yi-1; zi-1
и так далее.
Расчет
X0 | y0 | z0 | K11 | K12 | K13 | K14 | K21 | K22 | K23 | K24 |
1,4 | 1,8 | 2,3 | ___ | ___ | ___ | ___ | ___ | ___ | ___ | ___ |
1,5 | 2,0167 | 2,0286 | 2,3 | 2,171306 | 2,1639 | 2,0287 | -2,5739 | -2,7218 | -2,7126 | -2,8380 |
1,6 | 2,204984 | 1,73497 | 2,02864 | 1,88668 | 1,881393 | 1,735088 | -2,839195 | -2,9449 | -2,9355 | -3,0203 |
1,7 | 2,363179 | 1,42726 | 1,734967 | 1,583946 | 1,58072 | 1,42739 | -3,020425 | -3,0849 | -3,0758 | -3,1205 |
1,8 | 2,490232 | 1,11330 | 1,427262 | 1,271236 | 1,269965 | 1,113518 | -3,120524 | -3,1459 | -3,1374 | -3,1447 |
1,9 | 2,585896 | 0,80063 | 1,113396 | 0,956162 | 0,956680 | 0,800738 | -3,144671 | -3,1341 | -3,1265 | -3,0999 |
2,0 | 2,650613 | 0,49547 | 0,800630 | 0,645641 | 0,647775 | 0,495552 | -3,099784 | -3,0571 | -3,0508 | -2,9942 |
2,1 | 2,685432 | 0,20354 | 0,495468 | 0,345766 | 0,349289 | 0,203605 | -2,994045 | -2,9236 | -2,9186 | -2,8366 |
2,2 | 2,691923 | -0,0704 | 0,203540 | 6,172701
Е-02 |
6,640677
Е-02 |
-7,03854
Е-02 |
-2,836454 | -2,7429 | -2,7394 | -2,6366 |
2,3 | 2,672077 | -0,3226 | -0,07041 | -0,202228 | -0,196628 | -0,322644 | -2,636409 | -2,5244 | -2,5224 | -2,4035 |
2,4 | 2,628217 | -0,55029 | -0,322632 | -0,442800 | -0,436513 | -0,550320 | -2,403353 | -2,2776 | -2,2760 | -2,1466 |
Информация о работе Численные решения обыкновенных дифференциальных уравнений