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

Методичка Maple, Стребуляев

.pdf
Скачиваний:
297
Добавлен:
27.03.2015
Размер:
1.24 Mб
Скачать

> Limit(tan(x),x=Pi/2,right)=limit(tan(x),x=Pi/2,right);

lim tan(x)

x +

2

> Limit(tan(x),x=Pi/2,left)=limit(tan(x),x=Pi/2,left); lim tan(x)

x -

2

plot(tan(x),x=-5..5, y=-10..10,color=black,thickness=3);

1.4. Вычисление производных

Вычисление производных функций — одна из самых распространенных задач математического анализа. Для ее реализации существует следующая функция:

diff(a,x1,x2,..., xn) ,

где a — дифференцируемоле алгебраическое выражение или функция,

x1, x2,..., xn — ряд переменных, по которым производится дифференцирование.

Ниже приведены примеры применения функции diff. Вычисление производных явно заданных функций:

>restart:

>with(linalg): with(plots):

31

Warning, the protected names norm and trace have been redefined and unprotected

Warning, the name changecoords has been redefined > diff(sin(x),x);

cos(x)

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

Для создания функций с производными может также использоваться дифференциальный оператор D. Он позволяет создавать более компактные выражения, чем diff.

> D(sin);

cos

> D(sin)(x);

cos(x)

> y:=(x)->(x*sin(alpha)+cos(alpha))*(x*cos(alpha)- sin(alpha));

y:= x (x sin( ) cos( )) (x cos( ) sin( ))

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

x ((x sin( ) cos( )) (x cos( ) sin( )))

sin( ) (x cos( ) sin( )) (x sin( ) cos( )) cos( )

> D(y);

x sin( ) (x cos( ) sin( )) (x sin( ) cos( )) cos( )

>

> restart: y:=x+x^x+x^(x^x);

y := x xx x(xx)

 

 

> diff(y,x);

 

xx

( xx)

1 xx (ln(x) 1) x

xx (ln(x) 1) ln(x)

 

 

 

 

 

 

 

x

> diff(x^(1/x),x);

32

 

 

1

 

 

ln(x)

 

1

 

 

x

 

 

 

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

2

 

 

 

 

 

 

x

 

x

 

 

 

 

 

 

 

 

 

 

 

> collect(%,1/x);

1

x x ( ln(x) 1)

x2

restart; y:=x->floor(x)*sin(Pi*x)^2;

# floor(x)-целая часть (Антье) числа;

y := x floor(x) sin( x)2

> diff(y(x),x);

floor(1, x) sin( x)2 2 floor(x) sin( x) cos( x)

> combine(%);

1

1

 

 

floor(1, x)

 

 

floor(1, x) cos(2 x) floor(x) sin(2 x)

2

 

2

 

plot(%,x=-5..5,title="ГРАФИК ПРОИЗВОДНОЙ", titlefont=[HELVETICA,BOLD,8],thickness=3);

Вычисление производной от кусочно-линейной функции производится следующим образом:

>restart:

>y:=x->piecewise(x<1,1-x,x<=2,(1-x)*(2-x),

33

-(2-x));"y(x)"=y(x);

y := x piecewise(x 1, 1 x, x 2, (1 x) (2 x), 2 x)

 

1 x

 

 

 

 

"y(x)" (1 x) (2 x)

 

 

 

2 x

 

x 1 x 2 otherwise

> f:=x->diff(y(x),x);

f := x diff(y(x), x)

> "y'(x)"=f(x);

 

-1

 

 

 

 

"y'(x)" 3 2 x

 

 

 

1

 

x 1 x 2 2 x

plot([y(x),f(x)],x=-2..4,title="ФУНКЦИЯ И ЕЕ ПРОИЗВОДНАЯ",titlefont=[HELVETICA,8],color=[RED,BLUE] ,style=[POINT,LINE],symbol=BOX,legend=["y(x)","y'(x)" ],thickness=3);

Вычисление производных функций, заданных параметрически:

>restart;

>x:=t->exp(2*t)*cos(t)^2;

x := t e(2 t) cos(t )2

>y:=t->exp(2*t)*sin(t)^2;

y := t e( 2 t ) sin(t )2

34

> diff(y(t),t)/diff(x(t),t);

2 e(2 t ) sin(t )2 2 e(2 t) sin(t) cos(t )

2 e(2 t) cos(t)2 2 e(2 t) sin(t ) cos(t )

Производная от неявно заданной функции и ее графический образ:

>

> restart: with(plots): > F:=x^2+2*x*y-y^2-2*x;

F:= x2 2 x y y2 2 x

implicitplot(F,x=-5..5,y=- 5..5,thickness=3,title="НЕЯВНО ЗАДАННАЯ ФУНКЦИЯ",titlefont=[COURIER,BOLD,8]);

> F[1]:=implicitdiff(F,y,x);

F:= x y 1

1 x y

plot3d(F[1],x=-5..5,y=- 5..5,thickness=3,title="ПРОИЗВОДНАЯ ОТ ФУНКЦИИ",titlefont=[COURIER,BOLD,4],axes=boxed);

35

>

Производные высших порядков:

>restart:

>y:=x->x*sinh(x);

y := x x sinh(x)

> diff(y(x),x$100);

100 cosh(x) x sinh(x)

> y1:=2*cos(5*t)+3*sin(9*t);

y1 := 2 cos(5 t ) 3 sin(9 t )

> diff(y1,t$4);

1250 cos(5 t ) 19683 sin(9 t )

Частные производные:

>restart;

>u:=(x,y)->x^4+y^4-4*x^2*y^2;

u:= (x, y) x4 y4 4 x2 y2

>Diff(u(x,y),x)=diff(u(x,y),x);

x (x4 y4 4 x2 y2 ) 4 x3 8 x y2

> Diff(u(x,y),y)=diff(u(x,y),y);

y (x4 y4 4 x2 y2 ) 4 y3 8 x2 y

> Diff(u(x,y),x,y)=diff(u(x,y),x,y);

36

2 (x4 y4 4 x2 y2 ) 16 x yy x

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

x22 (x4 y4 4 x2 y2 ) 12 x2 8 y2

>Diff(u(x,y),y,y)=diff(u(x,y),y,y);

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

Вычисление неопределенного и определенного интегралов — одна из самых распространенных операций математического анализа. Для вычисления этих интегралов предоставляются следующие функции:

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

где f — подынтегральная функция, x — переменная интегрирования, a, b — нижний и верхний пределы интегрирования, c — необязательное дополнительное условие. Ниже приведены примеры использования этих функций для вычисления различных интегралов.

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

>restart:

>Int(exp(alpha*x)*cos(b*x),x)=int(exp(alpha*x)*cos(b*x),x);

 

e

( x)

 

 

 

 

 

 

 

 

e( x) cos(b x)

b e( x) sin(b x)

cos(b x) dx

 

2 b2

2 b2

> collect(%,exp); # Выносим за скобку exp(x);

 

e

( x)

 

 

 

 

 

 

 

 

 

cos(b x)

b sin(b x)

e

( x)

cos(b x) dx

 

 

 

 

 

 

 

2 2

 

2 2

 

 

 

 

 

 

 

 

 

 

b

 

b

 

 

 

> Seq:=f(x),x; # переменной Seq в качестве значения при-

своим последовательности из двух элементов -- результата действия оператора f() на переменную x и самой переменной x;

Seq := f(x), x

> Int(Seq)=int(Seq);

f(x) dx f(x) dx

Нахождение интегралов разрывных функций: > restart: with(plots):

Warning, the name changecoords has been redefined

37

> f:=(x)->piecewise(x<0,1,x<=1,x+1,2*x);

f := x piecewise(x 0, 1, x 1, x 1, 2 x)

> f(x);

 

 

1

 

 

x 0

 

 

 

 

 

 

 

 

x 1

x 1

 

 

 

2 x

 

otherwise

 

 

 

> F:=x->int(f(x),x);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

F := x f(x) dx

 

 

 

 

 

 

 

 

 

 

 

 

 

 

> F(x);

 

 

 

x

x 0

 

 

 

 

 

 

1

 

 

 

 

 

 

 

2

 

 

 

 

x

x

x 1

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

1

 

 

 

x

1 x

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

plot([f(x),F(x)],x=- 1..2,color=[RED,NAVY],linestyle=[DOT,SOLID],thick- ness=2,title="КУСОЧНО-ГЛАДКАЯ ФУНКЦИЯ \n И ИНТЕГРАЛ ОТ НЕЕ",titlefont=[TIMES,BOLD,9],legend=["ФУНКЦИЯ","ИНТЕГРАЛ"]);

Вычисление определенных интегралов: > restart:

> Int(x^2*cos(x),x=0..2*Pi)=int(x^2*cos(x),x=0..2*Pi);

38

x2 cos(x) dx 4

0

>Int(1/((x^3+x^2+2*x+2)^2),x=0..1)=int(1/ ((x^3+x^2+2*x+2)^2),x=0..1); evalf(%);

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

2

1

2

 

1

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

dx ln(2)

ln(3)

2 arctan

2

 

 

3 2

2

9

36

27

216

 

 

 

 

(x x

2 x 2)

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

0.1044615176 0.1044615176

># Интеграл с параметром;

>s:=m->int(sin(x)^m,x=0..Pi/2);

 

 

 

 

 

 

 

2

 

m

 

 

sin(x)

dx

s := m

 

 

 

 

 

 

 

0

 

 

 

 

>assume(m::integer>0); # Полагаем m>0 -целое;

>s(m); # Г(x) - гамма-функция Эйлера;

 

1

m~

 

 

 

 

 

 

 

1

 

2

2

 

 

2

 

m~

 

 

1

 

 

 

2

 

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

>restart: with(plots):

>y:=(x)->(x*ln(x))/(1+x^2)^2;

y := x x ln(x)2

(1 x2 )

> Int(y(x),x=0..infinity)=int(y(x),x=0..infinity);

x ln(x)

dx 0

2

(1 x2 )

0

> evalf(%);

-0.6696976039 10-17 0.

plot(y(x),x=0..infinity,title="ГРАФИК ФУНКЦИИ y(x)",titlefont=[HELVETICA,BOLD,10],thickness=3);

39

> Int(1/(x^2+1)^2,x=-infinity..infinity)=int(1/

(x^2+1)^2,x=-infinity..infinity);

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

dx

 

2

)

 

2

 

 

(1 x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Вычисление двойных интегралов:

>restart: with(student):

>Doubleint(x*y^2,y=x^2..x,x=0..1); # Внимание !! Порядок задания пределов интегрирования именно такой;

1x

 

 

 

x y

2

dy dx

 

 

 

 

0

 

x

2

 

 

 

 

 

 

 

> value(%);

1

40

>

Int(Int(x*y*(x+y),y=0..x^3),x=0..2)=int(int(x*y*(x+y ),y=0..x^3),x=0..2);

3

x y (x y) dy dx 8960

99

0 0

>Int(Int(1/(x^2+y^2+5)^2,y=0..infinity),x=0..infinity);2 x

40