Maple для студентов физиков. Часть 1. Учебное пособие
.pdf
Глава 3. Графика
Задача 2.3
Проверьте графически правильность следующих равенств. (Это не то же самое, что аналитическое доказательство, но бывают случаи, когда график лучше тысячи лемм)
exe 2x e 3x ; ln(x) ln(2x) ln(2x2 ); 5ln(x) ln(x5 ).
Стройте график только для положительных х, чтобы избежать вычислений логарифмов от отрицательных чисел.
Графическая проверка равенства двух выражений будет легче, если их нарисовать разными цветом и линиями разной толщины, при-
менив опцию команды plot: color=[red,green],thickness=[10,2].
Задача 2.4
С помощью графического экспериментов покажите, что экспонента растет быстрее любой показательной функции и что логарифм (натуральный) растет медленнее, чем любая функция с дробным показателем степени. Сделайте это путем выбора нескольких определенных фиксированных степеней х и стройте графики в приблизительно подходящих по масштабу окнах. (Напоминаю: если размер вертикальной шкалы не включен команду Maple, то он сам выбирает ее масштаб.) При работе с экспонентой вы можете попасть на ошибку арифметики с плавающей запятой из-за попытки построить график для очень больших чисел. Стандартный способ избежать этой проблемы – рисовать функцию ln на отдельном графике. Если использовать функцию log10(x), то будет проще сказать, что происходит с большими числами. И еще: если используете для сравнения дробные степени, вам придется использовать очень большие значения х. Поэтому вместо х используйте log10(x), т. е. применяйте x = 10^t и стройте графики в зависимости от t, а не от x.
Задача 2.5
Графически проверьте следующие тригонометрические равенства.
Вместо наложения двух графиков стройте разность: правая часть минус левая часть. Прокомментируйте, почему вы не получили истинный ноль.
61
Maple для студентов физиков
sin(2x) 2sin(x)cos(x); cos(2x) cos(x)2 sin(x)2 .
x |
2 |
|
1 cos(x) |
x |
2 |
|
1 cos(x) |
|
|||
sin |
|
|
|
; cos |
|
|
|
. |
|||
2 |
2 |
2 |
2 |
||||||||
|
|
|
|
|
|
|
|||||
Задача 2.6
Покажите графически, что когда вы складываете sin(x) и cos(x), то вы получаете другую синусоиду с новой амплитудой и сдвигом фазы. Создайте график, задав сумму этих функций, как новую функцию F и затем ее нарисуйте. Найдите из графика новую амплитуду и сдвиг фазы относительно косинуса, иными словами: найдите графически сумму синуса и косинуса в виде Acos(x – ).
Фурье-анализ / Fourier analysis
Фурье-анализ применяется в физике как мощный метод решения ДУ в частных производных. Он основан на общей идее о том, что из бесконечной суммы простых функций можно построить сложную функцию. Выше вы видели такое на примере сложения синуса и косинуса и получили сдвиг фазы в косинусе.
Вот еще важные для физики простые примеры. Сложите две функции с разными частотами:
>restart;
>f:=t-> cos(t)+cos(1.1*t);
>plot(f(t),t=0..200*Pi,numpoints=1000);
Вероятно, вы имели дело с этим графиком. Вспомните звуки, которые издает духовая труба (горн, например) в руках неумелого музыканта: вау-ва-вау-ва (в общем, как-то так). А если их двое, и они пытаются играть по нотам? Результат у каждого разный, но вместе они достанут кого угодно. Вот это и показывает нарисованный выше график. Быстрые колебания – это вопли, а медленные колебания амплитуды – это ноты.
62
Глава 3. Графика
Задача 2.7
Поиграйте с нарисованным выше графиком биений и найдите отношениеразностимеждудвумяугловымичастотами( впримеревыше
1 = 1 и 2 = 1.1) к угловой частоте, определяемой как |
2 |
, где |
|
||
|
Tbeat |
|
Tbeat – время между последовательными громкими звуками. Теперь проиллюстрируем теорему Фурье.
В ней утверждается, что любую периодическую функцию можно представить бесконечной суммой синусов и косинусов, имеющих тот же период, что и функция. В этих суммах синусы и косинусы умножаются на коэффициенты, величины которых становятся малыми при больших значениях индекса суммы .
Например, вот сумма косинусов с коэффициентами, которые спа-
дают как 1 , запрограммированная командой суммы в Maple. n
> g:=x-> sum(cos(n*x)/n,n=1..100);
Посмотрим, как выглядит эта функция, нарисовав сумму средства-
ми Maple:
> plot(g(x),x=0..6*Pi);
Учтите, что
(1)эта функция периодическая и
(2)вы вероятно не догадываетесь как она выглядит.
Задача 2.8 |
100 |
( 1)n cos (2n 1)t |
|
|
|
|
|||
Рассмотрим сумму Фурье |
|
. |
||
2n 1 |
|
|||
|
n 1 |
|
|
|
Нарисуйте ее от t = 0 до t = 2 , рассматривая эту сумму как функ-
цию Maple.
Теперь измените сумму так, чтобы в числителе стоял квадрат, замените косинус на синус и снова нарисуйте. Затем измените множитель в знаменателе на куб и вновь нарисуйте. Затем замените его же на 4-ю степень и опять нарисуйте. Эта последовательность иллюстри-
63
Maple для студентов физиков
рует свойство рядов Фурье, которого нет в большинстве книг по математике.
Функции с разрывами обладают рядами Фурье, в которых члены
стремятся к 0 как 1 (а в разрывах они имеют волноообразные детали, n
называемые особенностями Гиббса).
Функции с разрывами первой производной спадают как 1 . Функ- n2
ции, имеющие разрыв второй производной спадают как 1 и т. д. n3
Функции, не имеющие особенностей и особенностей в произво-
дных любого порядка спадают быстрее, чем любая степень 1 , что n
означает, что она должна спадать экспоненциально по n, как e n ,
1 и т. п. cosh(n)
Вы увидите спадающие аналогичным образом ряды Фурье в курсе электродинамики.
Волновые пакеты
Применим идею Фурье-анализа к построению волновых пакетов и для проверки принципа неопределенности. Вероятно, вы думаете, о принципе неопределенности только в терминах квантовой механики, но в действительности это результат Фурье-анализа. Но поскольку Фурье-анализ находится в основе всей квантовой механики, не должно быть сюрпризом, что этот важный физический принцип оказывается математическим результатом.
Дляпостроенияволновогопакетасуммируемпакеткосинусовилисинусов с частотами, близко расположенными к центральной частоте. В результате получается волна на центральной частоте, но она живет внутри оболочки, созданной деструктивной интерференцией соседних волн.
64
Глава 3. Графика
Покажем это:
>restart;
>A:=w-> exp(-(w-4)^2*20);
Нарисуем, чтобы увидеть частотное распределение:
> plot(A(w),w=0..5,labels=[‘w’,’A’]);
Важно иметь инструмент описания того, насколько широким является это распределение. Общая идея: применяют понятие «полная ширина на половине ординаты максимума», кратко ПШПМ (англ. – full width at half maximum – FWHM). Это ширина между двумя точ-
ками распределения, A( ), где А – половина ординаты максимума. Посмотрите на график и грубо проверьте, что FWHM получается при= 0.37. Сделав небольшие выкладки вы увидите, что точная вели-
чина есть ln(2) . 5
Теперь построим функцию от времени, которая составлена как суперпозиция 100 волн с частотами между = 0.35 и = 4.5 (частоты вне этого диапазона имеют недостаточную амплитуду, чтобы существенно повлиять на результат, в соответствии с графиком выше).
> f:=t-> sum(cos((3.5+n/100)*t)*A(3.5+n/100),n=0..100);
Учтите, что диапазон n от 0 до 100, добротность 3.5 n – от
100
3.5 до 4.5, как описано выше для ω. Теперь можем построить временной сигнал и, используя частотную функцию A( ), увидеть, за какое время этой суперпозицией создается функция f(t).
>plot(f(t),t=-50..50,numpoints=1000);
Впространстве частот мы видим, что частотное распределение амплитуд конечной ширины создает распределение конечной шири-
ны – волновой пакет.
Теперь перейдем к принципу неопределенности. Эта теорема го-
ворит, что произведение ширины амплитудной функции A( ), которое мы называем , и ширины временного сигнала t (ширины нарисо-
65
Maple для студентов физиков
ванного выше волнового пакета) не меньше, чем число, по порядку равное 1.
Вдействительности оно примерно равно 6, если мы измеряем ширину как FWHM.
Всимвольной записи 6 ≤ t.
Учтите, что в формуле число 6 неточное. Причина в том, что формулировка принципа неопределенности с помощью FWHM – неточная. Однако, если частотная зависимость описывается статистическим нормальным распределением, то принцип неопределенности становится точным (по виду). Если эта идея кажется вам странной, приглашаем в квантовую механику.
Задача 2.9
Проверьте принцип неопределенности в построенном графике. Затем измените ширину амплитудной функции A( ), изменяя параметр 20 в ее определении на нечто другое и постройте новые графики. Проверьте, что соотношение неопределенности сохранится и для этих графиков.
Рисование данных
Maple не вполне предназначен для анализа данных (он больше любит функции). Для данных лучше подходят LabView или MatLab. Но вам, возможно, придется вводить в Maple какие-то данные и сравнивать их с формулами, и поэтому надо владеть соответствующими приемами.
Maple хранит и строит данные в матричной форме.
Для чтения данных предназначена команда readdata:
> d:=readdata(«datafile»,2);
Цифра 2 означает, что в файле данных две колонки. При исполнении команды получите ошибку, поскольку у вас нет файла данных с именем datafile в соответствующей директории (папке), в которой вы работаете. Для исправления ошибки используйте Блокнот Windows для создания файла данных такого вида (не забывайте о возможности копирования/вставки ):
66
Глава 3. Графика
01.0
11.5
21.9
32.6
43.7
55.4
67.3
710.4
814.2
920.0
1029.0
После того как вы правильно создали файл и правильно сохранили его в рабочей директории, попытайтесь снова выполнить команду. Удачно или нет? Если нет – это потому, что Блокнотавтоматическиставит всем файлам расширение .txt. Поэтому команду чтения readdata придется исправить так
> d:=readdata("datafile.txt",2);
Если вы все еще в окне Windows, то эта конструкция не работает, потому что Maple не ищет ваш файл в правильной директории. Для исправления этого примените команду currentdir: currentdir("имя директории"), например,
> currentdir("c:\\PhysicsMaple");
Для поиска рабочей папки (директории) применяется команда:
> currentdir();
Если надо перейти на диск:
> currentdir("a:");
(Применять команды DOS не получится, Maple их не поймет). Сохраненные в матрице числа Maple может построить с помощью
команды pointplot, как показано ниже. Но для того, чтобы она сработала, необходимо загрузить пакет with(plots) (он большой, поэтому приходится загружать только тогда, когда он нужен). Без пакета ответом Maple будет повтор команды синим текстом на экране.
67
Maple для студентов физиков
>with(plots):
>pointplot(d);
Учтите, что команда with(plots) заканчивается : , т. е. без листа выдачи на экране. Если поставить ; , то выдача будет очень большой.
Пусть теперь нам надо проверить, насколько хорошо аппрокси-
x
мируются эти данные формулой e 3 . Мы просто присвоим точечный график имени переменной, а другой переменной – формулу, а затем нарисуем их вместе: (двоеточие в конце присваиваний – чтобы не было лишней выдачи)
>p1:=pointplot(d):
>p2:=plot(exp(x/3),x=0..10):
>display({p1,p2});
Mепловский пакет stats делает подобные вещи, и можно даже сделать подгонку.
Параметрические графики
Один из лучших способов создавать сложные графики – это параметрическое представление.
Рассмотрим круг. Его формула
x2 + y2 = R2,
но если вы попробуете сразу из нее построить график, то ничего не выйдет, поэтому лучше переписать формулу в таком виде
y(x) R2 x2 |
и y(x) R2 x2 . |
Это потребует двух отдельных графиков, причем функции имеют бесконечные производные в точках x = R и x = –R, и это громоздко. Но посмотрите, как симпатично выглядят эти формулы в параметрическом представлении:
x(s) Rcos(s); y(s) Rsin(s); s 0..2 .
68
Глава 3. Графика
Ниже приведены две графические команды построения круга: в виде y(x) и параметрическая; для параметрической – с малым радиусом, чтобы были видны оба круга.
>with(plots): y(x)
>p1:=plot([sqrt(1-x^2),-sqrt(1-x^2)],x=-1..1):
параметрический вид
>p2:=plot([ .8*cos(s),.8*sin(s),s=0..2*Pi]):
>display({p1,p2});
Они выглядят одинаково – как круг.
Проблема компьютерного построения кругов: они выглядят как эллипсы, если оси имеют разный масштаб. В Maple есть простой способ исправления этой проблемы: опция constrained для уравнивания масштабов осей х и у
> display({p1,p2},scaling=constrained);
Есть еще способы построения параметрических графиков – см. ниже.
Задача 2.10
Все классические конические сечения имеют параметрический вид. Примените параметрическую команду plot для отображения кри-
вых на графике с одинаковым масштабом осей. |
|
||
Эллипс: |
x(s) = 3cos(s); |
y(s) = 1.3sin(s); |
s = 0..2π. |
Гипербола: |
x(s) = 3cosh(s); |
y(s) = 1.3sinh(s); |
s = –1.5..1.5. |
(Нарисовав их, выясните, как получить недостающую половину картинки.)
Парабола: x(s) = s cos( ) – s2 sin( ); y(s) = s2 cos( ) + s sin( ); s = –3..3.
Постройте для нескольких разных углов. Если не получится – постройте параболу в представлении y(x).
Задача 2.11
Также возможно рисовать кривые в полярных координатах. Простой пример – эллипс, но начало координат поместим в фокус
69
Maple для студентов физиков
эллипса. Нам понадобятся несколько соотношений из геометрии эллипса. Предположим, что форма (х, у) для эллипса уже задана раньше:
x(s) = a cos(s); y(s) = b sin(s), причем и b < a.
Вспомним: расстояние a назовем главной полуосью, расстояние b – побочной полуосью. Эксцентриситет эллипса определяется так:
e |
1 |
b2 |
. Для круга он = 0, и чем он меньше, тем более сплюснут |
|
a2 |
||||
|
|
|
эллипс. У эллипса есть два фокуса, один слева от центра вдоль главной оси и второй – справа. Расстояние от центра эллипса до фокуса равно f = e a.
Нарисуем эллипс в параметрическом виде (х, у) с началом координат в правом фокусе эллипса; a = 2 и b = 1. Использована стандартная параметризация, а для сдвига из x(s) вычитается f.
Задание
В цилиндрической системе координат параметрическая форма эллипса с началом координат в правом фокусе:
r( ) |
|
a(1 e2 ) |
. |
|
|
||
1 |
e cos( ) |
||
Наложив этот график на вершину ху-графика, мы тем самым проверим, что они совпадают.
Форма команды для параметрического графика в цилиндрических координатах plot([r(s),phi(s),s=s1..s2],coords=polar,options).
Например, для спирали можно использовать:
> plot([s/10,s,s=0..16*Pi],coords=polar,scaling=constrained);
Получив совпадающие графики, считайте, что работа сделана. Эллипс с длинной осью 2а, эксцентриситетом е и с началом ци-
линдрической системы координат в одном из фокусов:
r( ) |
|
a(1 e2 ) |
. |
|
|
||
1 |
e cos( ) |
||
70
