Материал: Основные математические операции. методические указания к выполнению лабораторных работ по курсам «Математика» и «Специальные главы математики». Кострюков С.А., Пешков В.В

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

3. Вычисление пределов функций

Для вычисления предела функции в точке x=a в пакете Maple используются функции

limit(f,x=a); limit(f,x=a,dir);

Limit(f,x=a); Limit(f,x=a,dir);

Здесь f – алгебраическое выражение, x – имя переменной, dir –параметр, указывающий направление поиска предела(right – справа, left – слева, real – в области вещественных значений, complex – в области комплексных значений). Значением a может быть бесконечность.

Внимательно разберите примеры.

> Limit(sin(x)/x,x=0)=limit(sin(x)/x,x=0); # первый замечательный предел

> Limit(((x-2)/x)^x,x=infinity)=limit(((x-2)/x)^x, x=infinity);

> Limit(2^(1/x),x=0,left)=limit(2^(1/x),x=0,left); # левосторонний предел

> Limit(2^(1/x),x=0,right)=limit(2^(1/x),x=0,right); # правосторонний предел

> Limit(((x-2)/(1+x))^x,x=-infinity)= limit(((x-2)/(1+x))^x,x=-infinity);

> Limit((2^x-1)/x,x=0)=limit((2^x-1)/x,x=0);

4. Разложение функций в ряды

Для разложения функции или выражения в ряд служат Maple-функции

series(expr,eqn); taylor(expr,eqn);

series(expr,eqn,n); taylor(expr,eqn,n);

Функции series осуществляют разложение в степенной ряд, функции taylor – в ряд Тейлора. Здесь expr – разлагаемое в ряд выражение, eqn – имя переменной (например, x) или равенство в виде x=a, n – целое положительное число, определяющее порядок разложения (при отсутствии n полагается равным 6). При задании eqn в виде x=a разложение ищется относительно точки x=a. Если вместо x=a указано просто x, разложение осуществляется в окрестности точки x=0.

Разложение получается в форме степенного многочлена, порядок которого определяется параметром n (на единицу меньше). Остаточная погрешность задается членом вида O(x-a)^n. При точном разложении этот член отсутствует. В общем случае для его удаления можно использовать функцию convert.

> series(sinh(x),x=0); # разложение в ряд по степеням x гиперболического синуса

> series(sinh(x),x=1,3); # первые три члена разложения shx по степеням x–1

> series(sinh(x),x=1.,3); # то же самое, но коэффициенты в виде десятичных дробей

> series(sin(x)/x,x,10); # члены разложения в ряд функции sinx/x по степеням 0, 1, …, 9

# переменной x

> convert(",polynom); # отбрасывается остаточный член

> 2/sqrt(Pi)*Int(exp(-t^2),t=0..x)=

2/sqrt(Pi)*int(exp(-t^2),t=0..x); # это так называемая функция ошибок

> s:=taylor(erf(x),x,9); # разложение этой функции в ряд Маклорена

> evalf(convert(s,polynom),5); # то же разложение в числовом формате

Есть в пакете Maple и другие встроенные функции, позволяющие получить разложения в ряд математической функции. Например,

asympt – асимптотическое разложение,

laurent – разложение в ряд Лорана (доступна при подключении пакета numapprox).

> asympt(x/(1-x-x^2),x);

> with(numapprox):

> laurent(1/(x*sin(x)), x=0);

5. Вычисление сумм и произведений

Для вычисления сумм и произведений последовательностей могут использоваться функции:

sum(f,k); product(f,k);

sum(f,k=m..n); product(f,k=m..n);

sum(f,k=alpha); product(f,k=alpha);

Здесь f – функция, задающая члены суммируемого ряда, k – индекс суммирования, , m и n – целочисленные пределы изменения k, alpha – выражение формата RootOf. Значение n может быть равно бесконечности (infinity).

> sum(k^2, k=0..4);

30

> Sum(k^2, k=0..4)=sum(k^2, k=0..4);

Разработчики Maple рекомендуют при использовании упомянутых функций заключать k и f в прямые кавычки, например sum('f','k'=m..n). Это предотвратит возможную ошибку, связанную с предшествующим присваиванием переменной k определенного значения.

> sum('k^2', 'k'=0..n);

> sum('a[k]*x^k','k'=0..4);

> sum('1/k!', 'k'=0..infinity);

> r:=Sum(Sum(k^2,k=1..m),m=1..N): r=factor(simplify(value(r)));

Обратите внимание на следующий пример, в котором второй аргумент функции sum задан просто как 'k':

> t:=sum('-exp(-k)', 'k');

В справочной системе Maple такой вид суммы именуется как indefinite sum («неопределенная сумма»). Если этот результат обозначить как t(k), то выполняются свойства

, ,

где f(k) – суммируемая последовательность – первый аргумент функции sum. Проверим последнее свойство.

> subs(k=n+1,t)-subs(k=1,t);

> sum('-exp(-k)', 'k'=1..n);

По смыслу indefinite sum во многом напоминает частичную сумму Sn+1 ряда с общим членом f(k) (продумайте этот вопрос).

Произведения членов последовательности строятся аналогично:

6. Разные математические операции  convert/parfrac – разложение рациональной функции на простые дроби

> (x^5+1)/(x^4-x^2)=convert((x^5+1)/(x^4-x^2), parfrac,x);

 Residue – нахождение вычета функции в заданной точке

> readlib(residue); # загрузка данной функции

> residue(1/(1-exp(-x)), x=0);# вычет функции (1–e–x)–1 в точке x=0

laplace, invlaplace – прямое и обратное преобразования Лапласа

Краткая теоретическая справка. Если функция f(t) удовлетворяет некоторым общим условиям (f(t) – оригинал c показателем роста ), то для неё определено преобразование Лапласа , вычисляемое по формуле

.

Функция F(p) комплексной переменной p (изображение) является аналитической в области Rep>. Обратное действие, т.е. восстановление оригинала по известному изображению, называется обратным преобразованием Лапласа, символически обозначаемое . Теоретически оригинал через изображение определяется однозначно; связь f(t) и F(p) при этом дается формулой Меллина

( > ),

где интегрирование осуществляется на комплексной плоскости p вдоль любой прямой, параллельной мнимой оси и проходящей правее точки (, 0). На практике непосредственно пользоваться этой формулой трудно, поэтому для нахождения f(t) применяют специальные приёмы, например, с помощью вычетов.

Примеры на использование преобразования Лапласа:

> restart;

> with(inttrans): # подключение пакета расширения

> laplace(y(t)=t^2+sin(t),t,p); # прямое преобразование Лапласа от функции y(t)=t2+sint

> laplace(diff(y(t),t$2)-y(t)=sin(2*t),t,p); # преобразование Лапласа от обеих частей дифф-го уравнения

> product( k^2, k=1..4 );

576

> Product( n+k, k=0..m ) = product( n+k, k=0..m );

> product(k, k=RootOf(x^3-2));

Источник: https://studfile.net/preview/16566443/