Решение линейных дифференциальных уравнений 2-го порядка

Страницы работы

Содержание работы

Министерство образования и науки Российской Федерации

Федеральное агентство по образованию

ГОУВПО «Комсомольский-на-Амуре государственный технический университет»

Кафедра: МОП ЭВМ

Лабораторная работа №2

 по дисциплине: «Компьютерное моделирование».

Выполнил:                                                                студент группы 4ВС – 1 Алексеенко Н. С.

Проверил:                                                                                                                  Петров Ю. А.

Комсомольск – на – Амуре

2007

Тема:"Решение линейных дифференциальных уравнений 2-го порядка".

Задание: найти общее решение уравнения, приведя его к каноническому виду:

Область применения:

Выполнение:

Решим задачу в системе Matlab.

Определим необходимые переменные:

syms dx dy x y teta eta teta_x teta_y eta_x eta_y u_tt u_t u_te u_e u_ee u_x u_y u_xx u_xy u_yy 

Общий вид линейного уравнения с частными производными второго порядка с двумя независимыми переменными имеет вид:

(1)

Зададим коэффициенты уравнения:

a11 = 1; a12 = 1; a22 = 1; b1 = -3; b2 = -3; f = 0; c = 0;

Определим тип уравнения:

a12^2-a11*a22

ans = 0

т.е. уравнение имеет параболический тип.

Данное условие вытекает из уравнения характеристик  (2). Оно получается из исходного уравнения (1) с помощью взаимно - обратного преобразования переменных . Выражая производные уравнения (1) через переменные , получим новые значения для . Подставляя эти производные в уравнение (1), получим (3). Вопрос о решении уравнения (3) решается известными леммами. Так как мы ввели новые переменные с помощью двух, пока произвольных, соотношений, то можем наложить на их выбор два условия . Уравнение (2) распадается на два дифференциальных уравнения . Знак подкоренного выражения и определяет тип уравнения (1).

Запишем уравнение характеристик и решим его относительно dy:

v=solve(a11*dy^2-2*a12*dy*dx+a22*dx^2, dy)

v =

[ dx]

[ dx]

Из него определяем функции  и :      

teta=y-subs(v(1), 'dx', 'x')

eta = y

teta =y-x

eta =y

Определяем первые производные полученных функций:

teta_x=diff(teta, x)

teta_y=diff(teta, y)

eta_x=diff(eta, x)

eta_y=diff(eta, y)

teta_x =-1

teta_y =1

eta_x =0

eta_y =1 

Проверяем линейную независимость полученных функций:

det(jacobian([teta;eta],[x,y])) 

ans =-1

Определитель матрицы Якоби не равен нулю, следовательно,   линейно независимы, т.е. функция подобрана корректно.

Вычислим производные функции u:

u_x=u_t*teta_x+u_e*eta_x 

u_y=u_t*teta_y+u_e*eta_y 

u_xx=u_tt*teta_x^2+u_ee*eta_x^2+2*u_te*teta_x*eta_x 

u_xy=u_tt*teta_x*teta_y+u_ee*eta_x*eta_y+u_te*(teta_x*eta_y+teta_y*eta_x) 

u_yy=u_tt*teta_y^2+u_ee*eta_y^2+2*u_te*teta_y*eta_y 

u_x = -u_t

u_y = u_t+u_e

u_xx = u_tt

u_xy = -u_tt-u_te

u_yy = u_tt+u_ee+2*u_te

Подставим полученные производные в исходное уравнение:

a11*u_xx+2*a12*u_xy+a22*u_yy+b1*u_x+b2*u_y+f

ans = u_ee-3*u_e

Мы получили уравнение (1) в каноническом виде: . Решение этого уравнения будем искать в виде  . Тогда ,  

и . Поскольку , то . Решим это уравнение:

d=dsolve('4*D2b-2*Db=0', 'eta') 

d = C1+C2*exp(3*eta)

где , .

Таким образом, решение имеет вид: . Выполним обратную подстановку и переобозначим , :

subs(d, eta)

ans = C1+C2*exp(3*y)

Таким образом, решение уравнения имеет вид: , где ,  – дважды непрерывно-дифференцируемые функции. Например, возьмем следующие функции:

fun=y-x;

C3=6*fun 

C4=fun 

C3 = 6*y-6*x

C4 = y-x

u=C3+C4*exp(3*y)

u = 6*y-6*x+(y-x)*exp(3*y)

и подставим их в исходное уравнение:

a11*diff(diff(u, x), x)+2*a12*diff(diff(u, x), y)+a22*diff(diff(u, y), y)+b1*diff(u, x)+b2*diff(u, y)+c*u+f 

ans =0

Похожие материалы

Информация о работе

Тип:
Отчеты по лабораторным работам
Размер файла:
96 Kb
Скачали:
0