- •Основы работы и программирования, компьютерная математика Учебный курс
- •Isbn ооо «Харвест», 2008
- •Предисловие
- •Введение
- •Глава 1 знакомство с matlab и простейшие вычисления
- •1.1. Рабочая средаMatlab
- •1.2. Арифметические вычисления
- •1.3. Вещественные числа
- •1.4. Форматы вывода результата вычислений
- •1.5 Комплексные числа
- •1.6 Векторы и матрицы
- •1.7 Встроенные функции. Функции, задаваемые пользователем
- •1.8 Сообщения об ошибках и их исправление
- •1.9 Просмотр и сохранение переменных
- •1.10 Матричные и поэлементные операции над векторами и матрицами
- •1.11 Решение систем линейных уравнений
- •Вопросы для самопроверки
- •Глава 2 работа с массивами
- •2.1 Создание векторов и матриц
- •2.2 Применение команд обработки данных к векторам и матрицам
- •2.3 Создание специальных матриц
- •2.4 Создание новых массивов на основе существующих
- •2.5 Вычисление собственных значений и собственных векторов. Решение типовых задач линейной алгебры
- •Вопросы для самопроверки
- •Глава 3 м-файлы
- •3.1 Файл-программы
- •3.2 Файл-функции
- •Вопросы для самопроверки
- •Глава 4 программирование
- •4.1 Операторы отношения и логические операторы
- •4.2 Операторы цикла
- •4.3 Операторы ветвления
- •4.4 Оператор переключения switch
- •4.5 Оператор прерывания цикла break
- •4.6 Пример сравнения быстродействия матричных и скалярных операций
- •Вопросы для самопроверки
- •Глава 5 высокоуровневая графика
- •5.1 2D графика
- •5.1.1 Графики в линейном масштабе
- •5.2 Специальные виды 2d - графиков
- •5.2.1 Представление функции в виде дискретных отсчетов
- •5.2.2 Лестничные графики
- •5.2.3 Графики с указанием погрешности
- •5.2.4 Графики в логарифмическом и полулогарифмическом масштабах
- •5.2.5 Графики параметрических функций
- •5.3 3D графика
- •5.3.1 Линейчатые поверхности
- •5.3.2 Каркасные поверхности
- •5.3.3 Контурные графики
- •5.3.4 Сплошная освещенная поверхность
- •5.4 Оформление, экспорт и анимация
- •5.4.1 Оформление графиков
- •5.4.2 Сохранение и экспорт графиков
- •5.4.3 Анимация
- •Вопросы для самопроверки
- •Глава 6 прикладная численная математика
- •6.1 Операции с полиномами
- •6.2 Решение уравнений и их систем
- •6.3 Минимизация функции одной переменной
- •6.4 Минимизация функции нескольких переменных
- •6.5 Вычисление определенных интегралов
- •6.6 Решение дифференциальных уравнений
- •6.7 Аппроксимация и интерполяция данных
- •6.8 Интерполяция двумерных и многомерных данных
- •Вопросы для самопроверки
- •Глава 7 символьные вычисления
- •7.1 Символьные переменные, константы и выражения
- •7.2 Вычисления с использованием арифметики произвольной точности
- •7.3 Команды упрощения выражений – simplify, simple
- •7.4 Команда расширения выражений – expand
- •7.5 Разложение выражений на простые множители – команда factor
- •7.6 Приведение подобных членов – команда collect
- •7.7 Обеспечение подстановок – команда subs
- •7.8 Вычисление пределов – команда limit
- •7.9 Вычисление производных – команда diff
- •7.10 Вычисление интегралов – команда int
- •7.11 Разложение в ряд Тейлора – команда taylor
- •7.12 Вычисление суммы ряда – команда symsum
- •7.13 Решение уравнений и их систем – команда solve
- •7.14 Решение дифференциальных уравнений – команда dsolve
- •7.15 Прямое и обратное преобразования Лапласа – команды laplace,ilaplace
- •7.16 Графики символьных функций – команды ezplot, ezpolar
- •7.17 Прямой доступ к ядру системы Maple – командаmaple
- •7.18 Разложение рациональной дроби на сумму простейших дробей
- •7.19 Интерполяционный полином Лагранжа
- •7.20 Решение неравенств и систем неравенств
- •7.21 Разложение в ряд Тейлора функции нескольких переменных
- •7.22 Решение дифференциальных уравнений с помощью степенных рядов
- •7.23 Решение тригонометрических уравнений
- •Вопросы для самопроверки
- •Приложения Приложение 1. Справочная система matlab
- •Приложение 2. Знакомство с пакетами расширения системыMatlab
- •Приложение 3. Задания для самостоятельной работы
- •Варианты
- •Варианты
- •Варианты
- •Варианты
- •Варианты
- •Варианты
- •Варианты
- •Варианты
- •Варианты
- •Варианты
- •Варианты
- •Варианты
- •Варианты
- •Варианты
- •Варианты
- •Варианты
- •Варианты
- •Варианты
- •Варианты
- •Варианты
- •Литература
7.15 Прямое и обратное преобразования Лапласа – команды laplace,ilaplace
Преобразование Лапласа любой комплексной функции f(t) действительной переменной t имеет вид
L(s) = f(t)e-stdt.
Функцию f(t) принято назывть оригиналом, а функцию L(s) – изображением. Функция f(t) должна удовлетворять следующим условиям:
а) f(t) является непрерывной функцией для всех значений t, принадлежащих области определения. (Допускается наличие разрывов первого рода в конечном числе точек, расположенных на интервалах конечной длины. Количество таких интервалов должно быть конечным числом);
б) f(t) = 0 при t < 0;
в) существуют числа M > 0 и p ≥ 0 такие, что для всех t │f(t)│ < Mept (p называется показателем роста │f(t)│).
Некоторые простейшие) преобразования Лапласа приведены в таблице 7.1.
Таблица 7.1. Некоторые преобразования Лапласа
-
f(t)
L(s) = f(t)e-stdt.
1
s-1
e-at
(s+a)-1
sinat
a(s2+a2)-1
tn
n!s-n-1
e-atcoswt
tne-at
В MATLAB преобразование Лапласа функции f(t) осуществляется с помощью команды laplace(F,t,s).
Найдем с помощью этой команды изображения заданных в таблице 7.1 оригиналов f(t):
>> syms a t w s
>> n=sym('n','positive');
>> laplace(1,t,s)
ans =
1/s
>> laplace(exp(-a*t),t,s)
ans =
1/(s+a)
>> laplace(sin(a*t),t,s)
ans =
a/(s^2+a^2)
>> laplace(t^n,t,s)
ans =
s^(-n-1)*gamma(n+1)
>> laplace(exp(-a*t)*cos(w*t),t,s)
ans =
(s+a)/((s+a)^2+w^2)
>> laplace(t^n*exp(-a*t),t,s)
ans =
gamma(n+1)*(s+a)^(-n-1)
Полученные изображения совпадают с табличными, если учесть, что
gamma(n+1) = n! для целых n (см. разд. 7.10).
Пример:
Найти изображение функции f(t) = e-2tsin2tcos3t.
Решение:
>> syms t s
>> laplace(exp(-2*t)*sin(2*t)*cos(3*t),t,s)
ans =
5/2/((s+2)^2+25)-1/2/((s+2)^2+1)
>> pretty(ans)
1 1
5/2 ------------- - 1/2 ------------
2 2
(s + 2) + 25 (s + 2) + 1
>> factor(ans)
ans =
2*(s^2+4*s-1)/(s^2+4*s+29)/(s^2+4*s+5)
>> pretty(ans)
2
s + 4 s - 1
2 ------------------------------
2 2
(s + 4 s + 29) (s + 4 s + 5)
Итак,
L(s) = 2.
Пример:
Найти изображение функции f(t) = .
Решение:
При обращении к laplace команда возвращается без результата:
>> laplace(1/t,t,s)
ans =
laplace(1/t,t,s)
Это означает что либо изображения не существует, либо системе MATLAB не удалось его найти.
Существуют различные модификации laplace(справку можно получить с помощью командыdoclaplace).
Обратное преобразование Лапласа имеет вид
f(t) = L(s)estds.
В среде MATLAB обратное преобразование Лапласа функции L(s) можно получить с помощью команды ilaplace(L,s,t). Найдем с ее помощью оригиналы заданных в таблице 7.1 изображений L(s):
>> syms a t w s
>> n=sym('n','positive');
>> ilaplace(1/s,s,t)
ans =
1
>> ilaplace(1/(s+a),s,t)
ans =
exp(-a*t)
>> ilaplace(a/(s^2+a^2),s,t)
ans =
a/(a^2)^(1/2)*sin((a^2)^(1/2)*t)
>> ilaplace(s^(-n-1)*gamma(n+1),s,t)
ans =
t^n
>> ilaplace((s+a)/((s+a)^2+w^2),s,t)
ans =
exp(-a*t)*cos(w*t)
>> ilaplace(gamma(n+1)*(s+a)^(-n-1),s,t)
ans =
exp(-a*t)*t^n
Полученные оригиналы совпадают с табличными.
Пример:
Найти оригинал полученного ранее изображения
2
функции f(t) = e-2tsin2tcos3t.
Решение:
>> syms t s
>> ilaplace(2*(s^2+4*s-1)/(s^2+4*s+29)/(s^2+4*s+5),s,t)
ans =
1/2*exp(-2*t)*sin(5*t)-1/2*exp(-2*t)*sin(t)
>> factor(ans)
ans =
1/2*exp(-2*t)*(sin(5*t)-sin(t))
Поскольку (sin5t - sint) = sin2tcos3t, то оригинал найден верно.
Пример:
Найти оригинал изображения
L(s) = .
Решение:
Команда ilaplace возвращает решение, выраженное через функцию Хевисайда:
>> syms t s a
>> ilaplace(exp(-2*s)/(s+a),s,t)
ans =
Heaviside(t-2)*exp(-a*(t-2))
Функция Хевисайда (единичная функция) определяется следующим образом:
δ0(t)=
Следовательно, найденный оригинал имеет вид
f(t)=
Пример:
Найти оригинал изображения
L(s) = .
Решение:
Команда ilaplace возвращает решение, выраженное через корни уравнения z4+1 = 0:
>> syms t s
>> ilaplace((s^4-1)/(s^5+s),s,t)
ans =
-1+2*sum(1/4*exp(_alpha*t),_alpha = RootOf(_Z^4+1))
Команда vpa вычисляет приближенное значение оригинала с заданным количеством текущих цифр:
>> vpa(ans,4)
ans =
-1.+1.000*exp(-.7071*t)*cos(.7071*t)+1.000*exp(.7071*t)*cos(.7071*t)
Пример:
Найти оригинал изображения
L(s) = .
Решение:
Команда ilaplace возвращается без результата:
>> syms t s
>> ilaplace(exp(2*s)/(s+3)^2,s,t)
ans =
ilaplace(exp(2*s)/(s+3)^2,s,t)
Это означает что либо оригинала не существует, либо системе MATLAB не удалось его найти.
Существуют и другие модификации ilaplace(справку можно получить, введя командуdocilaplace).