Интегральные преобразования Гильберта и Лапласа в среде Maple
Что такое Maplet? Это графический интерфейс, содержащий окна, строки ввода текста и формул, элементы управления и отображения информации, который осуществляет доступ к ядру Maple [3]. Система Maple приспособлена для решения задач без использования традиционного программирования. А пользователю Maplet уже не нужно составлять программу и изучать синтаксис Maple.
Например, нужно вычислить преобразование Лапласа от модифицированной функции Бесселя нулевого порядка:
Для этого нужно открыть пакет Maple 13 и войти в Lapalace.maplet, где мы создадим Maple-вычислитель, который выполнит процедуру преобразования. После пуска Lapalace.maplet появится шаблон (рис. 1а), в нижнюю строку которого f(t) введем функцию Бесселя, над которой необходимо произвести ИП Лапласа: f(t) → BesselI (0, t), затем нажимаем кнопку DO Int и получаем искомое ИП (рис. 1).
Рис. 1. а) Шаблон для вычисления ИП Лапласа; б) результат процедуры вычисления ИП
После чего книги с формулами преобразований можно сдать в библиотеку, чтобы они не занимали место. Заметим, что на панели инструментов Tools → Assistans и Tools → Tutors можно найти ряд интерфейсов Maplet по различным разделам техники вычислений.
Предлагаемый Maplet-вычислитель интегральных преобразований представляет собой группу из четырех интерфейсов, которые реализуют процедуры, указанные в таблице 1.
Таблица 1. Процедуры преобразования
Вид интегрального преобразования | Определение | Процедура прямого преобразования | Процедура обратного преобразования |
Лапласа | laplace(expr,t,s) | invlaplace(expr,s,t) | |
Гильберта | hilbert(expr,t,s) | invhilbert(expr,s,t) |
Примечание. Здесь t, s — переменные; expr — функция переменных.
Прежде чем создать Maplet-вычислитель интегральных преобразований, создадим простой Maplet-вычислитель неопределенного интеграла, а потом путем коррекции программы, согласно процедурам, указанным в таблице 1, создадим интерфейс для вычисления ИП.
Итак, вычислим интеграл ∫sin(x2)dx с помощью Maplet (рис. 2), который выражается через интеграл Френеля:
для чего введем значение подынтегральной функции в строку f(x) → sin(x^2) и нажмем кнопку Do. Вся процедура вычисления свелась к вводу подынтегральной функции и нажатию кнопки Do.
Рис. 2. Вычисление интеграла ∫sin(x2)dx с помощью Maplet
Для создания графического интерфейса нашего Maplet нам понадобятся всего три элемента: кнопка управления
, строка ввода/вывода
и метка для индикации
, которые расположены на панели Body (рис. 3).
Рис. 3. Панель элементов Body управления и индикации Maplet
Создадим Maplet для вычисления интеграла, который изображен на рис. 2. Для этого потребуется выполнить 8 шагов:
- Шаг 1. С помощью выпадающего меню Tools → Assistans → Maplet Builder… находим шаблон Maplet Builder – Untitled Maplet (рис. 4).
Рис. 4. Открытие шаблона Maplet Builder – Untitled Maplet
- Шаг 2. Щелкнув мышкой по иконке Maplet Builder – Untitled Maplet, откроем шаблон (рис. 5).
Рис. 5. Шаблон Maplet Builder – Untitled Maplet
- Шаг 3. Откроем меню для разделения рабочего поля на зоны, чтобы создать рабочее поле в три ряда (рис. 6).
Рис. 6. Меню для разделения рабочего поля на зоны
- Шаг 4. С помощью команды numrows→3 разделим рабочую область на три зоны (рис. 7).
Рис. 7. Разделение рабочего поля на зоны
- Шаг 5. В верхнюю часть рабочего поля поместим строку с меткой Int(f(x):
- Шаг 6. В среднюю часть рабочего поля поместим строку с меткой f(x):
- Шаг 7. В нижнюю часть рабочего поля поместим две кнопки с метками Ok! и Do:
- Шаг 8. Откроем подменю onclick → clickButton1 (рис. 8), а затем Evaluate Expression. Во всплывающем окне Evaluate Expression введем команду int(TextField2,x), после чего нажмем кнопку Ok (рис. 9).
Рис. 8. Открытое подменю onclick → clickButton1 в меню Button1
Рис. 9. Введение команды int(TextField2,x)
Начало листинга Maplet для вычисления интеграла выглядит следующим образом:
> with (Maplets[Elements]): > maplet := > Maplet(‘onstartup’=’Action1’,’reference’=’Maplet1’, |
Для организации вычисления ИП в код вводится расширение в виде пакета with(MTM). Расширение MTM (Maple Toolbox for MATLAB) поддерживает ИП как в пакете Maple, так и в MATLAB Toolbox.
Начало листинга Maplet для вычисления ИП будет выглядеть следующим образом:
> with (Maplets[Elements]):with(MTM): > maplet := > Maplet(‘onstartup’=’Action1’,’reference’=’Maplet1’ |
Проиллюстрируем работу Maplet простым примером и вычислим ∫sin(x)dx (рис. 10).
Рис. 10. Результат вычисления ∫sin(x)dx
Теперь создадим комплект из четырех Maplet для вычисления ИП согласно таблице 1, выполнив восемь описанных выше шагов. Кроме того, в код нужно добавить расширение with(MTM). Четыре Maplet для ИП показаны в таблице 2. Осуществим четыре очевидных преобразования над функцией sin(t), которые показаны в таблице 2.
Таблица 2. Преобразования Maplet для ИП
Вид интегрального преобразования | Процедура прямого преобразования | Процедура обратного преобразования |
Лапласа | ||
Гильберта |
Время, затраченное на создание комплекта, с лихвой окупится при разработке проектов.
Таким образом, разработчик сам создает инструмент в виде иконки на рабочем столе, который заменяет пользование сразу несколькими справочниками по интегральным преобразованиям.
Литература
- Сиберт У. М. Цепи, сигналы, системы. Ч. 1. М.: Мир, 1988.
- Гоноровский И. С. Радиотехнические цепи и сигналы. М.: Советское радио, 1971.
- http://powertool.narod.ru/maple.htm