Решение уравнений в MathCAD




MathCAD дает возможность решать алгебраические и дифференциальные уравнения, а также и системы уравнений. Максимальное число уравнений и переменных равно 50. Результатом решения системы будет численное значение искомого корня.

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

· Задать начальное приближение для всех неизвестных, входящих в систему уравнений. Т.е. всем переменным x1, …, xn относительно которых решаются уравнения (уравнение), следует предварительно присвоить некоторые числовые значения, с которых и начинается поиск корня. Таким образом, присвоение начального значения требует априорной информации о примерном местонахождении корня.

Приближенные значения корней (начальные приближения) могут быть:

1. Известны из физического смысла задачи.

2. Известны из решения аналогичной задачи при других исходных данных.

3. Найдены графическим способом.

Наиболее распространен графический способ определения начальных приближений. Принимая во внимание, что действительные корни уравнения f(x) = 0 - это точки пересечения графика функции f(x) с осью абсцисс, достаточно построить график функции f(x) и отметить точки пересечения f(x) с осью Ох, или отметить на оси Ох отрезки, содержащие по одному корню. Построение графиков часто удается сильно упростить, заменив уравнение f(x) = 0 равносильным ему уравнением: , где функции f1(x) и f2(x) - более простые, чем функция f(x). Тогда, построив графики функций у = f1(x) и у = f2(x), искомые корни получим как абсциссы точек пересечения этих графиков.

Пример 1. Графически отделить корни уравнения: x lg(x) = 1. (1)

Уравнение (1) удобно переписать в виде равенства:

lg (x) = .

Отсюда ясно, что корни уравнения (1) могут быть найдены как абсциссы точек пересечения логарифмической кривой y = lg(x) и гиперболы y = . Построив эти кривые, приближенно найдем единственный корень уравнения (1) или определим его содержащий отрезок [2, 3].

· Напечатать ключевое слово Given. Оно указывает MathCAD, что далее следует система уравнений.

· Ввести уравнения и неравенства в любом порядке. Используйте <Ctrl> + <=> для печати символа логического равенства = или воспользуйтесь панелью инструментов Логические (Boolean). Между левыми и правыми частями неравенств может стоять любой из символов <, >, ³ и £.

· Ввести любое выражение, которое включает функцию Find, например:

а:= Find (х,у).

Find (x1, …, xn) - встроенная функция для решения системы уравнений относительно переменных x1, …, xn . Возвращает точное решение системы уравнений. Число аргументов должно быть равно числу неизвестных.

Ключевое слово Given, уравнения и неравенства, которые следуют за ним, и какое–либо выражение, содержащее функцию Find, называют блоком решения уравнений (рис. 11).

Следующие выражения недопустимы внутри блока решения:

· Ограничения со знаком ¹.

· Дискретный аргумент или выражения, содержащие дискретный аргумент в любой форме.

· Неравенства вида a < b < c.

Блоки решения уравнений не могут быть вложены друг в друга, каждый блок может иметь только одно ключевое слово Given и имя функции Find.

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

· Можно вывести найденное решение, напечатав выражение вида:

Find (x1, x2, …, xn) =.

· Определить переменную с помощью функции Find:

a:= Find (x) – скаляр,

r:= Find (x1, x2, …, xn) – вектор.

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

· Определить другую функцию с помощью Find

f(a, b, c, …):= Find (x, y, z, …).

Численное решение нелинейного уравнения.

Для простейших уравнений вида f(x) = 0 решение в MathCAD можно найти и при помощи встроенной функции root:

· root (f(х1, x2, …), х1)

· root (f(х1, x2, …), х1, a, b).

Возвращает значение х1, принадлежащее отрезку [a, b], при котором выражение или функция f(х) обращается в 0. Оба аргумента этой функции должны быть скалярами. Функция возвращает скаляр (рис. 11).

Аргументы:

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

х1 - имя переменной, которая используется в выражении. Этой переменной перед использованием функции root необходимо присвоить числовое значение. MathCAD использует его как начальное приближение при поиске корня.

a, b – границы интервала, внутри которого происходит поиск корня (необязательный параметр функции)

Примечание: когда root имеет четыре аргумента, следует помнить о двух ее особенностях. Во-первых, внутри интервала не должно находиться более одного корня, иначе будет найден один из них, заранее неизвестно, какой именно. Во-вторых, значения f (а) и f (b) должны иметь разный знак, иначе будет выдано сообщение об ошибке.

Рис. 11. Решение алгебраических уравнений в MathCAD

Отсутствие сходимости функции root.

Если после многих итераций MathCAD не находит подходящего приближения, то появится сообщение (отсутствует сходимость). Эта ошибка может быть вызвана следующими причинами:

· Уравнение не имеет корней.

· Корни уравнения расположены далеко от начального приближения.

· Выражение имеет локальные max и min между начальным приближением и корнями.

· Выражение имеет разрывы между начальными приближениями и корнями.

· Выражение имеет комплексный корень, но начальное приближение было вещественным.

Чтобы установить причину ошибки, исследуйте график f(x). Он поможет выяснить наличие корней уравнения f(x) = 0 и, если они есть, то определить приблизительно их значения. Чем точнее выбрано начальное приближение корня, тем быстрее будет root сходиться.

Нахождение корней полинома. Для нахождения корней выражения, имеющего вид

anxn +an-1 xn-1... + a2x2 + a1x + a0

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

Polyroots (v) - возвращает корни полинома степени n (рис. 11).

Аргументы:

v – вектор, составленный из коэффициентов полинома.

Поскольку полином N-й степени имеет ровно N корней (некоторые из них могут быть кратными), вектор v должен состоять из N+1 элемента. Первым в векторе должен идти свободный член полинома, вторым - коэффициент при x1 и т.д. Вектор v удобно создавать, используя команду СимволыКоэффициенты полинома, или, используя оператор символьного вывода, нажав кнопку coeffs на панели Символика (Symbolic).

Задачи Коши для обыкновенных дифференциальных уравнений (ОДУ). Дифференциальные уравнения - это уравнения, в которых неизвестными являются не переменные (т. е. числа), а функции одной или нескольких переменных. Эти уравнения (или системы) включают соотношения между искомыми функциями и их производными. Если в уравнения входят производные только одной переменной, то они называются обыкновенными дифференциальными. Таким образом, решить дифференциальное уравнение - значит, определить неизвестную функцию на определенном интервале изменения ее переменных.

Имеются два типа задач, которые возможно решать с помощью MathCAD:

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

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

Для решения ОДУ порядка N≥1 в MathCAD предусмотрены две возможности:

· вычислительный блок Given / Odesolve (начиная с версии 2000) - в этом случае решение имеет вид функции от t (рис. 12);

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

Вычислительный блок для решения ОДУ, реализующий численный метод Рунге - Кутта, состоит из трех частей:

· Given - ключевое слово;

· ОДУ и начальные условия в формате y(t0)=b, записанные с помощью логических операторов, которые должны набираться на панели инструментов Логические (Boolean);

· Odesolve (t, t1) - встроенная функция для решения ОДУ относительно переменной t на интервале (t0, t1), причем t0 < t1.

Рис. 12. Решение задачи Коши в MathCAD



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2017-04-20 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: