Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

МЕТОДИЧКА ПО MAPLE и MATHCAD

.pdf
Скачиваний:
342
Добавлен:
10.05.2015
Размер:
8.75 Mб
Скачать

41

>Product( a[k], k=0..4 )=product( a[k], k=0..4 );

>product( a[k], k=0..n );

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

>Limit(Product(1-1/n^2,n=2..k),k=infinity):%=value(%);

Обратите внимание, что

>product(k, k=1..5);

>product(k, k=5..1);

Последний результат неверен и это ошибка Maple!

Разложение и приближение функций

Проверка функции на непрерывность на отрезке функция iscont() результатом выполнения команды будет, true разрыва нет, или false разрыв есть.

>iscont(1/x, x=1..2);

>iscont(1/x, x=-1..1);

>iscont(1/x, x=0..1);

Положение точки разрыва можно найти с помощью функции discont(),

42

либо с помощью функции singular().

>

> discont(arctan(1/2*tan(2*x))/(x^2-1),x);

здесь _Z1~ означает любое целое положительное число

>singular(x*y + 1/(x*y), x);

>singular(tan(x));

здесь _Z2 означает любое целое положительное число.

Для исследования экстремума функций одной и многих переменных используется функция extrem(expr, constr, vars, 'nv'), где expr выражение, экстремум которого нужно найти, constr ограничения, vars переменные по которым ищется экстремум, а nv имя переменной, которой будут присвоены координаты точки экстремума.

> extrema(arctan(x)-ln(1+x^2)/2,{},x,'z'); z;

Для поиска минимума или максимума функции используются функции

minimize(expr,vars,ranges,opts) и maxmize(expr,vars,ranges,opts),

где expr выражение, vars переменная, по которой ищется минимум или максимум, ranges область изменения переменной. Одним из возможных значений необязательного параметра opts является location, что указывает на необходимость вывода координаты максимума или минимума.

>minimize(x^2-3*x+y^2+3*y+3, x=2..4, y=-4..-2, location);

>maximize(x^2-3*x+y^2+3*y+3, x=2..4, y=-4..-2, location);

>minimize(x^4 - x^2, x=-3..3, location);

43

> maximize(x^4 - x^2, x=-3..3, location);

Разложение функций в ряд Разложение функции в степенной ряд

Функции series(expr,eqn,n), где expr выражение, которое следует разложить в ряд, eqn выражение вида х=а, где х переменная разложения, а точка, в окрестности которой, строится разложение , n порядок до которого строится разложение.

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

>convert(%,polynom);

>series(exp(x), x=0, 8 );

>series(x^x, x=0, 3);

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

Функция taylor(expr,eqn,n), где expr выражение, которое следует разложить в ряд, eqn выражение вида х=а, где х переменная разложения, а точка, в окрестности которой строится разложение , n порядок до которого строится разложение.

>taylor(exp(x), x=0, 4);

>int(exp(x^3), x);

44

> taylor(%, x=0,16);

Выражение, зависящее от нескольких переменных, разлагается в ряд Тейлора с помощью команды mtaylor(expr,vars,k), здесь expr разлагаемое в ряд выражение, vars список пар вида х=а, где х имя переменной, а точка , k порядок разложения.

>mtaylor(sin(x^2+y^2), [x=1,y=2],3);

>mtaylor(f(x,y), [x,y], 3);

Разложение функции в ряд Лорана Функция laurent()

>with(numapprox): (подключаем библиотеку numapprox)

>r:= (x^2 + 2*x - 3) / (x^4 - 11*x^3 + 42*x^2 - 68*x + 40);

>laurent(r, x=3, 5);

Асимптотическое разложение функциипри x asympt()

> asympt(exp(x^2)*(1-erf(x)),x);

Дифференцирование и интегрирование функций Дифференцирование функций

Вычисление производной выражения expr по переменной х

45

осуществляется командой diff(expr,x), производная порядка k вычисляется с помощью команды diff(expr,x$k). Эта же команда используется и для вычисления частных производных diff(expr,x1$n1, x2$n2,...).

>Diff(sin(x),x)=diff(sin(x),x);

>Diff(sin(x),x$3)=diff(sin(x),x$3);

>Diff(x*sin(cos(x)),x)=diff(x*sin(cos(x)),x);

>Diff(x*sin(cos(x)),x$2)=diff(x*sin(cos(x)),x$2);

>f:=exp(-a*sqrt(x^2+y^2))*sin(2*Pi*sqrt(x^2+y^2));

>Diff(ln(tan(x/2))/2-cos(x)/sin(x)^2/2,x);

>%=simplify(value(%));

>u:=z^(x*y);

>diff(u,x);

>diff(u,y);

>diff(u,z);

46

> Diff(f,x$2,y)=diff(f,x,y);

Интегрирование функций

Для вычисления интегралов в стандартной библиотеке пакета

Maple предусмотрены команды int(expr, par) и Int(expr, par), кото-

рые в зависимости от параметра par могут использоваться для вычисления неопределенных интегралов, аналитического или численного вычисления определенных, собственных или несобственных интегралов. Порядок вызова функции

int(f,x,opt)

int(f,x=a..b,opt)

int(f,[x,y,...],opt)

int(f,[x=a..b,y=c..d,....],opt)

f (x)dx

b

f (x)dx

a

f (x,y)dxdy

b d

f (x,y)dxdy

a c

opt опция (необязательная) применяется для контроля типа интег-

47

рирования. Например, int(f,[x=a..b,y=c..d,....], numeric = true) даст значение интеграла в численном виде, а int(f,[x=a..b,y=c..d,....], numeric = false) даст значение интеграла в символьном виде .

Для вычисления неопределенных интегралов используется следующий вариант команды int(expr, var), где expr интегрируемое выражение , var переменная интегрирования. При вычислении интеграла Maple вначале вычисляет его, используя элементарные функции, и только затем используются специальные функции.

>int(x/(x^3-1), x);

>int(exp(-x^2)*ln(x), x );

>series( %, x=0, 10);

Определенный интеграл

>int(exp(-x^2)*ln(x)^2, x=0..infinity);

>int(1/sqrt(2*t^4 - 3*t^2 - 2), t = 2..3);

Вычисление несобственного интеграла

> int(1/x^3, x=-1..2, 'CauchyPrincipalValue');

48

>int(F(x)*Heaviside(x-1),x=-1..3);

>f:=(x)->exp(-x^2):

>plot(f(x),x=-1..3);

Ниже в качестве примера приведены графики фикции Хэвисайда и результата ее перемножения с функцией f(x)

> plot(Heaviside(x-1),x=-1..3);

> plot(f(x)*Heaviside(x-1),x=-1..3);

Вычисление повторного интеграла

Порядок вызова функции вычисления повторного интеграла int(int(f,x),y)

49

int(f,[x,y])

>

>

>

>

>

>

Вычисление интеграла с использованием опций

>

Вычислим значение интеграла

>

>

Напомним, что несколько функций для интегрирования имеется в пакете student:

50

Int(expr,x) интегрирование выражения expr по переменной х;

Doubleint(expr,x,y,Domain) двойное интегрирование выраже-

ния expr по переменным x,y в области Domain;

Lineint(f(x,y),x,y) вычисление линейного интеграла. Переменная x считается зависимой от переменной y, а если переменных больше, то все они считаются зависимыми от последней;

Tripleint(expr,x,y,z) вычисление тройного интеграла;

intparts(f,u) интегрирование по частям, где f выражение Int(expr,x), u часть подынтегрального выражения, которая будет дифференцироваться

>with(student):

>Tripleint(x,z=0..sqrt((x+y)/2),y=0..x,x=0..2):

>%=value(%);

>intparts(Int(x^k*ln(x), x), ln(x));

>intparts(Int(sin(x)*x+sin(x), x), sin(x));

Решение уравнений в Maple

Решение алгебраических уравнений и неравенств Для решения алгебраических уравнений и неравенств предназначена

команда solve. Вызов команды имеет следующий вид solve(eqn,var) где eqn уравнение или система уравнений, var переменная или группа переменных. Если параметр var отсутствует, то решение будет найдено относительно всех переменных (неизвестных). Система уравнений и группа переменных задаются в виде множеств, т.е. в виде объектов разделенных запятыми и помещенных в фигурные скобки. Уравнения могут быть заданы непосредственно в теле команды, а могут быть присвоены некоторой переменной. Если в качестве уравнения задано выражение без знака равенства, то считается, что это одна часть уравнения, а вторая равна нулю.

> eqn:= x^4-5*x^2+6*x=2;