task_16252x

advertisement
Для своего варианта функционала выведите дифференциальное уравнение Эйлера-Остроградского
и решите его c помощью PDE Toolbox MATLAB.
Примечание: Если на рисунке указано “r = ” – то это часть окружности, если символа “r ”
нет – то часть эллипса.
Вариант 27.
Начало координат − в левом нижнем углу. Граничные
условия: на верхней дуге u = 10−3(y−0.15), на остальных
сторонах u = 0.
Приложить файл для программы PDE Toolbox MATLAB.
Ниже указан пример готового решения задачи
Применение MATLAB для решения уравнений в частных производных
Рассмотрим графические возможности МАТЛАБ на примере вывода решения
дифференциального уравнения в частных производных Эйлера-Остроградского.
Пример 1. Найти экстремаль функционала:
в прямоугольной области x[0,a]; y [0,b], показанной на рис.3.
19
Рис.3. Область решения примера 1
Граничные условия: на правой стороне x = a:
на остальных сторонах z = 0.
Выведем вначале уравнение Эйлера-Остроградского вида:
Fz 
Получим:
Fz 
Fp
x

Fq
y
y
 2 x sin
b
2
Fp

x
Fq
y
0
y
  z 
  z 
2z
2z
2 2 2 2  0,
   2    2 x sin
x  x 
y  y 
b
x
y
или, после сокращения на 2:
y
2z 2z
 2  x sin
.
2
b
x
y
(8)
Граничные условия по переменной y однородные, поэтому будем искать
решение в виде ряда Фурье по собственным функциям Yn(y), которые равны:
Yn  y   sin
Ищем решение в виде ряда:

u ( x, y )   X n ( x) sin
n 1
n y
.
b
n y
.
b
(9)
Это решение удовлетворяет граничным условиям на нижней и верхней
сторонах: при y=0 и y=b.
Для нахождения функций Xn(x) подставим решение (9) в уравнение (8):

n  y  n2  2
n y
  2 X n ( x) sin

b
b
b
n 1
2 2
n y
y
X n" ( x)  n 2 X n ( x) sin
 x sin
.
b
b
b
 X n" ( x) sin
n 1


n 1


20
Левая часть данного уравнения является разложением в ряд Фурье по Yn(y).
Разложим в такой же ряд правую часть этого уравнения. Собственно, она уже
разложена: в этом ряду присутствует только первый член (n=1), а коэффициенты
при остальных гармониках равны нулю. Известно, что два ряда Фурье
тождественны друг другу тогда и только тогда, когда равны все их коэффициенты.
Поэтому из полученного уравнения можно получить бесконечную систему
дифференциальных уравнений для функций Xn(x):
 "
2
X
(
x
)

X 1 ( x)  x ;
 1
b2

2 2
 X n" ( x)  n  X n ( x)  0, n  1 .

b2
(10)
Граничные условия для данного уравнения можно получить, раскладывая
граничные условия на левой и правой сторонах в ряд Фурье по Yn(y). На левой
стороне x=0 имеем z=0, и, следовательно, коэффициенты разложения данной
функции нулевые:
(11)
X n (0)  0 n .
На правой стороне x=a имеем граничное условие:
Подставим в него решение (9):

X
n 1
n
(a ) sin
n y
y
 sin
b
b
Это возможно тогда и только тогда, когда:
 X 1 (a)  1;

 X n (a)  0; n  1.
(12)
Решаем систему дифференциальных уравнений (10) при граничных условиях
(11) и (12). При n>1 имеем:
n 2 2
X n ( x)  0 ;
b2
n x
n x
X n ( x)  C1 ch
 C 2 ch
.
b
b
X n" ( x) 
(13)
Подставляем граничные условия:
 X n (0)  C1  0 ;

 X (a)  C sh n  a  0 .
2
 n
b
Во втором уравнении второй множитель (гиперболический синус) не равен
нулю, поэтому C2=0. Следовательно, n  1 : X n ( x)  0 .
21
Далее найдем X1(x). Дифференциальное уравнение для него – это 1-е уравнение
системы (10). Для решения такого уравнения следует взять сумму общего решения
соответствующего однородного уравнения вида (13) и частного решения
неоднородного уравнения. В результате получим:
X 1 ( x)  C1 ch
x
b
 C 2 ch
x
b

b2 x
2
Значения произвольных постоянных С1 и С2 найдем из граничных условий (11)
и (12):
 X 1 (0)  C1  0 ;

 a b2 a

X
(
a
)

C
sh
 2  1.
2
 1
b

Отсюда находим:
1
b2 a
2   b a .
C2 
a
a
sh
 2 sh
2
b
2
b
Решением рассматриваемой задачи является первая гармоника ряда:

u ( x, y )   X n ( x) sin
n 1
n y
b
Таким образом:
График (рис.4) этой функции при a = 1 и b = 2 выглядит следующим образом:
clear all % очистили память
a=1; % задали размеры
b=2;
x=linspace(0,a,40);
y=linspace(0,b,80);
[X,Y]=meshgrid(x,y); % сетка
U=((pi^2+b^2*a)/(pi^2*sinh(pi*a/b))*sinh(pi*X/b)-...
b^2*X/pi^2).*sin(pi*Y/b); % вычисляем функцию
surf(X,Y,U) % рисуем поверхность
22
set(get(gcf,'CurrentAxes'),...
'FontName','Times New Roman Cyr','FontSize',12)
da=daspect; % текущие масштабы осей
da(1:2)=min(da(1:2)); % одинаковые масштабы
daspect(da); % установили одинаковые масштабы
title('\bf Пример 1')
xlabel('\itx') % ось OX
ylabel('\ity') % ось OY
zlabel('\itu\rm(\itx\rm,\ity\rm)') % ось OZ
Пример 1
Пример 1
Рис.4. Решение примера 1
23
Download