Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
гл5н-6.doc
Скачиваний:
27
Добавлен:
16.11.2019
Размер:
5.87 Mб
Скачать

4. Решение уравнений в символьном виде

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

  • Если решаемое уравнение имеет параметр, то решение в символьном виде может выразить искомый корень непосредственно через параметр. Поэтому вместо того, чтобы решать уравнение для каждого нового значения параметра, можно просто заменять его значение в найденном символьном решении.

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

Чтобы решить уравнение символьно необходимо:

  • Напечатать выражение (для ввода знака равенства используйте комбинацию клавиш [Ctrl]=).

  • Выделить переменную, относительно которой нужно решить уравнение, щелкнув на ней мышью.

  • Выбрать пункт меню Символы Переменные Вычислить.

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

Чтобы решить систему уравнений в символьном виде, необходимо выполнить следующее:

  • Напечатать ключевое слово Given.

  • Напечатать уравнения в любом порядке ниже слова Given. Удостоверьтесь, что для ввода знака = используется [Ctrl]=.

  • Напечатать функцию Find, соответствующую системе уравнений.

  • Нажать [Ctrl]. (клавиша CTRL, сопровождаемая точкой). Mathcad отобразит символьный знак равенства → .

  • Щелкнуть мышью на функции Find.

Пример 6 иллюстрирует символьное решение системы уравнений в MathCAD.

Пример 6 Решение системы уравнений в символьном виде

Given

x + 2 ∙ π ∙ y = a

4 ∙ x+ y = b

- Используйте [Ctrl]. (клавиша Ctrl.

сопровождаемая точкой) для

печати символьного знака равенства

5. Решение дифференциальных уравнений в MathCad

Встроенные функции MathCAD предназначены для решения задачи Коши и граничных задач. Они решают их для нормальных систем обыкновенных дифференциальных уравнений.

Задачи для уравнений высших порядков сводятся к соответствующим задачам для нормальных систем.

Рассмотрим задачу Коши:

       

Численное решение этой задачи состоит в построении таблицы приближенных значений yi,1 , yi,2 , ..., yi,N решения y1 (x), y2 (x), ..., yN (x) на отрезке [x0 , xN ] в точках x1 , x2 , ..., xN, которые называются узлами сетки.

Обозначив

, ,

,

,

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

, .

В MathCAD решить задачу Коши для такой системы можно с помощью следующих функций:

  • rkfixed(y, x1, x2, npoints, D) —решение задачи на отрезке методом Рунге—Кутты с постоянным шагом;

  • Rkadapt(y, x1, x2, npoints, D) —решение задачи на отрезке методом Рунге—Кутты с автоматическим выбором шага;

  • rkadapt(y, x1, x2, acc, npoints, D, kmax, save) —решения задачи в заданной точке методом Рунге-Кутты с автоматическим выбором шага;

Смысл параметров для всех функций одинаков и определяется математической постановкой задачи: y — вектор начальных условий , ; x1, x2 — начальная и конечная точки отрезка интегрирования системы; для функций, вычисляющих решение в заданной точке, x1 — начальная точка, x2 — заданная точка; npoints — число узлов на отрезке [x1, x]; при решении задачи на отрезке результат содержит npoints+1 строку; D — имя вектор-функции D(x,y) правых частей , ; ( имя D – от Derivative — производная, имя вектора, содержащего выражения для производных (derivatives) искомого решения); J — имя матрицы-функции J(x,y) размерности n x (n+1), в первом столбце которой хранятся выражения частных производных по x правых частей системы, а в остальных n столбцах содержится матрица Якоби правых частей:

.

acc — параметр, контролирующий погрешность решения при автоматическом выборе шага интегрирования (если погрешность решения больше acc, то шаг сетки уменьшается; шаг уменьшается до тех пор, пока его значение не станет меньше save ); kmax — максимальное число узлов сетки, в которых может быть вычислено решение задачи на отрезке, максимальное число строк в результате; save — наименьшее допустимое значение шага неравномерной сетки.

Результат работы функции — матрица, содержащая n+1; ее первый столбец содержит координаты узлов сетки, второй столбец — вычисленные приближенные значения решения y1 (x) в узлах сетки,

(k+1) -й — значения решения yk (x) в узлах сетки.

При решении задачи Коши для дифференциального уравнения первого порядка результат вычислений всех приведенных выше функций — матрица, в первом столбце которой содержатся координаты узлов сетки x0 , x1 , ..., xN, а во втором — значения приближенного решения в соответствующих узлах (см. пример 8).

Для решения дифференциального уравнения более высокого порядка используют функцию Odesolve (пример 7).

Решение системы дифференциальных уравнений рассмотрено в приложении 2.

Пример 7

Будем решать граничную задачу y''-sin(x)y'+y = x/2p, y(0)=0, y'(4 p )=1 с помощью функции Odesolve. Прежде чем вводить дифференциальное уравнение, введем ключевое слово Given, а затем - дифференциальное уравнение. При вводе дифференциального уравнения необходимо в скобках указать аргумент искомого решения и использовать знак символьного равенства.

Следом за уравнением необходимо ввести граничные условия. При вводе граничных условий, как и при вводе уравнения, следует использовать знак символьного равенства. Знак символьного равенства можно ввести щелчком по соответствующей кнопке в панели Evaluation, а также ввести с клавиатуры, нажав одновременно клавиши <Ctrl> и <=>. Выполняем

В результате переменной y присваиваются значения численного решения задачи Коши на отрезке (0, 4π)

Построим график найденного решения y(x) (рис. 2).

Д

Рис.2

ля того чтобы построить график решения y(x), щелкните в панели Graph по пиктограмме декартова графика, введите в помеченных позициях имена аргумента и

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

Пример 8

Будем решать на отрезке [0, π] задачу Коши y' = sin(xy), y(0) = 1 с помощью функции rkfixed на равномерной сетке из 20 узлов. Прежде чем вводить дифференциальное уравнение, определим номер первой компоненты вектора цифрой 1 (а не нулем, как предполагается по умолчанию)

Ключевое слово ORIGIN обязательно писать з а г л а в н ы м и буквами.

Полагая, что решение - это вектор y с одной компонентой y1, введем начальное условие..

Определим правую часть уравнения - матрицу D(x,y) , которая в данном случае содержит один элемент - правую часть уравнения.

Здесь x - независимая переменная, y - вектор с единственной компонентой y1 Затем вводим

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

Получим

Для того чтобы построить график решения y(x) (рис. 3), щелкните в панели Graph по пиктограмме декартова графика,

Рис.3 3

введите в помеченных позициях имена аргумента (первый столбец матрицы Y) и функции (второй столбец матрицы Y) и щелкните по свободному месту в рабочем документе вне выделяющей рамки. Для того, чтобы ввести имя столбца матрицы Y, введите имя матрицы, затем щелкните по символу номера столбца в панели Matrix и введите номер столбца в помеченной позиции в угловых скобках