Файл: Mathematica для математиков. Часть Реализация основных понятий математического анализа.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 25.10.2023

Просмотров: 281

Скачиваний: 7

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Пример. Бесконечная плоскость. Начальная температура равна нулю везде,
кроме области квадрата

 

1
,
1 1
,
1




D
, в которой она равна единице.
Поскольку
 
   
y
x
y
x
2 1
,





, где
 








1
,
0 1
1
,
1
u
u
u
i



2
,
1

i
, то решение может быть представлено в форме (8). Имеем
????[????_] = ????????????????????????????????????[{{????, ???? ≤ −????}, {????, ???? < 1}}, ????];
???? =. ;
????[????_, ????_] = ????????????????????????????????????????????????[
????
????
????????????????????????????????????[????[???? + ???????? ????????]????????????[−????
????
],
????, −∞, ∞ , ???????????????????????????????????????????? ⧴ ???? > 0 && ???? > 0]]
1 2
Erf
1 − ????
2???? ????
+ Erf
1 + ????
2???? ????
Теперь построим анимацию решения. Вначале представим решение как поверхность (панель анимации показана на следующем рисунке слева).
???? = ????; ????[????_, ????_, ????_]: = ????[????, ????] ∗ ????[????, ????];
???? = ????????????????????????????????[????????????????[{????. ????????????}, ????????????????????[????. ???????? ∗ ????, {????, ????????}]]];
????????????????????????????[????????????????????????[????????????????????????????????[????[????, ????, ????]], {????, −????, ????}, {????, −????, ????},
???????????????????????????????????????? → ????????, ???????????????????????????????????? → ????, ???? , ???????????????? → ????????????????,
???????????????????????????????????? → ????], {????, ????}, ???????????????????????????????????????????????????????????????? → ????????????????????]
Во второй панели анимации представим решение контурным графиком (панель анимации показана на следующем рисунке справа).
????????????????????????????[{????????????????????????????????????????????[????[????, ????, ????], {????, −????, ????}, {????, −????, ????}, ???????????????????????????????? → ????????,
???????????????????????????????????????????????????? → ????????????, ???????????????????????????????????????????????????????????????????????????????? → ????????????????????,
???????????????????????????????????????? → ????????, ???????????????????????????????????? → ????????????????, ???????????????????????????????????? → ????],
????????????????????????????????????[{(????????????[#]&), {????, ????}}]},
{????, ????}, ???????????????????????????????????????????????????????????????? → ????????????????????]

163

3.8.3
Одномерные колебания
Поперечные колебания струны, продольные колебания упругого стержня и многие другие явления описываются одномерным волновым уравнением
 
t
x
f
u
a
u
x
x
t
t
,
2




(1)
Для однозначного определения решения необходимо задать начальные условия
   
x
x
u


0
,
,
 
 
x
t
x
u
t


,
'
(2) и граничные условия, если у колеблющегося объекта имеются границы.
Известно общее решение Даламбера задачи (1), (2) для неограниченной прямой [2]
 
 
 
 













t
t
a
x
t
a
x
at
x
at
x
d
d
f
a
d
a
at
x
at
x
t
x
u
0
,
2 1
)
(
2 1
2
)
(
)
(
)
,
(











(3)


0
,






t
x
. Формула (3) при любых функциях
   
x
x


,
и
 
t
x
f
,
дает решение уравнения (1).
Основная идея построения интегрального решения первой краевой задачи для одномерного волнового уравнения (1) на конечном отрезке [0,L] при начальных условиях
(2) и нулевых граничных условиях
0 0
)
,
(
,
0
)
,
0
(



t
t
L
u
t
u
состоит в следующем. В соответствии с методом продолжения выполняется нечетное периодическое продолжение начальных функций
   
x
x


,
и
 
t
x
f
,
на всю ось Ox [8]. Подстановка продолженных таким образом функций в (3) дает функцию u(x,t), являющуюся решением уравнения колебаний (1), удовлетворяющую на отрезке [0, L] начальным условиям (2) и обращающуюся в ноль на концах этого отрезка. Известно [8, 9], что результирующая формула может быть представлена в виде


















 



 
))
2
,
(
(
)
1
(
))
2
,
(
(
)
1
(
2 1
)
,
(
L
at
x
stc
L
at
x
stc
t
x
u
L
t
a
x
L
t
a
x


 




 
 


 













t
L
t
a
x
stc
L
t
a
x
stc
L
t
a
x
stc
L
t
a
x
stc
d
f
d
a
d
a
0 2
,
2
,
2
,
2
,
,
2 1
2 1











0
,
0



t
L
x
(4) где квадратные скобки [z] используются для обозначения целой части числа z, а функция
 
w
x
stc ,
представляет периодическую пилообразную непрерывную кусочно-линейную функцию, определяемую формулой (2.6). Приведем ее здесь еще раз.


164



 


2 1
)
,
(
w
x
w
x
w
x
stx
или









w
x
w
w
x
stc


2
cos arccos
2
,
,
(5)
В части 2 п.2.4.5 мы рассмотрели несколько примеров, в которых полагали начальную скорость равной нулю
 
 
0
,
'


x
t
x
u
t

и
 
0
,

t
x
f
. Если положить начальное смещение и внешнее усилие равными нулю
 
0

x

и
 
0
,

t
x
f
, то решение примет вид
 








L
t
a
x
stc
L
t
a
x
stc
d
a
t
x
u
2
,
2
,
2 1
)
,
(





0
,
0



t
L
x
(6)
Во всех примерах этого пункта будем полагать скорость распространения колебаний равной единице
1

a
Пример. Конечная струна длины L=1, закрепленная на концах. Начальное
смещение ноль. Начальная скорость в форме ступеньки. Струна возбуждается ударом жесткого плоского молоточка, сообщающего ей начальное распределение скоростей
 




















L
x
c
c
x
c
v
c
x
x
t
u
t





,
0
,
0
,
0 0
0
,
где с – координата середины точки удара, δ – полуширина ступеньки.
Пусть начальная скорость всюду ноль, кроме отрезка [0.4, 0.6], где она равна единице, т.е.
 
 










6 0
4 0
,
0 6
0 4
0
,
1 0
,
'
x
x
x
x
x
u
t

. Решение будем строить, используя формулу (6). Определим функцию
 
w
x
stc ,
????????????[????_, ????_] = ???????????? ???? − ???? ????????????????????
????
????
+
????
????
;
????????????????[????????????[????, ????], {????, −????, ????}, ???????????????????????????????????????????? → ????????????????????????????????????]
Создадим функцию начальной скорости
 
x

????[????_] = ????????????????????????????????????[{{????, ???? ≤ ????. ????}, {????, ???? < 0.6}}, ????];
????????????????[????[????], {????, ????, ????}]
Создаем функцию решения и строим анимацию.
???? =. ; ????[????_, ????_] =
????
????????
????????????????????????????????[????????????????????????????????????[????[????], {????, ????, ????},
???????????????????????????????????????????? ⧴ ???? > ???? && ???? > ????]]
????[????_, ????_] = ????[????, ????]/. {???? → ????????????[???? − ????????, ????????], ????−> ????????????[???? + ????????, ????????]};
???? = ????; ???? = ????;???? = ????????????????????[????, ????. ????????, ????. ????????];


165
????????????????????????????[
???????????????? ???? ????, ???? , ????, ????, ???? , ???????????????????????????????????? → −????. ????????, ????. ???????? , ???????????????????????????????????? → ???? ,
{????, ????}, ???????????????????????????????????????????????????????????????? → ????????????????????]
На следующем рисунке показаны профили струны в некоторые последовательные моменты времени.
Для этой краевой задачи в литературе приводится решение в виде ряда Фурье
([2], стр. 156-157)




1 2
2 0
sin sin sin sin
1 4
)
,
(
k
L
t
a
k
L
x
k
L
k
L
c
k
k
a
L
v
t
x
u






Вод код для построения формы струны с помощью ряда.
???? = ????; ???? = ????; ???????? = ????; ???? = ????. ????; ???? = ????. ????;
????????[????_, ????_] =
????????????????
????
????
????
????????????[
????
????
????
????????????[
????????????
????
]????????????[
????????????
????
]????????????[
????????????
????
]????????????[
????????????????
????
], {????, ????, ????????}];
????????????????????????[????????[????, ????], {????, ????, ????}, {????, ????, ????. ????}, ???????????????? → {????, ????????}, ???????????????????????????????????????? → ????????,
???????????????????????????????????? → ????????????????, ???????????????????????????????????? → {????, ????}]
На предыдущем рисунке слева представлены профили струны в дискретные моменты времени
4 0
0


t
(период колебаний равен 2). Как видим, решения полученные обоими способами, совпадают. Но во втором решении мы ограничили сумму 50 – ю слагаемыми, и поэтому оно является приближенным.
Если построить график решения в близкий к нулевому момент времени, то осцилляции, создаваемые частичной суммой ряда Фурье, будут заметны.
????????????????[????????[????, ????. ????????????], {????, ????, ????}] (* предыдущий рисунок справа *)
Это связано с тем, что точное (обобщенное) решение принадлежит классу C
0
, а не

C , которому принадлежит частичная сумма ряда Фурье.

Пример. Конечная струна, закрепленная на концах. Начальное смещение ноль.
Внешнее усилие ноль. Начальная скорость в форме трапеции.
Создаем функцию
 
x

????????????????????[????, ????, ????, ????, ????, ????, ????, ????, ????];
???? ????_ = ???????? ????????????????????????????????????[{{????, ???? ≤ ????. ????}, {???? − ????. ????, ???? < 0.7}, {????. ????, ???? ≤ ????. ????},
{????. ???? − ????, ???? ≤ ????. ????}}, ????];
????????????????[????[????], {????, ????, ????}]

166
Поскольку функция Integrate умеет работать с кусочными функциями, то при построении решения будем использовать ее (а не NIntegrate).
????[????_, ????_] =
????
????????
????????????????????????????????[????????????????????????????????????[????[????], {????, ????, ????},
???????????????????????????????????????????? ⧴ ???? > 0 && ???? > 0]];
????[????_, ????_] = ????[????, ????]/. {???? → ????????????[???? − ????????, ????????], ????−> ????????????[???? + ????????, ????????]};
???? = ????; ???? = ????; ???? = ????????????????????[????, ????. ????????, ????. ????????];
????????????????????????????[
????????????????[????[????, ????], {????, ????, ????}, ???????????????????????????????????? → {−????. ????????, ????. ????????}, ???????????????????????????????????? → ????],
{????, ????}, ???????????????????????????????????????????????????????????????? → ????????????????????]
На следующем рисунке показана панель анимации в некоторые последовательные моменты времени.
Здесь мы использовали код, создающий функцию stc, из предыдущего примера. Заметим, что при создании функции решения u(x,t) можно было бы использовать функцию NIntegrate, например так
????[????_, ????_] ≔ (???? = ????????????[???? − ????????, ????????]; ???? = ????????????[???? + ????????, ????????];
????
????????
????????????????????????????????????????[????[????], {????, ????, ????}]);
Однако в этом случае вычисления будут выполняться значительно дольше.

При решении одномерного волнового уравнения на конечном отрезке часто используется метод разделения переменных. Рассмотрим, к каким формулам приводит этот метод при решении 1 – й краевой задачи для конечной струны.
Пусть
 
0
,

t
x
f
, начальные условия имеют вид (2)
   
x
x
u


0
,
,
 
 
x
t
x
u
t


,
'


L
x


0
,
(2) граничные условия равны 0 (
   
0
,
,
0


t
L
u
t
u
) и согласованы с начальными условиями, т.е.
   
0 0


L


. Разложим функции
   
x
x


,
на отрезке [0,L] в ряд по синусам.
 




1
sin
n
n
L
x
n
x



, где
 
x
d
L
x
n
x
L
L
n



sin
2 0


 




1
sin
n
n
L
x
n
x



, где
 
x
d
L
x
n
x
L
L
n



sin
2 0


Тогда функция


167
 
L
t
a
n
L
x
n
a
n
L
L
t
a
n
L
x
n
t
x
u
n
n
n







sin sin cos sin
,
1





(7) будет представлять решение уравнения (1), удовлетворять начальным условиям
(2) и нулевым граничным условиям. То, что функция
 
t
x
u , удовлетворяет уравнению (1) и нулевым граничным условиям следует из того, что каждое слагаемое в (7) удовлетворяет уравнению и граничным условиям. Выполнение начальных условий проверяется подстановкой t=0 в выражение (7) и в ее производную по t. Действительно, из (7) при t=0 сразу получаем
 
 





1
sin
0
,
n
n
x
L
x
n
x
u



. Далее из (7) имеем
 
 
x
L
x
n
L
a
n
L
t
a
n
L
x
n
a
n
L
x
u
n
n
t
n
n
t
























1 0
1
sin cos sin
0
,
'
Таким образом, алгоритм решения уравнения колебаний конечной струны с закрепленными концами и нулевым внешним усилием состоит в следующем.
Надо разложить начальные функции
   
x
x


,
на отрезке [0,L] в ряд по синусам и, зная коэффициенты
n
n


,
построить ряд (7). Напишем общую процедуру решения уравнения колебаний конечной струны с закрепленными концами, реализующую формулу (7). Имеем
????????????????????[????????????????????????????????????????]
???????????????????????????????????????? = ????????????????????????????????[{????, ????, ????, ????, ????, ????, ????}, ????????????????????[{????????, ????????, ????????, ????????},
???????? = ????????????????[????[????????????????????????????????????????????????????????????????[????[????], ????, ????,
???????????????????????????????????????????????????????????????????? → {????, ????/????}]]];
???????? = ????????????????[????[????????????????????????????????????????????????????????????????[????[????], ????, ????,
???????????????????????????????????????????????????????????????????? → {????, ????/????}]]];
???????? = ????????/. {????????????[????_] → ????????????[????]????????????[
????
????
????????]};
???????? = ????????/. {????????????[????_] → ????????????[????]????????????[
????
????
????????]/(????/????)};
???????? + ????????]];
Функция solFourier возвращает выражение частичной суммы (7), приближающей решение u(x,t). Она принимает следующие аргументы: идентификаторы/имена переменных x и t, значение параметра a из уравнения
(1), длину отрезка L, функции начального смещения φ и начальной скорости ψ
(не выражения), количество членов n
частичной суммы Фурье. Протестируем созданную функцию.
Пример. Конечная струна, закрепленная на концах. Начальная скорость 0.
Начальное смещение в форме треугольника.
Создаем функцию смещения
 
x

????[????_] = ????????????????????????????????????[{{????, ???? ≤ ????. ????}}, ???? − ????];
????????????????[????[????], {????, ????, ????}]


168
Создаем функцию решения u(x,t) и строим график
????[????_, ????_] = ????????????????????????????????????????[????, ????, ????, ????, ????, ????&,50];
????????????????????????[????[????, ????], {????, ????, ????}, {????, ????, ????. ????}, ???????????????? → {????, ????????}, ???????????????????????????????????????? → ????????,
????????????????????????????????????−> ????????????????, ????????????????????????????????????−> {????, ????}]
Обратите внимание на то, как мы задаем нулевую скорость – в виде чистой функции 0&.
Сравните с решением этой задачи в п.2.4.5 (пример 5.4) предыдущей части. Решения идентичны, если не обращать внимание на то, что частичная сумма представляет приближенное решение. Выбор количества членов ряда равное 50 делает погрешность вычислений малой.

Пример. Конечная струна, закрепленная на концах. Начальное смещение ноль.
Начальная скорость в форме трапеции.
????[????_] = ????????????????????????????????????????????[{{????, ???? ≤ ????. ????}, {???? − ????. ????, ???? < 0.7}, {????. ????, ???? ≤ ????. ????},
{????. ???? − ????, ???? ≤ ????. ????}}, ????];
????????????????[????[????], {????, ????, ????}, ???????????????????????????????????? → {????????????????????, ????????????????????????????????????[????. ????????]}]
????[????_, ????_] = ????????????????????????????????????????[????, ????, ????, ????, ????&, ????, ????????];
????????????????????????[????[????, ????], {????, ????, ????}, {????, ????, ????. ????}, ???????????????? → {????, ????????}, ???????????????????????????????????????? → ????????,
????????????????????????????????????−> ????????????????, ????????????????????????????????????−> {????, ????}]
Сравните с решением этой задачи, полученной нами в этом пункте ранее.
Решения идентичны.

Пример. Конечная струна, закрепленная на концах. Начальная скорость 0.
Начальное смещение в форме кубической параболы.
????[????_] = ???? ????
????
(???? − ????);
????????????????[????[????], {????, ????, ????}, ???????????????????????????????????? → {????????????????????, ????????????????????????????????????[????. ????????]}]

169
???? = ????; ????[????_, ????_] = ????????????????????????????????????????[????, ????, ????, ????, ????, ????&,50];
???? = ????????????????????[????, ????. ????????????, . ????????????];
????????????????????????????[????????????????[????[????, ????], {????, ????, ????}, ???????????????????????????????????? → {????????????????????, ????????????????????????????????????[????. ????????????]},
???????????????????????????????????? → {−????. ????????, ????. ????????}, ???????????????????????????????????? → ????],
{????, ????}, ???????????????????????????????????????????????????????????????? → ????????????????????]
На рисунке показана панель анимации в моменты времени t = 0.25, 0.4, 0.6, 0.7,
1.0.

Пример. Конечная струна, закрепленная на концах. Начальная скорость 0.
Начальное смещение в форме трапеции.
????[????_] = ????????????????????????????????????????????[{{????, ???? ≤ ????. ????}, {???? − ????. ????, ???? < 0.7}, {????. ????, ???? ≤ ????. ????},
{????. ???? − ????, ???? ≤ ????. ????}}, ????];
????????????????[????[????], {????, ????, ????}, ???????????????????????????????????? → {????????????????????, ????????????????????????????????????[????. ????????]}]
???? = ????; ????[????_, ????_] = ????????????????????????????????????????[????, ????, ????, ????, ????, ????&, ????????];
???? = ????????????????????[????, ????. ????????????, . ????????????];
????????????????????????????[????????????????[????[????, ????], {????, ????, ????}, ???????????????????????????????????? → {????????????????????, ????????????????????????????????????[????. ????????????]},
???????????????????????????????????? → {−????. ????, ????. ????}, ???????????????????????????????????? → ????],
{????, ????}, ???????????????????????????????????????????????????????????????? → ????????????????????]
На рисунке показана панель анимации в моменты времени t = 0, 0.05, 0.1,
0.125, 0.2. Обратите внимание на кадр в момент времени t=0. На графике видна некоторая рябь, что вызвано недостаточной точностью приближения решения частичной суммой с 50 – ю членами.

Выше мы рассмотрели несколько примеров, в которых полагали внешнее усилие равным нулю
 
0
,

t
x
f
. Если положить начальное смещение и скорость равным нулю
 
0

x

и
 
0

x

, то для конечного отрезка решение (4) примет вид