Подписка на новости

Опрос

Нужны ли комментарии к статьям? Комментировали бы вы?

Реклама

 

2011 №9

Интегральные преобразования Гильберта и Лапласа в среде Maple

Лебедев Сергей  
Лиференко Виктор  

В процессе проектирования систем связи разработчикам необходимо выполнить интегральные преобразования (ИП). Чаще всего это бывают прямое и обратное преобразования Гильберта и Лапласа. Поскольку таблицы преобразований не всегда под рукой, да и не всегда доступны, разработчику полезно иметь на рабочем столе Maplet-вычислитель, который быстро выполнит процедуру преобразования. Мы покажем, как создать вычислитель, реализующий ИП, в виде иконки на рабочем окне и тем самым существенно облегчить процесс проектирования.

Что такое 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.

Вычисление интеграла с помощью Maplet

Рис. 2. Вычисление интеграла ∫sin(x2)dx с помощью Maplet

Для создания графического интерфейса нашего Maplet нам понадобятся всего три элемента: кнопка управления Кнопка, строка ввода/вывода Кнопка и метка для индикации Кнопка, которые расположены на панели Body (рис. 3).

Панель элементов Body управления и индикации Maplet

Рис. 3. Панель элементов Body управления и индикации Maplet

Создадим Maplet для вычисления интеграла, который изображен на рис. 2. Для этого потребуется выполнить 8 шагов:

  • Шаг 1. С помощью выпадающего меню Tools → Assistans → Maplet Builder... находим шаблон Maplet Builder – Untitled Maplet (рис. 4).
    Открытие шаблона Maplet Builder – Untitled Maplet

    Рис. 4. Открытие шаблона Maplet Builder – Untitled Maplet
  • Шаг 2. Щелкнув мышкой по иконке Maplet Builder – Untitled Maplet, откроем шаблон (рис. 5).
    Шаблон Maplet Builder – Untitled Maplet

    Рис. 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).
    Открытое подменю onclick → clickButton1 в меню Button1

    Рис. 8. Открытое подменю onclick → clickButton1 в меню Button1


    Введение команды int(TextField2,x)

    Рис. 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).

Результат вычисления ∫sin(x)dx

Рис. 10. Результат вычисления ∫sin(x)dx

Теперь создадим комплект из четырех Maplet для вычисления ИП согласно таблице 1, выполнив восемь описанных выше шагов. Кроме того, в код нужно добавить расширение with(MTM). Четыре Maplet для ИП показаны в таблице 2. Осуществим четыре очевидных преобразования над функцией sin(t), которые показаны в таблице 2.

Таблица 2. Преобразования Maplet для ИП

Вид интегрального преобразования Процедура прямого преобразования Процедура обратного преобразования
Лапласа
Гильберта

Время, затраченное на создание комплекта, с лихвой окупится при разработке проектов.

Таким образом, разработчик сам создает инструмент в виде иконки на рабочем столе, который заменяет пользование сразу несколькими справочниками по интегральным преобразованиям.

Литература

  1. Сиберт У. М. Цепи, сигналы, системы. Ч. 1. М.: Мир, 1988.
  2. Гоноровский И. С. Радиотехнические цепи и сигналы. М.: Советское радио, 1971.
  3. http://powertool.narod.ru/maple.htm

Скачать статью в формате PDF  Скачать статью Компоненты и технологии PDF

 


Другие статьи по данной теме:

Сообщить об ошибке