У вас вопросы?
У нас ответы:) SamZan.net

тематических задач в Mple IV

Работа добавлена на сайт samzan.net: 2016-03-13

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 1.2.2025


Методы решения математических задач в
Maple

IV. Математический анализ: дифференциальное и интегральное исчисление функции одной переменной

  1.  Вычисление пределов.
  2.  Дифференцирование.
  3.  Исследование функции.
  4.  Интегрирование.

§1. Вычисление пределов

В Maple для некоторых математических операций существует по две команды: одна прямого, а другая – отложенного исполнения. Имена команд состоят из одинаковых букв за исключением первой: команды прямого исполнения начинаются со строчной буквы, а команды отложенного исполнения – с заглавной. После обращения к команде отложенного действия математические операции (интеграл, предел, производная и т.д.) выводятся на экран в виде стандартной аналитической записи этой операции. Вычисление в этом случае сразу не производится. Команда прямого исполнения выдает результат сразу.

Для вычисления пределов имеются две команды:

  1.  прямого исполнения – limit(expr,x=a,par), где expr – выражение, предел которого следует найти, a – значение точки, для которой вычисляется предел, par – необязательный параметр для поиска односторонних пределов (left – слева, right – справа) или указание типа переменной (real – действительная, complex – комплексная).
  2.  отложенного исполнения – Limit(expr,x=a,par), где параметры команды такие же, как и в предыдущем случае. Пример действий этих команд:

> Limit(sin(2*x)/x,x=0);

> limit(sin(2*x)/x,x=0);

2

С помощью этих двух команд принято записывать математические выкладки в стандартном аналитическом виде, например:

> Limit(x*(Pi/2+arctan(x)),x=-infinity)=

limit(x*(Pi/2+arctan(x)), x=-infinity);

Односторонние пределы вычисляются с указанием параметров: left – для нахождения предела слева и righ – справа. Например:

> Limit(1/(1+exp(1/x)),x=0,left)=

limit(1/(1+exp(1/x)),x=0,left);

> Limit(1/(1+exp(1/x)),x=0,right)=

limit(1/(1+exp(1/x)), x=0,right);

Задание 1.

  1.  Вычислить предел . Наберите:

> Limit((1-x)*tan(Pi*x/2),x=1)=

limit((1-x)*tan(Pi*x/2),x=1);

  1.  Найти односторонние пределы  и . Наберите:

> Limit(arctan(1/(1-x)),x=1,left)=

limit(arctan(1/(1-x)), x=1, left);

> Limit(arctan(1/(1-x)),x=1,right)=

limit(arctan(1/(1-x)),x=1, right);

§2. Дифференцирование

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

Для вычисления производных в Maple имеются две команды:

  1.  прямого исполнения – diff(f,x), где f – функция, которую следует продифференцировать, x – имя переменной, по которой производится дифференцирование.
  2.  отложенного исполнения – Diff(f,x), где параметры команды такие же, как и в предыдущей. Действие этой команды сводится к аналитической записи производной в виде . После выполнения дифференцирования, полученное выражение желательно упростить. Для этого следует использовать команды simplify factor или expand, в зависимости от того, в каком виде вам нужен результат.

Пример:

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

Для вычисления производных старших порядков следует указать в параметрах x$n, где n – порядок производной; например:

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

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

> simplify(%);

> combine(%);

Дифференциальный оператор.

Для определения дифференциального оператора используется команда D(f)f-функция. Например:

> D(sin);

cos

Вычисление производной в точке:

> D(sin)(Pi):eval(%);

-1

Оператор дифференцирования применяется к функциональным операторам

> f:=x-> ln(x^2)+exp(3*x):

> D(f);

Задание 2.

  1.  Вычислить производную

> Diff(sin(2*x)^3-cos(2*x)^3,x)=

diff(sin(2*x)^3-cos(2*x)^3,x);

  1.  Вычислить . Наберите:

> Diff(exp(x)*(x^2-1),x$24)=

diff(exp(x)*(x^2-1),x$24):

> collect(%,exp(x));

  1.  Вычислить вторую производную функции  в точках x=/2, x=.

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

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

x:= d2y()=1

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

х:=

§3. Исследование функции

Исследование функции необходимо начинать с нахождения ее области определения, но, к сожалению, это трудно автоматизируемая операция. Поэтому при рассмотрении этого вопроса приходится решать неравенства (см. тему II). Однако, ответить на вопрос, определена ли функция на всей числовой оси, или нет, можно исследовав ее на непрерывность.

Непрерывность функции и точки разрыва.

Проверить непрерывность функции f(x) на заданном промежутке [x1,x2] можно с помощью команды iscont(f,x=x1..x2). Если функция f непрерывна на этом интервале, то в поле вывода появится ответ true – (истина); если функция f не является непрерывной на этом интервале, то в поле вывода появится ответ false – (ложь). В частности, если задать интервал x=-infinity..+infinity, то функция f будет проверяться на всей числовой оси. В этом случае, если будет получен ответ true, то можно сказать, что функция определена и непрерывна на всей числовой оси. В противном случае следует искать точки разрыва. Это можно сделать двумя способами:

  1.  с помощью команды discont(f,x), где f – функция, исследуемая на непрерывность, x – переменная. Эта команда пригодна для нахождения точки разрыва первого и второго родов.
  2.  с помощью команды singular(f,x), где f – функция, x – переменная. Эта команда годится для нахождения точек разрыва второго рода как для вещественных значений переменной, так и для комплексных.

Перед использованием этих команд их следует обязательно загрузить из стандартной библиотеки readlib(name), где name – имя любой из указанных выше команд.

Обе эти команды выдают результаты в виде перечисления точек разрыва в фигурных скобках. Тип такой записи называется set. Для того, чтобы в дальнейшем можно было использовать полученные значения точек разрыва, следует из типа set с помощью команды convert перевести их в обычный числовой тип.

Задание 3.1.

  1.  Найдите точки разрыва функции

> readlib(iscont): readlib(discont):

> iscont(exp(1/(x+3)),x=-infinity..+infinity);

false

Это означает, что функция не является непрерывной. Поэтому следует найти точки разрыва с помощью команды:

> discont(exp(1/(x+3)),x);

{-3}

Ответ наберите в текстовом режиме в новой строке:

“Точка разрыва x=3.”

  1.  Найти точки разрыва функции

> readlib(singular):

> iscont(tan(x/(2-x)),x=-infinity..infinity);

false

> singular(tan(x/(2-x)),x);

{x=2},{x=2}

Здесь _N – целые числа. Ответ наберите в текстовом режиме в новой строке:

“Точки разрыва: x=2 и x=2(2n+1)/((2n+1)-2).”

Экстремумы. Наибольшее и наименьшее значение функции.

В Maple для исследования функции на экстремум имеется команда extrema(f,{cond},x,’s’) , где f - функция, экстремумы которой ищутся, в фигурных скобках {cond} указываются ограничения для переменной, х – имя переменной, по которой ищется экстремум, в апострофах ’s’ – указывается имя переменной, которой будет присвоена координата точки экстремума. Если оставить пустыми фигурные скобки {}, то поиск экстремумов будет производиться на всей числовой оси. Результат действия этой команды относится к типу set. Пример:

> readlib(extrema):

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

{{x=1}}

В первой строке вывода приводится экстремум функции, а во второй строке вывода – точка этого экстремума.

К сожалению, эта команда не может дать ответ на вопрос, какая из точек экстремума есть максимум, а какая – минимум. Для нахождения максимума функции f(x) по переменной х на интервале  используется команда maximize(f,x,x=x1..x2), а для нахождения минимума функции f(x) по переменной х на интервале  используется команда minimize(f, x, x=x1..x2). Если после переменной указать ’infinity’ или интервал

x=-infinity..+infinity, то команды maximize и minimize будут искать, соответственно, максимумы и минимумы  на всей числовой оси как во множестве вещественных чисел, так и комплексных. Если такие параметры не указывать, то поиск максимумов и минимумов будет производиться только во множестве вещественных чисел. Пример:

> maximize(exp(-x^2),{x});

1

Недостаток этих команд в том, что они выдают только значения функции в точках максимума и минимума, соответственно. Поэтому для того, чтобы полностью решить задачу об исследовании функции y=f(x) на экстремумы с указанием их характера (max или min) и координат (x, y) следует сначала выполнить команду:

> extrema(f,{},x,’s’);s;

а затем выполнить команды maximize(f,x); minimize(f,x). После этого будут полностью найдены координаты всех экстремумов и определены их характеры (max или min).

Команды maximize и minimize быстро находят абсолютные экстремумы, но не всегда пригодны для нахождения локальных экстремумов. Команда extrema вычисляет так же критические точки, в которых функция не имеет экстремума. В этом случае экстремальных значений функции в первой строке вывода будет меньше, чем вычисленных критических точек во второй строке вывода. Выяснить характер найденного экстремума функции f(x) в точке x=x0 можно, если вычислить вторую производную в этой точке и по ее знаку сделать вывод: если , то в точке x0 будет min, а если   то max.

В последней версии пакета аналитических вычислений Maple 6 описанный выше недостаток команд maximize и minimize устранен. Координаты точек максимума или минимума можно получить, если в параметрах этих команд после переменной записать через запятую новую опцию location. В результате в строке вывода после самого максимума (минимума) функции будут в фигурных скобках указаны координаты точек максимума (минимума). Например:

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

, {, }

В строке вывода получились координаты минимумов и значения функции в этих точках.

Команды extrema, maximize и minimize обязательно должны быть загружены из стандартной библиотеки командой readlib(name), где name – имя загружаемой команды.

Задание 3.2.

  1.  Найти max и min .

> readlib(extrema):

> y:=(x^2-1/2)*arcsin(x)/2+x*sqrt(1-x^2)/4-

Pi*x^2/12:

> extrema(y,{},x,'s');s;

После выполнения этих команд найдены экстремумы функции и точки экстремумов. Порядок следования x–координат экстремумов во второй строке вывода соответствует порядку следования значений экстремумов в первой строке вывода. Таким образом, найдены экстремумы в точках (0,0) и (1/2, –/24+). Осталось выяснить, какая из них является максимумом, а какая – минимумом. Для этого используйте команды maximize и minimize.

> readlib(maximize):readlib(minimize):

> ymax:=maximize(y,{x});

> ymin:=minimize(y,{x});

Ответ наберите в текстовом режиме в новой строке:

“Экстремумы: , .”

Для набора математических символов и греческих букв в текстовом режиме следует нажать кнопку со значком суммы на Панели инструментов. В появившейся строке ввода формул ниже Панели инструментов следует набирать обычные команды Maple, после чего нажать Enter. Например, для отображения формулы  следует набрать в строке ввода формул sqrt(3).

Для возвращения в текстовый режим снова следует нажать на кнопку с буквой «Т».

Поэтому порядок набора второй формулы в ответе такой:

  •  находясь в текстовом режиме, набрать: miny(x)=y(1/2)= ;
  •  

нажать на кнопку 

  •  в строке ввода формул набрать: -Pi/24+sqrt(3)/16
  •  нажать Enter; 

  •  вернуться в текстовый режим. 
  1.  Найдите наибольшее и наименьшее значение  на интервале . Наберите:

> f:=x^2*ln(x):

> maximize(f,{x},{x=1..2});

> minimize(f,{x},{x=1..2}):simplify(%);

Ответ наберите в текстовом режиме в новой строке:

”Наибольшее значение: , наименьшее значение “.

  1.  Найти экстремумы функции  и установить их характер с помощью второй производной. Наберите:

> restart:y:=x^3/(4-x^2): readlib(extrema):

readlib(maximize): readlib(minimize):

> extrema(y,{},x,'s');s;

{}

{{x=0},{},{}}

Получено два экстремума и три критические точки. Исследование можно продолжить с помощью второй производной:

> d2:=diff(y,x$2): x:=0: d2y(x):=d2;

d2y(0):=0

> x:=2*sqrt(3):d2y(x):=d2;

> x:=-2*sqrt(3):d2y(x):=d2;

Так как , то в точке x=0 нет экстремума; так как , то в точке  будет max; так как , то в точке  будет min. Перейдите в текстовый режим и запишите ответ в виде:

“Максимум в точке (), минимум в точке ()”.

Исследование функции по общей схеме.

  1.  Область определения функции f(x) полностью может быть указана после исследования функции на непрерывность.
  2.  Непрерывность и точки разрыва функции f(x) исследуются по схеме:

> iscont(f, x=-infinity..infinity);

> d1:=discont(f,x);

> d2:=singular(f,x);

В результате наборам переменным d1и d2 будут присвоены значения x-координат в точках разрыва 1 и 2-го родов (если они будут найдены).

  1.  Асимптоты. Точки бесконечных разрывов определяют вертикальные асимптоты графика f(x). Уравнение вертикальной асимптоты имеет вид:

> yr:=d2;

Поведение функции f(x) на бесконечности характеризуется наклонными асимптотами (если они есть). Уравнение наклонной асимптоты y=kx+b, где коэффициенты вычисляются по формулам:

и .

Аналогичные формулы для . Поэтому нахождение наклонных асимптот можно провести по следующей схеме:

> k1:=limit(f(x)/x, x=+infinity);

> b1:=limit(f(x)-k1*x, x=+infinity);

> k2:=limit(f(x)/x, x=-infinity);

> b2:=limit(f(x)-k2*x, x=-infinity);

Часто оказывается, что k1=k2 и b1=b2, в этом случае будет одна асимптота при  и при . С учетом этого составляется уравнение асимптоты

> yn:=k1*x+b1;

  1.  Экстремумы. Исследование функции f(x) на экстремумы можно проводить по схеме:

> extrema(f(x), {}, x, ’s’);

> s;

> fmax:=maximize(f(x), x);

> fmin:=minimize(f(x), x);

После выполнения этих команд будут найдены координаты (x, y) всех максимумов и минимумов функции f(x).

Построение графика.

Построение графика функции f(x) – это окончательный этап исследования функции. На рисунке помимо графика исследуемой функции f(x) должны быть нанесены все ее асимптоты пунктирными линиями, подписаны координаты точек max и min. Приемы построения графиков нескольких функций и нанесения надписей были рассмотрены в теме III.

Задание 3.3.

  1.  Провести полное исследование функции  по общей схеме. Сначала перейдите в текстовый режим и наберите “Исследование функции: “. Затем вернитесь в режим командной строки и наберите команды:

> f:=x^4/(1+x)^3:

В текстовом режиме наберите “Непрерывность функции”. В режиме командной строки и наберите:

> readlib(iscont): readlib(discont):

readlib(singular):

> iscont(f, x=-infinity..infinity);

false

Это означает, что функция не является непрерывной. Перейдите в текстовый режим и наберите “Нахождение точек разрыва”. Вернитесь в режим командной строки и наберите:

> discont(f,x);

{-1}

Конвертировать полученное значение точки разрыва типа set в число можно командой convert, добавив вторую опцию, например, `+`. Обратите внимание на обратные кавычки, которые набираются клавишей, расположенной выше клавиши табуляции.

> xr:=convert(%,`+`);

xr:= 1

Перейдите в текстовый режим и наберите: “Получена точка бесконечного разрыва x=1”. С новой строки наберите: “Нахождение асимптот.”. Перейдите на новую строку и наберите “Уравнение вертикальной асимптоты: x=1” (это можно сделать, поскольку вертикальные асимптоты возникают в точках бесконечного разрыва). С новой строки наберите: “Коэффициенты наклонной асимптоты:”. Перейдите в режим командной строки и наберите:

> k1:=limit(f/x, x=+infinity);

k1 :=1

> b1:=limit(f-k1*x, x=+infinity);

b1 := 3

> k2:=limit(f/x, x=-infinity);

k2 :=1

> b2:=limit(f-k2*x, x=-infinity);

b2 := 3

В этом случае коэффициенты наклонных асимптот при  и  оказались одинаковыми. Поэтому перейдите в текстовый режим и наберите “Уравнение наклонной асимптоты:”. Затем в новой строке прейдите в режим командной строки и наберите:

> y=k1*x+b1;

В текстовом режиме наберите “Нахождение экстремумов”. В новой строке наберите команды:

> readlib(extrema): readlib(maximize):

readlib(minimize):

> extrema(f,{},x,'s');s;

{, 0}

{{x= 4},{x=0}}

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

> fmax:=maximize(f,{x},{x=-infinity..-2});

> fmin:=minimize(f,{x},{x=-1/2..infinity});

В текстовом режиме наберите результат исследования в виде:

“Максимум в точке (4, 256/27); минимум в точке (0, 0).”

  1.  Построить график функции  и ее асимптоту, указать координаты точек экстремума. Оформление каждого этапа исследования функции проделать также как и при выполнении предыдущего задания. Самостоятельно загрузите из стандартной библиотеки все необходимые команды.

> restart: y:=arctan(x^2):

> iscont(y, x=-infinity..infinity);

true

> k1:=limit(y/x, x=-infinity); 

k1:=0

> k2:=limit(y/x, x=+infinity);

k2:=0

> b1:=limit(y-k1*x, x=-infinity);

> b2:=limit(y-k1*x, x=+infinity);

> yh:=b1; 

> extrema(y,{},x,'s');s;

{0}

{{x=0}}

> ymax:=maximize(y,{x}); ymin:=minimize(y,{x});

> with(plots): yy:=convert(y,string):

> p1:=plot(y,x=-5..5, linestyle=1, thickness=3,

color=BLACK):

> p2:=plot(yh,x=-5..5, linestyle=1,thickness=1):

> t1:=textplot([0.2,1.7,"Асимптота:"],

font=[TIMES, BOLD, 10], align=RIGHT):

> t2:=textplot([3.1,1.7,"y=Pi/2"],

font=[TIMES, ITALIC, 10], align=RIGHT):

> t3:=textplot([0.1,-0.2,"min:(0,0)"],

align=RIGHT):

> t4:=textplot([2,1,yy], font=[TIMES, ITALIC,

10], align=RIGHT):

> display([p1,p2,t1,t2,t3,t4]);

§4. Интегрирование

Аналитическое и численное интегрирование.

Неопределенный интеграл  вычисляется с помощью 2-х команд:

  1.  прямого исполнения – int(f, x), где f – подынтегральная функция, x – переменная интегрирования;
  2.  отложенного исполнения – Int(f, x) – где параметры команды такие же, как и в команде прямого исполнения int. Команда Int выдает на экран интеграл в аналитическом виде математической формулы.

Для вычисления определенного интеграла  в командах int и  Int добавляются пределы интегрирования, например,

> Int((1+cos(x))^2, x=0..Pi)=

int((1+cos(x))^2, x=0..Pi);

Если в команде интегрирования добавить опцию continuous: int(f, x, continuous), то Maple будет игнорировать любые возможные разрывы подынтегральной функции в диапазоне интегрирования. Это позволяет вычислять несобственные интегралы от неограниченных функций. Несобственные интегралы с бесконечными пределами интегрирования вычисляются, если в параметрах команды int указывать, например, x=0..+infinity.

Численное интегрирование выполняется командой evalf(int(f, x=x1..x2), e), где e – точность вычислений (число знаков после запятой).

Интегралы, зависящие от параметра. Ограничения для параметров.

Если требуется вычислить интеграл, зависящий от параметра, то его значение может зависеть от знака этого параметра или каких-либо других ограничений. Рассмотрим в качестве примера интеграл , который, как известно из математического анализа, сходится при а>0 и расходится при а<0. Если вычислить его сразу, то получится:

> Int(exp(-a*x),x=0..+infinity)=

int(exp(-a*x),x=0..+infinity);

Definite integration: Can't determine if the integral is convergent.

Need to know the sign of --> a

Will now try indefinite integration and then take limits.

.

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

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

Описание наложенных ограничений параметра a можно вызвать командой about(a). Пример: наложить ограничения на параметр a такие, что a>-1, a3:

> assume(a>-1); additionally(a<=3);

> about(a);

Originally a, renamed a~:

 is assumed to be: RealRange(Open(-1),3)

Вернемся к вычислению интеграла с параметром , которое следует производить в таком порядке:

> assume(a>0);

> Int(exp(-a*x),x=0..+infinity)=

int(exp(-a*x),x=0..+infinity);

Обучение основным методам интегрирования.

В Maple имеется пакет student, предназначенный для обучения математике. Он содержит набор подпрограмм, предназначенных для выполнения расчетов шаг за шагом, так, чтобы была понятна последовательность действий, приводящих к результату. К таким командам относятся интегрирование по частям inparts и замена переменной changevar.

Формула интегрирования по частям:

Если обозначить подынтегральную функцию f=u(x)v’(x), то параметры команды интегрирования по частям такие: intparts(Int(f, x), u), где u – именно та функция u(x), производную от которой предстоит вычислить по формуле интегрирования по частям.

Если в интеграле требуется сделать замену переменных x=g(t) или t=h(x), то параметры команды замены переменных такие: changevar(h(x)=t, Int(f, x), t), где t новая переменная.

Обе команды intparts и changevar не вычисляют окончательно интеграл, а лишь производят промежуточную выкладку. Для того, чтобы получить окончательный ответ, следует, после выполнения этих команд ввести команду value(%); где % - обозначают предыдущую строку.

Не забудьте, перед использованием описанных здесь команд обязательно загрузить пакет student командой with(student). 

Задание 4.

  1.  Найти неопределенные интегралы: а) ;

б) .

> 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);

  1.  Найти определенный интеграл , при условии 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);

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

> restart; 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);

  1.  Численно найти интеграл

> Int(cos(x)/x, x=Pi/6..Pi/4)=evalf(int(cos(x)/x,

x=Pi/6..Pi/4), 15);

  1.  Полностью проделать все этапы вычисления интеграла  по частям.

> restart; with(student): J=Int(x^3*sin(x),x);

> J=intparts(Int(x^3*sin(x),x),x^3);

> intparts(%,x^2);

> intparts(%,x);

> value(%);

  1.  Вычислить интеграл  с помощью универсальной подстановки .

> J=Int(1/(1+cos(x)), x=-Pi/2..Pi/2);

> J=changevar(tan(x/2)=t,Int(1/(1+cos(x)),

x=-Pi/2..Pi/2), t);

> value(%);

J=2

Контрольные задания.

  1.  Вычислите предел .
  2.  Найти пределы функции  при  и при .
  3.  Найти .
  4.  Найти точки разрыва функции .
  5.  Найти экстремумы функции ,  и указать их характер.
  6.  Провести полное исследование функции .
  7.  Построить график функции  с указанием координат экстремумов.
  8.  Вычислить неопределенный интеграл .
  9.  Вычислить несобственный интеграл  при a>0 b>0 для случаев a>b, a=b, a<b.
  10.  Численно найти интеграл .
  11.  Полностью проделать все этапы вычисления интеграла  по частям.
  12.  Вычислить интеграл  с помощью универсальной подстановки tg(x/2)=t.

Контрольные вопросы.

  1.  Что такое команды прямого и отложенного исполнения? Опишите их действия.
  2.  С помощью какой команды вычисляются пределы? Какие у нее параметры?
  3.  Какие команды позволяют найти производную функции?
  4.  Опишите команды, позволяющие исследовать функцию на непрерывность.
  5.  Какая последовательность команд необходима для нахождения max и min функции с указанием их координат (x, y)?
  6.  Какие недостатки имеют команды maximize, minimize и extrema?
  7.  Опишите общую схему исследования функции и построение ее графика в Maple.
  8.  Какие команды производят аналитическое и численное интегрирование? Опишите их параметры.
  9.  С помощью каких команд вводятся ограничения на параметры для вычисления интегралов, зависящих от параметров?
  10.  Для чего предназначен пакет student?
  11.  Опишите команду интегрирования по частям.
  12.  Опишите команду интегрирования методом замены переменных.

V. Линейная алгебра

  1.  Векторная алгебра.
  2.  Действия с матрицами.
  3.  Спектральный анализ матрицы.
  4.  Системы линейных уравнений. Матричные уравнения.

§1. Векторная алгебра

Основная часть команд для решения задач линейной алгебры содержится в библиотеке linalg. Поэтому перед решением задач с матрицами и векторами следует загрузить эту библиотеку командой with(linalg).

Способы задания векторов.

Для определения вектора в Maple используется команда vector([x1,x2,…,xn]), где в квадратных скобках через запятую указываются координаты вектора. Например:

> x:=vector([1,0,0]);

x:=[1, 0, 0]

Координату уже определенного вектора x можно получить в строке вывода, если ввести команду x[i] , где i  номер координаты. Например, первую координату заданного в предыдущем примере вектора можно вывести так:

> x[1];

1

Вектор можно преобразовать в список и, наоборот, с помощью команды convert(vector, list) или convert(list, vector).

Сложение векторов.

Сложить два вектора a и b можно с помощью двух команд:

1) evalm(a+b);

2) matadd(a,b).

Команда add позволяет вычислять линейную комбинацию векторов a и b: , где   скалярные величины, если использовать формат: matadd(a,b,alpha,beta).

Скалярное, векторное произведение векторов и угол между векторами.

Скалярное произведение двух векторов  вычисляется командой dotprod(a,b).

Векторное произведение двух векторов  вычисляется командой crossprod(a,b).

Угол между двумя векторами a и b вычисляется с помощью команды angle(a,b).

Норма вектора.

Норму (длину) вектора , которая равна , можно вычислить с помощью команды norm(а,2).

Можно нормировать вектор а с помощью команды normalize(a), в результате выполнения которой будет получен вектор единичной длины .

Нахождение базиса системы векторов. Ортогонализация системы векторов по процедуре Грамма-Шмидта.

Если имеется система n векторов , то с помощью команды basis([a1,a2,…,an]) можно найти базис этой системы.

При помощи команды GramSchmidt([a1,a2,…,an]) можно ортогонализовать систему линейно-независимых векторов .

Задание 1.

1. Даны два вектора:  и . Найти  и угол между a и b. Для решения этой задачи наберите:

> with(linalg):

> a:=([2,1,3,2]); b:=([1,2,-2,1]);

a:=[2,1,3,2]

b:=[1,2,-2,1]

> dotprod(a,b);

0

> phi=angle(a,b);

2. Найти векторное произведение , а затем скалярное произведение , где , .

> restart; with(linalg):

> a:=([2,-2,1]); b:=([2,3,6]);

a:=[2,2,1]

b:=[2,3,6]

> c:=crossprod(a,b);

c:=[15,10,10]

> dotprod(a,c);

0

3. Найти норму вектора .

> restart; with(linalg):

> a:=vector([1,2,3,4,5,6]): norm(a,2);

4. Из системы векторов: , , , ,  выделить базис и ортогонализовать его по процедуре Грамма-Шмидта:

> restart; with(linalg):

> a1:=vector([1,2,2,-1]):

a2:=vector([1,1,-5,3]):

a3:=vector([3,2,8,7]): a4:=vector([0,1,7,-4]):

a5:=vector([2,1,12,-10]):

> g:=basis([a1,a2,a3,a4,a5]);

g:= [a1, a2, a3, a5]

> GramSchmidt(g);

[[1,2,2,1], [2,3,3,2], ,

§2. Действия с матрицами

Определение матрицы.

Для определения матрицы в Maple можно использовать команду matrix(n, m, [[a11,a12,…,a1n], [a21,a22,…,a2m],…, [an1,an2,…,anm]]), где n  число строк, m – число столбцов в матрице. Эти числа задавать необязательно, а достаточно перечислить элементы матрицы построчно в квадратных скобках через запятую. Например:

> A:=matrix([[1,2,3],[-3,-2,-1]]);

В Maple матрицы специального вида можно генерировать с помощью дополнительных команд. В частности диагональную матрицу можно получить командой diag. Например:

> J:=diag(1,2,3);

Генерировать матрицу можно с помощью функции f(i, j) от переменных i, j – индексов матрицы: matrix(n, m, f), где где  n - число строк, m – число столбцов. Например:

> f:=(i, j)->x^i*y^j;  

> A:=matrix(2,3,f);

Число строк в матрице А можно определить с помощью команды rowdim(A), а число столбцов – с помощью команды coldim(A).

Арифметические операции с матрицами.

Сложение двух матриц одинаковой размерности осуществляется теми же командами, что и сложение векторов: evalm(A+B) или matadd(A,B). Произведение двух матриц может быть найдено с помощью двух команд:

  1.  evalm(A&*B); 
  2.  multiply(A,B).

В качестве второго аргумента в командах, вычисляющих произведение, можно указывать вектор, например:

> A:=matrix([[1,0],[0,-1]]);

> B:=matrix([[-5,1], [7,4]]);

 

> v:=vector([2,4]);

> multiply(A,v);

> multiply(A,B);

> matadd(A,B);

Команда evalm позволяет также прибавлять к матрице число и умножать матрицу на число. Например:

> С:=matrix([[1,1],[2,3]]):

> evalm(2+3*С);

Определители, миноры и алгебраические дополнения. Ранг и след матрицы.

Определитель матрицы А вычисляется командой det(A). Команда minor(A,i,j) возвращает матрицу, полученную из исходной матрицы А вычеркиванием i-ой строки и j-ого столбца. Минор Mij элемента aij матрицы А можно вычислить командой det(minor(A,i,j)). Ранг матрицы А вычисляется командой rank(A). След матрицы А, равный сумме ее диагональных элементов, вычисляется командой trace(A). 7

> A:=matrix([[4,0,5],[0,1,-6],[3,0,4]]);

> det(A);

1

> minor(А,3,2);

> det(%);

-24

> trace(A);

9

Обратная и транспонированная матрицы.

Обратную матрицу А1 , такую что А1А=АА1=Е, где Е  единичная матрица, можно вычислить двумя способами:

  1.  evalm(1/A);
  2.  inverse(A).

Транспонирование матрицы А – это изменение местами строк и столбцов. Полученная в результате этого матрица называется транспонированной и обозначается А'. Транспонированную матрицу А' можно вычислить командой transpose(A). 

Например, используя заданную в предыдущем пункте матрицу А, найдем ей обратную и транспонированную:

> inverse(A);

> multiply(A,%);

> transpose(A);

Выяснение типа матрицы.

Выяснить положительную или отрицательную  определенность матрицы можно  при помощи команды definite(A,param), где param может принимать значения: 'positive_def' – положительно определена (A>0), 'positive_semidef' – неотрицательно определенная , 'negative_def' – отрицательно определенная (A<0), 'negative_semidef'  неположительно определенная . Результатом действия будет константа true – подтверждение, false – отрицание сделанного предположения. Например:

> A:=matrix([[2,1],[1,3]]);

> definite(А,'positive_def');

true

Проверить ортогональность матрицы А можно командой orthog(A).

> В:=matrix([[1/2,1*sqrt(3)/2],

[1*sqrt(3)/2,-1/2]]);

> orthog(В);

true

Функции от матриц.

Возведение матрицы А в степень n производится командой evalm(A^n). Вычисление матричной экспоненты  возможно с помощью команды exponential(A). Например:

> Т:=matrix([[5*a,2*b],[-2*b,5*a]]);

> exponential(Т);

> evalm(Т^2);

Задание 2.

  1.  Даны матрицы: , , . Найти: (AB)C , detA, detB, detC, det[(AB)C]. Наберите:

> with(linalg):restart;

> A:=matrix([[4,3],[7,5]]):

> B:=matrix([[-28,93],[38,-126]]):

> C:=matrix([[7,3],[2,1]]):

> F:=evalm(A&*B&*C);

> Det(A)=det(A); Det(B)=det(B); Det(C)=det(C);

Det(F)=det(F);

Det(A)=1

Det(B)=6

Det(C)=1

Det(F)=6

  1.  Дана матрица , найти: detA, , A’, det(M22). Наберите:

> A:=matrix([[2,5,7],[6,3,4],[5,-2,-3]]);

> Det(A)=det(A);

Det(A)=1

> transpose(A);

> inverse(A);

> det(minor(A,2,2));

41

  1.  Найти ранг матрицы .

> A:=matrix([[8,-4,5,5,9], [1,-3,-5,0,-7],

[7,-5,1,4,1], [3,-1,3,2,5]]):

> r(A)=rank(A);

r(A)=3

  1.  Вычислить , где  .

> exponential([[3,-1],[1,1]]);

  1.  Дана матрица . Найти значение многочлена .

> A:=matrix([[5,1,4],[3,3,2],[6,2,10]]):

> P(A)=evalm(A^3-18*A^2+64*A);

§3. Спектральный анализ матрицы

Собственные числа и собственные векторы матрицы.

Из курса линейной алгебры известно, что если Ах=х, то вектор х называется собственным вектором матрицы А, а число – собственным числом, соответствующим данному собственному вектору. Совокупность всех собственных чисел матрицы называется спектром матрицы. Если в спектре матрицы одно и тоже собственное число встречается k раз, то говорят, что кратность этого собственного числа равна k.

Для нахождения собственных чисел матрицы А используется команда eigenvalues(A). Для нахождения собственных векторов матрицы А используется команда eigenvectors(A). В результате выполнения этой команды будут получены собственные числа, их кратность и соответствующие собственные векторы.

Чтобы понять, в каком виде получаются результаты выполнения команды eigenvectors, внимательно разберитесь со следующим примером: матрица  имеет 3 собственных вектора: , отвечающий собственному числу  кратности 1, , отвечающий собственному числу  кратности 1, , отвечающий собственному числу  кратности 1. Найдем их в Maple:

> A:=matrix([[3,-1,1],[-1,5,-1],[1,-1,3]]):

> eigenvectors(A);

[2,1,{[-1,0,1]}], [3,1,{[1,1,1]}], [6,1,{[1,-2,1]}]

В строке вывода перечислены в квадратных скобках собственное число, его кратность и соответствующий собственный вектор в фигурных скобках , затем следующие наборы таких же данных.

Характеристический и минимальный многочлены матрицы.

Для вычисления характеристического многочлена  матрицы A используется команда charpoly(A,lambda).

Минимальный многочлен (делитель) матрицы А можно найти с помощью команды minpoly(A,lambda). 

Канонические и специальные виды матрицы.

Привести матрицу А к нормальной форме Жордана можно командой jordan(A).

К треугольному виду матрицу А можно привести тремя способами:

  1.  команда gausselim(A) приводит матрицу А к треугольному виду методом Гаусса;
  2.  команда ffgausselim(A) приводит матрицу А к треугольному виду методом Гаусса без деления. Эта команда предпочтительней для работы с символьными матрицами, так как не производит нормировку элементов и исключает возможные ошибки, связанные с делением на нуль;
  3.  команда gaussjord(A) приводит матрицу А к треугольному виду методом Гаусса-Жордана.

Характеристическую матрицу  можно вычислить командой charmat(A,lambda).

Задание 3.

  1.  Дана матрица . Найти ее собственные векторы и собственные числа.

> U:=matrix([[3,2-I],[2+I,7]]):

> eigenvectors(U);

,

  1.  Дана матрица . Найти собственные векторы, собственные числа, характеристический многочлен и минимальный многочлен, Жорданову форму.

> A:=matrix([[3,-I,0],[I,3,0],[0,0,4]]):

> eigenvectors(A);

[2, 1, {([1, I, 0])}], [4, 2, {([0, 0, 1]), ([I, 1, 0])}]

> P(lambda):=charpoly(A,lambda);

> d(lambda):=minpoly(A,lambda);

> jordan(A);

  1.  Дана матрица . Привести матрицу А к Жордановой форме, треугольному виду, найти ее характеристическую матрицу.

> A:=matrix([[1,-3,4],[4,-7,8],[6,-7,7]]):

> j:=jordan(A);

> g:=gausselim(A);

> F(A):=charmat(A,lambda);

Самостоятельно проверьте, чем будет отличаться результат выполнения команды ffgausselim(A) от gausselim(A) на этом примере.

§4. Системы линейных уравнений. Матричные уравнения

Системы линейных уравнений и матричные уравнения.

Система линейных уравнений  может быть решена двумя способами.

Способ 1: стандартная команда solve находит решение системы линейных уравнений, записанных  в развернутом виде:

.

Способ 2: команда linsolve(A,b) из пакета linalg  находит решение уравнения . Аргументы этой команды: А – матрица, b – вектор.

С помощью команды linsolve(A,b) можно найти решение матричного уравнения АХ=В, если в качестве аргументов этой команды указать, соответственно, матрицы А и В.

Ядро матрицы.

Ядро матрицы А – это множество векторов х таких, произведение матрицы А на которые равно нулевому вектору: . Поиск ядра матрицы А эквивалентен решению системы линейных однородных уравнений. Найти ядро матрицы А можно командой kernel(A).

Задание 4.

  1.  Найти общее и одно частное решение системы:

> eq:={2*x-3*y+5*z+7*t=1, 4*x-6*y+2*z+3*t=2,

2*x-3*y-11*z-15*t=1}:

> s:=solve(eq,{x,y,z});

s:={, y=y, }

Для нахождения частного решения следует выполнить подстановку конкретного значения одной из переменных при помощи команды subs:

> subs({y=1,t=1},s);

{, , 1=1}

  1.  Решить матричное уравнение: АX=В; где ,

> A:=matrix([[1,2],[3,4]]):

> B:=matrix([[3,5],[5,9]]):

> X:=linsolve(A,B);

  1.  Дана матрица . Найти ее ранг, дефект: d(A)=nr(A), где n – размерность квадратной матрицы, r – ее ранг. Найти ядро А. Наберите:

> A:=matrix([[1,1,0],[0,2,-1],[1,3,-1]]):

> r(A):=rank(A);

r(A):=2

> d(A):=rowdim(A)-r(A);

d(A):=1

> k(A):=kernel(A);

k(A):={[1,1,2]}

Контрольные задания.

  1.  Даны 2 вектора: , . Найти  и угол между этими векторами.
  2.  Даны 3 вектора: ,  и . Найти:  и .
  3.  Даны системы векторов: , , , . Предварительно выяснив, является ли система  базисом, применить процедуру ортогонализации Грамма-Шмидта и построить ортогональный базис этого подпространства.
  4.  Даны матрицы  и . Найти: AB, BA, detA, detB.
  5.  Дана матрица: . Найти: detA, А-1, M32, A'.
  6.  Найти ранг матрицы: . Привести матрицу С к треугольному виду.
  7.  Дана матрица . Найти ее спектр, характеристический многочлен и значение матрицы на нем (вместо переменной в PА () подставить А).
  8.  Дана матрица . Найти , det(), собственные векторы и собственные числа матрицы , ядро матрицы Т.
  9.  Дана матрица . Найти нормальную форму Жордана, собственные векторы и числа, найти характеристический и минимальный многочлены.
  10.  Решить матричное уравнение: АХ=В, где , .

Контрольные вопросы.

  1.  Какой пакет следует загрузить перед решением задач линейной алгебры в Maple?
  2.  С помощью каких команд можно ввести вектор, матрицу?
  3.  Какими двумя командами можно сложить два вектора одинаковой размерности (2 матрицы)?
  4.  Какие виды произведений векторов вычисляются Maple и какие команды для этого используются?
  5.  Как вычислить норму вектора?
  6.  Как вычислить угол между двумя векторами?
  7.  Опишите команды нахождения базиса системы векторов и построение ортогонального базиса системы векторов.
  8.  Какими двумя командами можно вычислить произведение двух матриц (или матрицы на вектор)?
  9.  Какие команды используются для нахождения определителя, минора, алгебраического дополнения, следа матрицы?
  10.  Что такое дефект матрицы? Опишите способ нахождения дефекта квадратной матрицы. Какие команды при этом используются?
  11.  Какая матрица называется обратной и какими способами она вычисляется в Maple?
  12.  Что называется собственным вектором и собственным числом матрицы? Что называется спектром матрицы? Какие команды используются для нахождения спектра матрицы и ее собственных векторов? В каком виде в Maple выводятся результаты выполнения этих команд?
  13.  Перечислите специальные виды матриц и команды, приводящие матрицы к этим формам.
  14.  Что называется ядром матрицы, и какая команда используется для его нахождения?
  15.  Какая команда позволяет решать матричные уравнения?

PAGE  75


EMBED PBrush  

EMBED PBrush  




1. ПРАКТИКУМ ПО МИКРОБИОЛОГИИ Учебное пособие Для студентов вузов
2. Финансовая система России в условиях мирового финансовоэкономического кризиса
3. На тему- ldquo;Вантажнорозвантажувальні складські роботиrdquo; З предметуrdquo;Технологiя Монтажних Робітrdquo;
4. Тема 1. Предпочтения функции полезности и бюджетное ограничение потребителя
5. Мороз2014 при поддержке Министерства по физической культуре спорту и туризму УР и Федерации автомобильн
6. ВВЕДЕНИЕ В гражданском праве наряду с обязательствами по отчуждению имущества именуется группа обязател
7. Про страхування Страхування грошова сума в межах якої страховик відпові
8. чтото случилось Роман построен в форме развернутого монолога героя подводящего итоги прожитой жизни рас
9. Затверджую Перший проректор з навчальної та науковопедагогічної роботи Н
10. Гіппій Більший перший період творчості Платон розглядає багато вимірність поняття