Решение уравнений в символьном виде
Решение уравнений в символьном виде позволяет найти точные или приближенные корни уравнения:
· Если решаемое уравнение имеет параметр, то решение в символьном виде может выразить искомый корень непосредственно через параметр, поэтому вместо того, чтобы решать уравнение для каждого нового значения параметра, можно просто заменять его значение в найденном символьном решении.
· Если нужно найти все комплексные корни полинома со степенью меньше или равной 4, символьное решение даст их точные значения в одном векторе или в аналитическом или цифровом виде.
Чтобы решить уравнение символьно необходимо:
· Напечатать выражение (для ввода знака равенства используйте комбинацию клавиш [Ctrl]=).
· Выделить переменную, относительно которой нужно решить уравнение, щелкнув на ней мышью.
· Выбрать пункт менюСимволы→Переменные→Вычислить.
Нет необходимости приравнивать выражение нулю. Если MathCAD не находит знака равенства, он предполагает, что требуется приравнять выражение нулю.
Чтобы решить систему уравнений в символьном виде, необходимо выполнить следующее:
· Напечатать ключевое слово Given.
· Напечатать уравнения в любом порядке ниже слова Given. Удостоверьтесь, что для ввода знака = используется [Ctrl]=.
· Напечатать функцию Find, соответствующую системе уравнений.
· Нажать [Ctrl].(клавиша CTRL, сопровождаемая точкой). Mathcad отобразит символьный знак равенства → .
|
|
· Щелкнуть мышью на функции Find.
Пример 6 иллюстрирует символьное решение системы уравнений в MathCAD.
Пример 6 Решение системы уравнений в символьном виде
Given
x + 2 ∙ π ∙ y = a
4 ∙ x+ y = b
|
Решение дифференциальных уравнений в 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) (рис. 3).
Для того чтобы построить график решения y(x), щелкните в панели Graph по пиктограмме декартова графика, введите в помеченных позициях имена аргумента и функции и щелкните по свободному месту в рабочем документе вне выделяющей рамки
Пример 8
Будем решать на отрезке [0, 3] с помощью функции rkfixed на равномерной сетке из 30 узлов задачу Коши для системы уравнений:
y1′ = – y2+sin(x*y3)
y2′ = – y12
y3′ = – y3 – y1
Начальные условия: y1(0) = 1, y2(0) = 0, y3(0) = 1.
Прежде чем вводить дифференциальное уравнение, определим номер первой компоненты вектора цифрой 1 (а не нулем, как предполагается по умолчанию)
Ключевое слово ORIGIN обязательно писать з а г л а в н ы м и буквами.
Полагая, что решение – это вектор y с тремя компонентами , введем начальное условие.. Для того чтобы определить матрицу, введите ее имя и знак присваивания, а затем щелкните по символу матрицы в панели Matrix и введите размеры матрицы – число строк и число столбцов. В итоге получим: x:=0..3 ORIGIN:=1
Определим правую часть уравнения – матрицу D(x,y) , которая в данном случае является вектором с тремя компонентами (по числу уравнений в системе). Здесь x – независимая переменная, y – с компонентами y1 и y2 и y3.
Затем вводим
В результате матрица Y содержит решение: в первом ее столбце значения x, а во втором и последующих столбцах – соответствующие значения полученного решения.
Для того чтобы вывести в рабочий документ матрицу Y, введите с клавиатуры имя матрицы Y и знак равенства.
Для того чтобы построить график решения y(x) (рис. 4), щелкните в панели Graph по пиктограмме декартова графика, введите в помеченных позициях имена аргумента (первый столбец матрицы Y) и функции (второй столбец матрицы Y) и щелкните по свободному месту в рабочем документе вне выделяющей рамки. Для того чтобы ввести имя столбца матрицы Y, введите имя матрицы, затем щелкните по символу номера столбца в панели Matrix (там он обозначен М[ ])и введите номер столбца в помеченной позиции в угловых скобках.
Приложение 2.
Дата добавления: 2018-02-15; просмотров: 1255; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!