Maple 9.5/10 в математике, физике и образовании - Владимир Дьяконов
Шрифт:
Интервал:
Закладка:
5.11.3. Общая характеристика пакета inttrans
Для расширенной поддержки интегральных преобразований служит пакет inttrans
Это один из пакетов, наиболее важных для общематематических и научно-технических приложений. Он вызывается командой
> with(inttrans);
[addtable, fourier, fouriercos, fouriersin, hankel, hilbert, invfourier, invhilbert, invlaplace, invmellin, laplace, mellin, savetable]и содержит небольшой набор функций. Однако эти функции охватывают такие практические важные области математики, как ряды Фурье, прямые и обратные преобразования Лапласа и Фурье и ряд других интегральных преобразований. Ниже они обсуждены более подробно.
5.11.4. Прямое и обратное преобразование Фурье
Прямое преобразование Фурье преобразует функцию времени f(t) в функцию частот F(w) и заключается в вычислении следующей интегральной функции:
Оно в аналитическом виде реализуется следующей функцией пакета интегральных преобразований inttrans:
fourier(expr, t, w)
Здесь expr — выражение (уравнение или множество), t — переменная, от которой зависит expr, и w — переменная, относительно которой записывается результирующая функция.
Обратное преобразование Фурье задается вычислением интеграла
Оно фактически переводит представление сигнала из частотной области во временную. Благодаря этому преобразования Фурье удобны для анализа прохождения воздействий (сигналов) si(t) через устройства (цепи), заданные их частотной характеристикой K(w):
si(t)→fourier→s(w)→s(w)∙K(w)→invfourier→so(t).Здесь si(t) и so(t) — временные зависимости соответственно входного и выходного сигналов.
Определение (визуализация) преобразований Фурье и примеры их осуществления представлены ниже:
> restart:with(inttrans): assume(lambda>0,а>0):
> convert(fourier(f(t), t, s), int);
> convert(invfourier(f(t),t,s),int);
> fourier(sin(t),t,w);
-I π Dirac(w - 1) + I π Dirac(w + 1)> invfourier(%,w,t);
sin(t)> fourier(1-exp(-a*t),t,w);
2 π Dirac(w) - fourier(e(-at),t,w)> invfourier(%,w,t);
1 - e(-at)> fourier(ln(1/sqrt(1+x^2)),x,y);
> fourier(BesselJ(n,x),x,y);
5.11.5. Вычисление косинусного и синусного интегралов Фурье
Разложение функции f(t) в ряд Фурье требует вычисления интегралов следующего вида:
Они получили название косинусного и синусного интегралов Фурье и фактически задают вычисление коэффициентов ряда Фурье, в который может быть разложена функция f(t).
Для вычисления этих интегралов в пакете используются следующие функции:
fouriercos(expr,t,s)
fouriersin(expr,t,s)
Поскольку формат задания этих функций вполне очевиден, ограничимся примерами визуализации сути этих функций и примерами их применения:
> convert(fouriercos(f(t),t,s),int);
> convert(fouriersin(f(t),t,s),int);
> fouriercos(5*t,t,s);
> fouriersin(5*t,t,s);
> fouriercos(exp(-t),t,s);
> fouriercos(arccos(х) * Heaviside(1-х), х, y);
> fouriersin(arcsin(x) * Heaviside(1-х), x, y);
Нетрудно заметить, что эти преобразования нередко порождают специальные математические функции. Много примеров на преобразования Фурье содержатся в файле демонстрационных примеров fourier.mws.
5.11.6. Прямое и обратное преобразование Лапласа
Преобразования Лапласа — одни из самых часто применяемых интегральных преобразований. Они широко применяются в электрорадиотехнике и часто используются для решения линейных дифференциальных уравнений.
Прямое преобразование Лапласа заключается в переводе некоторой функции времени f(t) в операторную форму F(p). Это преобразование означает вычисление интеграла
Для осуществления прямого преобразования Лапласа служит функция
laplace(expr,t,р)
Здесь expr — преобразуемое выражение, t — переменная, относительно которой записано expr, и p — переменная, относительно которой записывается результат преобразования.
Обратное преобразование Лапласа означает переход от функции F(p) к функции f(t) с помощью формулы
Для вычисления этого интеграла служит функция
invlaplace(expr, р, t)
где expr — выражение относительно переменной p, t — переменная, относительно которой записывается результирующая зависимость. Оба преобразования широко применяются в практике научно-технических вычислений и отражают суть операторного метода. При этом прямое преобразование создает изображение, а обратное — оригинал функции. Ниже приведены примеры определения и применения прямого и обратного преобразований Лапласа:
> restart:with(inttrans):
> convert(laplace(f(t),t,s), int);
> laplace(sin(t)+a*cos(t),t,p);
> invlaplace(%,р,t);
sin(t) + a cos(t)Нетрудно заметить, что в данном случае последовательное применение прямого, а затем обратного преобразования восстанавливает исходную функцию sin(t)+a cos(t). Преобразования Лапласа широко используются со специальными функциями и, в свою очередь, порождают специальные функции:
> laplace(FresnelC(t),t,p);
> laplace(Si(t)+Ci(t)+erf(t),t,p);
> laplace(BesselJ(0,t),t,p);
> invlaplace(1/sqr(р^2+1),t,р);
Преобразования Лапласа широко используются для решения линейных дифференциальных уравнений в аналитическом виде. Ниже дана пара простых примеров, иллюстрирующих технику такого решения для дифференциальных уравнений второго порядка с применением функции dsolve:
> de1 := diff(y(t),t$2) + 2*diff(y(t),t) + 3*y(t) = 0;
> dsolve({del,y(0)=0,D(y)(0)=1},y(t),method=laplace);
> de2 := diff(y(х),х$2) - y(х) = x*cos(x);
> dsolve({de2,y(0)=0,D(y)(0)=0},y(x), method=laplace);
Множество примеров на применение преобразования Лапласа можно найти в файле laplace.mws, имеющимся на Интернет-сайте корпорации MapleSoft.
5.11.7. Интегральное преобразование Ханкеля
Интегральное преобразование Ханкеля задается следующим выражением:
и выполняется функцией
hankel(expr, t, s, nu)
Здесь expr — выражение, равенство (или множество, или список с выражениями/равенствами), t — переменная в expr, преобразуемая в параметр преобразования s, nu — порядок преобразования. Следующий пример демонстрирует вывод и применения функции Ханкеля:
> convert(hankel(f(t), t, s, v), int);
> hankel(sqrt(t)/(alpha+t), t, s, 0);
> hankel(sqrt(t)*Ci(alpha*t^2),t,s,0);
> hankel(1/sqrt(t)*erfс(alpha*t),t,s,0);
> assume(-1/2<mu,mu<1/2);
hankel(1/sqrt(t)*BesselY(mu,alpha/t),t,s,mu);
> hankel(t^(1/3), t, s, 2);
5.11.8. Прямое и обратное преобразования Гильберта
Прямое преобразование Гильберта задается следующим выражением:
и превращает функцию f(t) в F(s). Обратное преобразование Гильберта означает нахождение f(t) по заданной F(s). Эти преобразования выполняются функциями:
hilbert(expr, t, s)
invhilbert(expr, t, s)
где назначение параметров очевидно. Приведенные ниже примеры иллюстрируют выполнение этих преобразований:
> restart:with(inttrans):
> assume(-1/2<v,v<3/2,nu>0,a>0,alpha>0,beta>0):
> convert(hilbert(f(t),t,s), int);
> convert(invhilbert(f(t),t,s),int);
> hilbert(exp(1), r, z);
0> hilbert(f(u), u, t);
hilbert(f(w), u, t)> hilbert(%, t, s);
-f(s)> hilbert(t*f(t), t, s);
> hilbert(t/(t^2+1),t,s);
> invhilbert(%,s,t);
> hilbert(sin(x)/x,x,y);
> hilbert(%,y,2);
-ln(I Z)> hilbert(Ci(abs(t)),t,s);
-signum(s) Ssi(|s|)> hilbert(signum(t)*Ssi(abs(t)),t,s);
Ci(|s|)> hilbert(t*f(a*t)^2,t,s);
Как видно из этих примеров, обратное преобразование Гильберта, осуществленное над результатом прямого преобразования, не всегда восстанавливает функцию f(t) буквально. Иногда преобразование Гильберта (см. последний пример) выражается через само себя. Много интересных примеров на это преобразование Гильберта можно найти в файле gilbert.mws.