Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Maple.doc
Скачиваний:
4
Добавлен:
01.04.2025
Размер:
3.72 Mб
Скачать

8.5. Интегральные преобразования

В Maple имеется пакет inttrans, в котором содержатся команды различных интегральных преобразований.

8.5.1. Преобразование Фурье

Прямое преобразование Фурье функции f(x) вычисляется по формуле

.

В Maple оно может быть найдено командой fourier(f(x),x,k), где x  переменная, по которой производится преобразование; k  имя переменной, которое следует присвоить параметру преобразования.

Обратное преобразование Фурье задается формулой

и вычисляется командой invfourier(F(k),k,x).

Описанное выше прямое и обратное преобразования Фурье называются комплексными и применяются в тех случаях, когда функция f(x) задана на всей числовой оси. Если функция f(x) задана только при х>0, то рекомендуется использовать синус- и косинус-преобразования Фурье.

Прямое и обратное синус-преобразования Фурье функции f(x) определяются формулами

и .

Поскольку формулы синус-преобразования Фурье симметричны относительно замены x на k, то в Maple эти преобразования вычисляются одной командой, но с различным порядком указания параметров: fouriersin(f(x),x,k)  вычисляет прямое синус-преобразование Фурье; invfouriersin(F(k),k,x)  вычисляет обратное синус-преобразование Фурье.

Аналогично, прямое и обратное косинус-преобразования Фурье функции f(x) определяются формулами

и .

В Maple эти преобразования вычисляются одной командой, но с различным порядком указания параметров: fourierсоs(f(x),x,k)  вычисляет прямое косинус-преобразование Фурье; invfourierсоs(F(k),k,x)  вычисляет обратное косинус-преобразование Фурье.

Пример.

Для функции , a>0 найти обратное преобразование Фурье.

[> invfourier(1/(k^2-a^2),k,x);

После обратного преобразования Фурье результат может содержать специальные функции. В данном примере в строке вывода отобразится функция Хевисайда:

Heaviside(x)=

Результат выполнения обратного преобразования Фурье может иметь более компактный вид после применения команды convert(%,trig).

[> convert(%,trig);

Пример.

Для функции , a>0 найти синус- и косинус- преобразования Фурье.

[> f:=exp(-a*x)*sin(b*x):

[> fouriercos(f,x,k);

[> fouriersin(f,x,k);

8.5.2. Преобразование Лапласа

Преобразование Лапласа функции f(x) (если оно существует) вычисляется по формуле

.

Получаемая функция F(p) называется изображением.

В Maple это преобразование вычисляется командой laplace(f(x),x,p), где x  переменная, по которой производится преобразование; p  имя переменной, которое следует присвоить параметру преобразования.

Обратное преобразование Лапласа (называемое оригиналом) вычисляется по формуле

.

Оригинал f(x) (если он существует) может быть найден по изображению F(p) командой invlaplace(F(p),p,x).

9. Линейная алгебра

Основная часть команд для решения задач линейной алгебры содержится в библиотеке linalg. Поэтому перед решением задач с матрицами и векторами следует загрузить эту библиотеку командой with(linalg).

9.1. Векторная алгебра

Для задания вектора в Maple используется команда vector([x1,x2,…,xn]), где в квадратных скобках через запятую указываются координаты вектора.

Пример.

[> x:=vector([1,0,0]);

x:=[1, 0, 0]

Координату уже определенного вектора x можно вывести в строку вывода, если задать команду x[i] , где i  номер координаты. Например, первую координату заданного в предыдущем примере вектора можно вывести:

[> x[1];

1

Вектор можно преобразовать в список и, наоборот, с помощью команд convert(vector,list) и convert(list, vector).

Сложить два вектора a и b можно с помощью команд:

1) evalm(a+b);

2) matadd(a,b).

С помощью команды matadd можно также вычислять линейную комбинацию векторов a и b: , где  скалярные величины, если использовать следующий формат команды: matadd(a,b,alpha,beta).

Скалярное произведение двух векторов вычисляется командой dotprod(a,b).

Векторное произведение двух векторов вычисляется командой crossprod(a,b).

Угол между двумя векторами a и b вычисляется с помощью команды angle(a,b).

Норму (длину) вектора , которая равна , можно вычислить с помощью команды norm(а,2).

Нормировать вектор а можно с помощью команды normalize(a), в результате выполнения которой будет получен вектор единичной длины .

Если имеется система n векторов , то с помощью команды basis([a1,a2,…,an]) можно найти базис этой системы.

При помощи команды GramSchmidt([a1,a2,…,an]) можно ортогонализовать систему линейно-независимых векторов .

Пример.

Даны два вектора: и . Найти и угол между a и b.

Пример.

[> restart; with(linalg):

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]