Учебно-методический комплекс по дисциплине «информационные технологии в математике» для дневного отделения специальность icon

Учебно-методический комплекс по дисциплине «информационные технологии в математике» для дневного отделения специальность


Смотрите также:
Учебно-методический комплекс по дисциплине «история политических и правовых учений» (для...
Учебно-методический комплекс по дисциплине «проектирование информационых систем» для дневного...
Учебно-методический комплекс для студентов специальности «Реклама» Санкт-Петербург...
Учебно-методический комплекс по дисциплине «теория и методика обучения математике» (для дневного...
Учебно-методический комплекс по дисциплине «информатика» для дневного отделения...
Учебно-методический комплекс по дисциплине «программное обеспечение эвм» для дневного отделения...
Учебно-методический комплекс по поддержке курса «информационные технологии в математике» 2...
Учебно-методический комплекс по дисциплине «Информационные технологии в управлении»...
Учебно-методический комплекс по дисциплине...
Учебно-методический комплекс по дисциплине теория вероятностей...
Учебно-методический комплекс по этнологии для дневного отделения Составитель...
Учебно методический комплекс по истории древнего мира для дневного отделения...



страницы: 1   ...   6   7   8   9   10   11   12   13   14
вернуться в начало
^

ЛЕКЦИЯ №7. РЕШЕНИЕ ЗАДАЧ АЛГЕБРЫ. РЕШЕНИЕ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ В MAPLE



Вопросы:

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

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

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

  4. Аналитическое решение дифференциальных уравнений.

  5. Приближенное решение с помощью степенных рядов.

  6. Численное решение дифференциальных уравнений.



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

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

 

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

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

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

Вектор можно преобразовать в список и, наоборот, с помощью команды 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), в результате выполнения которой будет получен вектор единичной длины .

 

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

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

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

В 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). Произведение двух матриц может быть найдено с помощью двух команд:

evalm(A&*B);

multiply(A,B).

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

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

 

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

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

 

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

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

evalm(1/A);

inverse(A).

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


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

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

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

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

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

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

 

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

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


§4. Аналитическое решение дифференциальных уравнений

Общее решение дифференциальных уравнений.

Для нахождения аналитических решений дифференциальных уравнений в 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(%).

Замечание: при записи решения диффреренциального уравнения в Maple в строке вывода произвольная постоянная обозначена как _С1.

  

Фундаментальная (базисная) система решений.

Команда dsolve представляет возможность найти фундаментальную систему решений (базисные функции) дифференциального уравнения. Для этого в параметрах команды dsolve следует указать output=basis.

 

Решение задачи Коши или краевой задачи.

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


Системы дифференциальных уравнений.

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


§5. Приближенное решение дифференциальных уравнений с помощью степенных рядов.

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

Чтобы найти приближенное решение дифференциального уравнения в виде степенного ряда, в команде dsolve следует после переменных указать параметр type=series (или просто series). Для того, чтобы указать порядок разложения n, т.е. порядок степени, до которой производить разложение, следует перед командой dsolve вставить определение порядка с помощью команды Order:=n.

Если ищется общее решение дифференциального уравнения в виде разложения в степенной ряд, то коэффициенты при степенях х найденного разложения будут содержать неизвестные значения функции в нуле y(0) и ее производных D(y)(0), (D@@2)(y)(0) и т.д. Полученное в строке вывода выражение будет иметь вид, похожий на разложение искомого решения в ряд Маклорена, но с другими коэффициентами при степенях х. Для выделения частного решения следует задать начальные условия y(0)=у1, D(y)(0)=у2, (D@@2)(y)(0)=у3 и т.д., причем количество этих начальных условий должно совпадать с порядком соответствующего дифференциального уравнения.

Разложение в степенной ряд имеет тип series, поэтому для дальнейшей работы с этим рядом его следует преобразовать в полином с помощью команды convert(%,polynom), а затем выделить правую часть полученного выражения командой rhs(%).


§6. Численное решение дифференциальных уравнений

Численное решение дифференциальных уравнений с помощью команды dsolve. Построение графиков решений дифференциальных уравнений с помощью команды odeplot.

Для того, чтобы найти численное решение дифференциального уравнения (задачи Коши или краевой задачи) в команде dsolve следует указать параметр type=numeric (или просто numeric). Тогда команда решения дифференциального уравнения будет иметь вид dsolve(eq, vars, type=numeric, options), где eq – уравнения, vars – список неизвестных функций, options – параметры, позволяющие указать метод численного интегрирования дифференциального уравнения. В Maple реализованы такие методы: method=rkf45 - метод Рунге-Кутта-Фельберга 4-5-ого порядка (установлен по умолчанию); method=dverk78 – метод Рунге-Кутта 7-8 порядка; mtthod=classical – классический метод Рунге-Кутта 3-его порядка; method=gear и method=mgear – одношаговый и многошаговый методы Гира.

График численного решения дифференциального уравнения можно построить с помощью команды odeplot(dd, [x,y(x)], x=x1..x2), где в качестве функции используется команда dd:=dsolve({eq,cond}, y(x), numeric) численного решения, после нее в квадратных скобках указывают переменную и неизвестную функцию [x,y(x)], и интервал x=x1..x2 для построения графика.

 

Пакет графического представления решений дифференциальных уравнений Detools.

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

Команда DEplot из пакета DEtools строит численными методами графики решения или фазовые портреты. Эта команда аналогична команде odeplot, но более функциональна. Она, в отличие от odeplot, сама производит численное решение дифференциального уравнения. Основные параметры DEplot похожи на параметры odeplot: 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, этот параметр необходим для вывода более гладкой кривой решения.

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


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

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

С помощью команды DEplot можно построить фазовый портрет в плоскости (x, y), для системы двух дифференциальных уравнений: , если в параметрах данной команды указать scene=[x,y].

Если система дифференциальных уравнений является автономной, то на фазовом портрете будет построено поле направлений в виде стрелок. Размер стрелок регулируется параметром arrows=SMALL, MEDIUM, LARGE, LINE или NONE.

Для того, чтобы нарисовать весь фазовый портрет, необходимо для каждой фазовой траектории указывать начальные условия: например, для системы двух дифференциальных уравнений первого порядка несколько начальных условий в команде DEplots указываются после задания диапазона изменения независимой переменной t: [[x(0)=x1, y(0)=y1], [x(0)=x2, y(0)=y2],…, [x(0)=xn, y(0)=yn]].

Начальные условия можно задавать в более компактной форме: [t0, x0, y0], где t0 - точка, в которой задаются начальные условия, x0 и y0 - значения искомых функций в точке t0.

Фазовый протрет системы двух дифференциальных уравнений первого порядка можно также построить с помощью команды phaseportrait(sys, [x,y],x1..x2,[[cond]]), где sys - система двух дифференциальных уравнений первого порядка, [x,y] - имена искомых функций, x1..x2 - интервал, на котором следует построить фазовый портрет, а в фигурных скобках указываются начальные условия. Эта команда находится в пакете DEtools, поэтому данный пакет должен быть предварительно загружен.





оставить комментарий
страница14/14
Г.С. Сабитова
Дата04.03.2012
Размер1.22 Mb.
ТипУчебно-методический комплекс, Образовательные материалы
Добавить документ в свой блог или на сайт

страницы: 1   ...   6   7   8   9   10   11   12   13   14
плохо
  1
хорошо
  1
Ваша оценка:
Разместите кнопку на своём сайте или блоге:
rudocs.exdat.com

База данных защищена авторским правом ©exdat 2000-2014
При копировании материала укажите ссылку
обратиться к администрации
Анализ
Справочники
Сценарии
Рефераты
Курсовые работы
Авторефераты
Программы
Методички
Документы
Понятия

опубликовать
Документы

Рейтинг@Mail.ru
наверх