Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

Дифференциальные уравнения

ЛАБОРАТОРНАЯ РАБОТА № 7

СИСТЕМА КОМПЬЮТЕРНОЙ МАТЕМАТИКИ MAPLE.

ОПЕРАЦИИ И ФУНКЦИИ МАТЕМАТИЧЕСКОГО АНАЛИЗА

Цель работы:приобрести практические навыки решения некоторых задач математического анализасредствамиСКМ Maple.

ТЕОРЕТИЧЕСКАЯ ЧАСТЬ

Дифференцирование

 

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

§ прямого исполнения

 

diff (a, x1, x2,…, xn), diff(a, [x1, x2, … , xn]),

 

§ отложенного исполнения

 

Diff (a, x1, x2,…, xn), Diff(a, [x1, x2, …, xn]).

Здесь а– дифференцируемое алгебраическое выражение, в частности функция f(x1, x2,…,xn)ряда переменных, по которым производится дифференцирование.

В простейшей форме diff(f(x),x)вычисляет первую производную функции f(x)по переменной x. При n, большем 1, вычисления производных выполняются рекурсивно, например, Diff(diff(f(x),x),y. Или же для вычисления производных высокого порядка можно использовать оператор x$n, где n– порядок производной.Например,выражениеdiff(f(x),x$4),вычисляющее производную четвертого порядка по x,эквивалентно по записи diff(f(x),x,x,x,x).

После выполнения дифференцирования полученное выражение желательно упростить. Для этого следует использовать команды simplify factor или expand, в зависимости от того, в каком виде нужен результат.

Для вычисления производных в заданной точке можно использовать дифференциальный оператор, для определения которого используется команда D(f), где f – функция.

 

 

Интегрирование

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

§ прямого исполнения

 

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

int(f, x = a..b, continuous);

 

§ отложенного исполнения

 

Int(f, x), Int(f, x=a..b),

Int(f, x=a..b, continuous).

 

Здесь f – подынтегральная функция,

x – переменная, по которой выполняются вычисления,

аиb –верхний и нижний пределы интегрирования,

continuous – необязательное дополнительное условие. Если в команде интегрирования добавить эту опцию, то Maple будет игнорировать любые возможные разрывы подынтегральной функции в диапазоне интегрирования. Это позволяет вычислять несобственные интегралы от неограниченных функций.

Для вычисления определенного интеграла необходимо использовать функцию evalf(int(f, x=a..b),е), где e – точность вычислений (число значащих цифр результата).

Если верхним пределом интегрирования является бесконечность, то она обозначается словом infinity.

Если требуется вычислить интеграл, зависящий от параметра, то его значение может зависеть от знака этого параметра или каких-либо других ограничений. Для получения явного аналитического результата вычислений следует сделать какие-либо предположения о значении параметров, то есть наложить на них ограничения. Это можно сделать при помощи команды assume(expr1), где expr1 – неравенство. Дополнительные ограничения вводятся с помощью команды additionally(expr2), где expr2 – другое неравенство, ограничивающее значение параметра с другой стороны.

После наложения ограничений на параметр Maple добавляет к его имени символ (~), например, параметр a, на который были наложены некоторые ограничения, в сроке вывода будет иметь вид: a~.

Описание наложенных ограничений параметра a можно вызвать командой about(a).

 

Дифференциальные уравнения

Для нахождения аналитических решений дифференциальных уравнений в Maple применяется команда dsolve(eq,var,options), где eq – дифференциальное уравнение, var – неизвестные функции, options – параметры. Параметры могут указывать метод решения задачи, например, по умолчанию ищется аналитическое решение: type=exact. При составлении дифференциальных уравнений для обозначения производной применяется команда diff, например, дифференциальное уравнение y''+y=x записывается в виде diff(y(x),x$2)+y(x)=x.

Общее решение дифференциального уравнения зависит от произвольных постоянных, число которых равно порядку дифференциального уравнения. В Maple такие постоянные, как правило, обозначаются как _С1, _С2, и т.д.

Команда dsolve выдает решение дифференциального уравнения в невычисляемом формате. Для того, чтобы с решением можно было бы работать далее (например, построить график решения), следует отделить правую часть полученного решения командойrhs(%).

Если, помимо дифференциального уравнения, задать начальные или краевые условия для неизвестной функции, команда dsolve может найти решение задачи Коши или краевой задачи Для обозначения производных в начальных или краевых условиях используется дифференциальный оператор , например, условие y''(0)=2 следует записать в виде или условие y'(1)=0: . Напомним, что производная n-го порядка записывается в виде .

Команда dsolve может найти решение системы дифференциальных уравнений (или задачи Коши), если в ней указать: dsolve({sys},{x(t),y(t),…}), где sys - система дифференциальных уравнений, x(t),y(t),… - набор неизвестных функций.

Для численного решения задачи Коши, построения графиков решения и фазовых портретов в Maple имеется специальный пакет графического представления решений дифференциальных уравнений Detools.

Команда DEplot из пакета DEtools строит численными методами графики решения или фазовые портреты. Эта команда сама производит численное решение дифференциального уравнения. Формат этой команды: DEplot: DEplot(de, vars, range, x=х1..х2, y=у1..у2, cond, ptions), где de - дифференциальное уравнение или система дифференциальных уравнений; vars– список неизвестных функций; range – диапазон измерения независимой переменной; cond – начальные условия; x=х1..х2 и y=у1..у2– диапазоны изменения функций; options– дополнительные параметры.

Наиболее часто используемые параметры: linecolor=цвет линии; scene=[x,y]- определяет, какие зависимости выводить на график; iterations=число итераций, необходимое для повышения точности вычислений (по умолчанию это число равно 1); stepsize=число, равное расстоянию между точками на графике, по умолчанию оно равно (x2-x1)/20, этот параметр необходим для вывода более гладкой кривой решения; obsrange=true/false - прерывать или нет вычисления, если график решения выходит за установленный для рисования интервал.

Для решения дифференциального уравнения n-ого порядка начальные условия можно задавать в более компактной форме: [x0, y0, y'0, y''0,…], где x0- точка, в которой задаются начальные условия; y0- значение искомой функции в точке x0; y'0, y''0,… - значения производных первой, второй и т.д. до (n-1)-ого порядка.

ПРАКТИЧЕСКАЯ ЧАСТЬ

 

Задание 1.Найти производные указанных порядков:

f(x)=axn, f’(x)= sin(x), f’(x,y)= cos(x)y3, f”(x,y)= cos(x)y3,f””(x)=cos(2x)2.

 

>Diff(a*x^n,x)=diff(a*x^n,x);

 

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

 

> f(x,y):=cos(x)*y^3;

 

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

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

 

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

 

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

Полученное выражение можно упростить двумя способами:

 

> simplify(%);

 

> combine(%);

Задание 2. Вычислить вторую производную функции f(x)=sin2(x)/(2+sin(x)) в точках x=p/2, x=p.

 

> y:=sin(x)^2/(2+sin(x)): d2:=diff(y,x$2):

> x:=Pi; d2y(x)=d2;

x:=p d2y(p)=1

 

> x:=Pi/2;d2y(x)=d2;

х:=

Задание 3.Найти значения определенных интегралов

а) , б) .

>Int(sin(x)/x,x=0..1.)=evalf(int(sin(x)/x, x=0..1),3);

 

>Int(x*exp(-x),x=0..infinity) = evalf(int(x*exp(-x), x=0..infinity),1);

Задание 4.Найти неопределенные интегралы:

а) ; б) .

>Int(cos(x)*cos(2*x)*cos(3*x),x)=int(cos(x)* cos(2*x)*cos(3*x),x);

 

 

>Int((3*x^4+4)/(x^2*(x^2+1)^3),x)=int((3*x^4+4)/ (x^2*(x^2+1)^3),x);

 

Задание 5. Найти определенный интеграл

, при условии a>0, b>0.

 

> assume (a>0); assume (b>0);

> Int(sin(x)*cos(x)/(a^2*cos(x)^2+b^2*sin(x)^2),

x=0..Pi/2)=int(sin(x)*cos(x)/(a^2*cos(x)^2+b^2*

sin(x)^2),x=0..Pi/2);

 

и несобственный интеграл , при условии a>-1.

> assume(a>-1);

>Int((1-exp(-a*x^2))/(x*exp(x^2)),x=0..+infinity) =int((1-exp(-a*x^2))/(x*exp(x^2)), x=0..+infinity);

 

Задание 6.Найти общее решение дифференциального уравнения y'+ycosx=sinxcosx.

 

> restart;

> de:=diff(y(x),x)+y(x)*cos(x)=sin(x)*cos(x);

de:=

 

> dsolve(de,y(x));

1

 

Задание 7. Найти общее решение дифференциального уравнения второго порядка y''-2y'+y=sinx+e-x.

 

> restart;

> deq:=diff(y(x),x$2)-2*diff(y(x),x)+y(x)

=sin(x)+exp(-x);

deq:=

 

> dsolve(deq,y(x));

Задание 8. Найти решение задачи Коши:

y(4)+y''=2cosx, y(0)=-2, y'(0)=1, y''(0)=0, y'''(0)=0.

 

> de:=diff(y(x),x$4)+diff(y(x),x$2)=2*cos(x);

 

> cond:=y(0)=-2, D(y)(0)=1, (D@@2)(y)(0)=0,

(D@@3)(y)(0)=0;

cond:=y(0)=-2, D(y)(0)=1, (D(2))(y)(0)=0, (D(3))(y)(0)=0

 

> dsolve({de,cond},y(x));

y(x)=-2cos(x)-xsin(x)+х

Задание 9. Найти решение краевой задачи:

, , . Построить график решения.

 

> restart; de:=diff(y(x),x$2)+y(x)=2*x-Pi;

de:=

 

> cond:=y(0)=0,y(Pi/2)=0;

 

> dsolve({de,cond},y(x));

y(x)=2x-p+pcos(x)

Замечание: для построения графика решения предварительно следует отделить правую часть полученного выражения.

 

> y1:=rhs(%):plot(y1,x=-10..20,thickness=2);

 

Задание 10. Найти решение системы дифференциальных уравнений:

 

> sys:=diff(x(t),t)=-4*x(t)-2*y(t)+2/(exp(t)-1),

diff(y(t),t)=6*x(t)+3*y(t)-3/(exp(t)-1):

> dsolve({sys},{x(t),y(t)});

 

Найдены две функции x(t) и y(t), которые зависят от двух произвольных постоянных _С1 и _С2.

 

Задание 11. Нарисовать график решения дифференциального уравнения:

, , ,

в интервале .

 

> restart; with(DЕtools):

> DEplot(diff(y(x),x$3)+x*sqrt(abs(diff(y(x),x)))

+x^2*y(x)=0, {y(x)}, =-4..5, [[y(0)=0,D(y)(0)=1,

(D@@2)(y)(0)=1]], stepsize=.1, linecolor=black,

thickness=2);

 

Задания для самостоятельной работы

 

Задание 1. Найти значение первой и второй производных функции f(x).

 

Вари-ант Условие Вари-ант Условие
а) ; б) . а) ; б) .
а) ; б) . а) ; б) .
а) ; б) . а) ; б) .
а) ; б) . а) ; б) .
а) ; б) . а) ; б) .

 

Задание 2. Найти значение определенного интеграла, дать графическую интерпретацию решения.

 

Вариант Условие Вариант Условие

 

Задание 3. Решить дифференциальное уравнение и систему дифференциальных уравнений. Проиллюстрировать решение графически.

 

Вариант Условие Условие
y''(x)=xsin(x)   y(0)=1, y(0)=2, y(0)=1 y = yz + x; z= x2 - y2. y(0)=1, z(0)=2;
y(x)+2y(x)=x2;   y(0)=1, y(0)=2, y(0)=1 y= yx + 2z; z = y - 4z. y(1)=1, z(1)=0.
y(x)+2y(x)=e2x;   y(0)=1 y(0)=2, y(0)=1 y = 4x2 + y/(x+1); z = e-(x2+y2) + z. y(0)=1, z(0)=0.5, a=0, b=1
y(x)+5y(x)=e2x + sin(4x);   y(0)=1, y(0)=2, y(0)=1 y = yz/x; z = x/z; y(1)=0, z(1)=0.5.
10y(x)+7y(x)=e7x   y(0)=1, y(0)=2 y = ln(2x + (9x2 +z2)1/2); z = (9x2 +y2)1/2)+xsin(2x); y(0)=0, z(0)=0.5.
10y+2y=xsin(4x)   y(0)=1, y(0)=2 y = z2 + x; z = yx; y(1)=0, z(1)=10.
5y(x)+y(x)=xe-x y(0)=1, y(0)=2 y = ycos(x) – zsin(x); z = ysin(x)+ zcos(x); y(0)=0, z(0)=2.
3z(x)+z(x)=xsin(x)   z(0)=0, z(0)=1 y = 2cos(3y+z); z = x/(4y+x)+x+11; y(0)=3, z(0)=3.
y(x)+3y(x)=x2   y(0)=1, y(0)=0 y = y + x(x+5); z = x - z3; y(0)=1, z(0)=-0.1.
4y(x)+2y(x)=x2   y(0)=1, y(0)=0 y = yz + xcos(x); z = -z2 +10 x; y(0)=0, z(0)=0.2.