Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЧМ_2012 / ЧМ_Maxima_Excel / ЧМ_Excel_Maxima.pdf
Скачиваний:
198
Добавлен:
09.06.2015
Размер:
1.41 Mб
Скачать

Численные методы решения дифференциальных уравнений

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

Решить дифференциальное уравнение с заданными начальными условиями:

, y(0), [a,b]=[0,0.3], h=0.1.

Решить краевую задачу методом прогонки:

A(x) =

0.4 + 2x +

 

x2

,

 

 

 

2

 

 

B(x) = x 0.7 ,

 

 

 

 

C (x) = −0.95x 2 ,

 

 

 

 

f (x) =

 

 

+ cos(2x) ,

 

 

 

x

 

 

 

 

 

π

 

 

xn x0

 

x0 = 1, xn = 1.5, n =

8, h =

= 0.0625 ,

n

 

 

 

 

 

 

 

 

y(x0 ) = 1.3, y(xn ) = 1.1.

Решим это, используя специальные возможности пакета Excel. Последовательность действий (см. рис. 3):

Метод Эйлера

1.Оформить заголовок в строке 1 «Численные методы решения обыкновенных дифференциальных уравнений».

2.В ячейки A3 и A4, C4, C5, C6 записать данные по задаче.

3.Оформить заголовок в строке 7 «Метод Эйлера».

4.В области A9:D9 записать заголовки рядов (соответственно: n - номер итерации, xn, yn, y)

5.В ячейки A9 и A10 ввести первые два значения итерации - 0 и 1.

6.Выделить ячейки A9,A10 и протащить ряд данных до конечного значения 3.

7.В ячейки B9 и B10 ввести первые два значения аргумента - 0 и 0.1.

8.Выделить ячейки B9,B10 и протащить ряд данных до конечного значения 0.3, убедившись в правильном выстраивании арифметической прогрессии.

9.В ячейку D10 ввести формулу «=D6*EXP(B10*C10)».

10.Скопировать формулу на остальные элементы ряда, используя прием протаскивания.

Метод Рунге-Кутты 4-го порядка

1.Оформить заголовок в строке 7 «Метод Рунге-Кутты 4-го порядка».

2.В области F9:K9 записать заголовки рядов (соответственно: xn, yn, k1, k2, k3 k4)

3.В ячейки F9 и F10 ввести первые два значения аргумента - 0 и 0.1.

4.Выделить ячейки F9,F10 и протащить ряд данных до конечного значения 0.3.

5.В ячейки G10 ввести первое значение функции- 0.

6.В ячейку H10 ввести формулу «=D6*EXP(B11*C11)»..

7.В ячейку I10 ввести формулу «=0,1*EXP((F10+0,1/2)*(G10+H10/2))»..

8.В ячейку J10 ввести формулу «=0,1*EXP((F10+0,1/2)*(G10+I10/2))».

9.В ячейку H10 ввести формулу «=0,1*EXP((F10+0,1)*(G10+J10))».

1 0. В ячейку Y11 ввести формулу «=G10+(H10+2*I10+2*J10+K10)/6».

11.Скопировать формулы на остальные элементы рядов, используя прием протаскивания.

Метод Рунге-Кутты 5-го порядка

1.Оформить заголовок в строке 15 «Метод Рунге-Кутты 5-го порядка».

2.В области A17:G17 записать заголовки рядов (соответственно: xn, yn, k1, k2, k3 k4,k5)

3.В ячейки A18 и A19 ввести первые два значения аргумента - 0 и 0.1.

4.Выделить ячейки A18,A19 и протащить ряд данных до конечного значения 0.3.

5.В ячейки B18 ввести первое значение функции- 0.

6.В ячейку C18 ввести формулу «=0,1/3*EXP(A18*B18)».

7.В ячейку D18 ввести формулу «=0,1/3*EXP((A18+0,1/3)*(B18+C18))».

8.В ячейку E18 ввести формулу «=0,1/3*EXP((A18+0,1/2)*(B18+C18/2+D18/2))».

9.В ячейку F18 ввести формулу «=0,1/3*EXP((A18+0,1/2)*(B18+3*C18/8+9*E18/8))».

1 0. В ячейку G18 ввести формулу «=0,1/3*EXP((A18+0,1)*(B18+3*C18/2- 9*E18/8+6*F18))».

1 1 . В ячейку B19 ввести формулу «=(C18+G18+4*F18)/2».

12.Скопировать формулы на остальные элементы рядов, используя прием протаскивания.

Метод Адамса

1.Оформить заголовок в строке 15 «Метод Адамса».

2.В ячейках J17 и J17 записать заголовки рядов соответственно xn и yn.

3.В ячейки I18 и I19 ввести первые два значения аргумента - 0 и 0.1.

4.Выделить ячейки I18,I19 и протащить ряд данных до конечного значения 0.5.

5.В ячейки J18 ввести первое значение функции- 0.

6.В ячейку G21 ввести формулу «=J21+0,1/24*(55*EXP(I21)- 59*EXP(I20)+37*EXP(I19)-9*EXP(I18))».

7.Скопировать формулу на остальные элементы ряда, используя прием протаскивания.

Метод прогонки

1.Оформить заголовок в строке 25 «Метод прогонки».

2.В ячейки A27:A34 записать данные по задаче.

3.В области D27:J17 записать заголовки рядов (соответственно: n, x, y, m, n2, c, d)

4.В ячейки D28 и D29 ввести первые два значения итерации - 0 и 1.

5.Выделить ячейки D28 и D29 и протащить ряд данных до конечного значения 8.

6.В ячейки E28 и F28 ввести первые значения функции- 1 и 1.3.

7.В ячейку G28 ввести формулу «=-2+0,0625*СТЕПЕНЬ(1;0,7)/(0,4+2*1+1*1/2)».

8.В ячейку H28 ввести формулу:

«=1-0,0625*СТЕПЕНЬ(1;0,7)/(0,4+2*1+1*1/2)+0,0625*0,0625*(-0,95)*1».

9. В ячейку I28 ввести формулу «=1/G28».

1 0. В ячейку J28 ввести формулу «=0,1/3*EXP((A18+0,1/2)*(B18+3*C18/8+9*E18/8))».

1 1 . В ячейку G18 ввести формулу:

«=-H28*1,3+(КОРЕНЬ(1)+COS(2*1)/ПИ())*0,0625*0,0625».

1 2 . В ячейку E29 ввести формулу «=1+D29*0,0625».

1 3 . В ячейку F29 ввести формулу «=I28*(J28-F28)».

14.Скопировать формулы на остальные элементы рядов, используя прием протаскивания.

Рис.3 Решение ОДУ и краевых задач в среде Excel.