Опишите структуру блока решения уравнений

Опишите структуру блока решения уравнений

Цель работы: Получить навыки решения алгебраических уравнений средствами системы Mathcad .

Справочный материал и примеры

Система Mathcad обладает широкими возможностями численного решения уравнений.

Функция root, блоки Given…Find, Given…Minerr

В ходе численного решения обычно выделяют два этапа:

· отделение корней − определение интервала нахождения каждого корня или определение приблизительного значения корня. В системе Mathcad наиболее наглядным будет отделение корней уравнения графическим способом;

· уточнение корней − нахождение численного значения корня с указанной точностью.

Точность нахождения корня устанавливается с помощью системной переменной TOL ( Convergence Tolerance − Допуск сходимости), которая по умолчанию равна 10 -3 . Чем меньше значение TOL , тем точнее, вообще говоря, находится корень уравнения. Однако оптимальным является TOL = 10 -5 . Переопределить значение TOL можно в окне математических свойств документа Math Options на вкладке Build — In Variables ( Встроенные переменные) или присваиванием, например, .

Для решения одного уравнения с одной неизвестной предназначена встроенная функция root , которая в общем виде задается

и возвращает значение переменной x , при котором функция f ( x ) обращается в ноль. Аргументы функции root :

· f ( x ) – функция левой части уравнения f ( x ) = 0;

· x – переменная, относительно которой требуется решить уравнение;

· a , b (необязательные) – действительные числа, такие что a b , причем на интервале [ a, b] находится только один корень.

Если функция root не может найти корни уравнения, то рекомендуется уточнить начальное приближение по графику, изменить границы интервала [ a , b ] нахождения корня или увеличить значение системной переменной TOL .

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

возвращает значения неизвестных x 1 , x 2 , … , обращающих уравнения в верные тождества, т. е. возвращает точное решение системы уравнений или одного уравнения в частном случае.

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

возвращающую приближенное решение одного уравнения. При использовании m iner r необходимо производить дополнительную проверку достоверности результатов решения.

Порядок применения блоков Given … Find , Given … Minerr для численного решения уравнений:

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

2 При необходимости присваиваются требуемые значения системным переменным TOL и CTOL ( Constraint Tolerance − Допуск ограничения).

3 Печатается ключевое слово Given , которое указывает Mathcad, что далее следует система уравнений.

4 Задаются уравнения и ограничения на поиск решения в виде неравенств (если они имеются) в любом порядке, каждое в отдельном формульном блоке, причем для записи используются операторы отношения палитры Boolean ( Логические). Допускается использование двусторонних неравенств вида a ≤ x ≤ b .

5 Применяется функция Find или Minerr в составе какого-нибудь выражения. В качестве аргументов через запятую перечисляются имена входящих в систему переменных в том порядке, в котором должны быть расположены в ответе соответствующие им корни.

6 В случае использования функции Minerr выполняется проверка.

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

· выражения, содержащие знак ≠;

· локальное (:=) или глобальное (≡) определение переменных и функций, за исключением выражения, в состав которого входит функция Find или Minerr ;

· другой блок решения. Каждый блок должен содержать только одно слово Given и одну решающую функцию.

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

Пример к заданию 1

Пример 1. Решить уравнение .

Решение данного уравнения будем проводить в два этапа: отделение корней уравнения графически, уточнение корней уравнения.

Определим функцию f ( x ) , равную левой части данного уравнения, когда правая равна нулю:

Зададим ранжированную переменную x на некотором диапазоне с мелким шагом, например:

Вставим в документ графическую область. Для этого выберем дважды пиктограмму с изображением графика сначала на панели Math ( Математика), затем на палитре графиков Graph или выполним из главного меню последовательность команд Insert / Graph / X — Y Plot ( Вставка / График / X — Y Зависимость).

Снизу по оси абсцисс наберем x , а сбоку по оси ординат введем f ( x ).

Для появления графика щелкнем левой клавишей мыши вне графической области.

Отформатируем график функции f ( x ). Для этого щелкнем правой клавишей мыши в области графика и выберем в контекстном меню команду Format ( Формат). Установим пересечение осей графика ( Crossed − Т олько оси), добавим вспомогательные линии по координатным осям ( Grid Lines − Вспомогательные линии). Отменим при этом автосетку ( Autogrid − Автосетка) и установим количество линий сетки, равное 10.

Для подтверждения внесенных изменений нажмем последовательно кнопки Apply ( Применить) и ОК.

После указанных преобразований график функции f ( x ) будет выглядеть следующим образом:

Из графика функции f ( x ) видно, что уравнение имеет три корня, которые приблизительно равны: x 1 » -1; x 2 » 1; x 3 » 2,5.

Этап отделения корней завершен.

Уточним теперь корни уравнения различными способами.

1-й способ. Присвоим начальное приближение переменной x и укажем точность поиска корня:

Уточним заданное приближение к значению корня с помощью функции root :

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

Начальное приближение можно не задавать при использовании в качестве аргументов root границ отрезка нахождения корня, например, второй корень можно уточнить:

2-й способ. Присвоим начальное приближение переменой x для уточнения третьего корня:

Напечатаем служебное слово Given . Ниже наберем f ( x ) = 0, используя логический знак равенства с панели Boolean ( Логические) − комбинация клавиш Ctrl + =. Еще ниже напечатаем выражение x 3 = Find ( x ) и вывод значения третьего корня x 3 =.

Уточнение корня уравнения с помощью блока Given … Find выглядит следующим образом:

3-й способ. Уточнение корня уравнения с помощью блока Given … Minerr осуществляется аналогично предыдущему случаю:

Примечание − Д ля уточнения корня в данном примере установлена точность 0,0001. Поэтому целесообразно изменить формат вывода результатов (4 знака после десятичного разделителя) в окне форматирования результатов на вкладке Number Format .

Решение полиномиальных уравнений. Функция polyroots

Для решения полиномиальных уравнений вида

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

возвращающую вектор-столбец длины n, состоящий из корней полинома, как действительных, так и комплексных. Аргументом функции polyroots является вектор v длины n + 1

1) задать полином;

2) выделить переменную синим управляющим курсором;

3) создать вектор коэффициентов полинома, выполнив последовательность команд главного меню Symbolics / Polynomial Coefficients ( Символика / Коэффициенты полинома);

4) вырезать вектор коэффициентов полинома в буфер обмена;

5) задать переменную v и присвоить ей значение вектора коэффициентов полинома, вставив его непосредственно из буфера обмена;

6) применить функцию polyroots ( v ) в каком-нибудь выражении, например , ;

7) получить вектор корней полинома: X =.

Доступ к каждому отдельному корню − элементу вектора X − осуществляется с помощью индекса, например, Xi =.

Пример к заданию 2

Пример 2. Решить уравнение .

Напечатаем левую часть уравнения, не приравнивая выражение к 0, и выделим синим курсором переменную x:

Выберем из главного меню Symbolics / Polynomial Coefficients ( Символика / Коэффициенты полинома). Появившийся вектор коэффициентов полинома выделим целиком синим курсором и вырежем в буфер обмена, используя кнопку В ырезать на панели инструментов Formatting ( Форматирование) или комбинацию клавиш Ctrl + X .

Напечатаем v := и вставим вектор из буфера обмена, используя кнопку В ставить на панели инструментов или комбинацию клавиш Ctrl + V .

Для получения результата напечатаем polyroots ( v ) =:

Порядок выполнения лабораторной работы

1 Загрузить Mathcad.

2 Сохранить в личной папке на диске z :\ в папке Mathcad \ LAB 4 новый документ с именем ФИО_4, лучше использовать латинские буквы. Производить сохранение регулярно в процессе работы ( Ctrl + S ).

3 Вставить текстовую область и ввести в поле документа текст:

Лабораторная работа № 4

Решение уравнений в Math cad .

4 В новой текстовой области ввести фамилию, имя, отчество и номер варианта.

5 Задание 1. Решить уравнение (таблица 1) с точностью 10 -5 : отделить корень графически и уточнить с помощью функции root ; блока Given … Find ; блока Given … Minerr .

Таблица 1 − Нелинейные уравнения

6 Задание 2. Решить полиномиальное уравнение (таблица 2).

Таблица 2 − Полиномиальное уравнение

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

1 Как найти начальное приближение корней уравнений?

2 Какие функции для решения одного уравнения известны в Mathcad? В чем их отличие?

3 Как системная переменная TOL влияет на решение уравнения?

4 Что такое вычислительный блок и какова его структура?

5 Какой знак равенства используется в блоке решения? Какой комбинацией клавиш вставляется в документ?

6 Какие выражения недопустимы внутри блока решения уравнения?

Лабораторная работа №5. Mathcad.
Решение систем уравнений

Цель работы: Получить навыки решения систем линейных и нелинейных уравнений средствами системы Mathcad .

Справочный материал и примеры

Система Mathcad обладает широкими возможностями численного решения систем уравнений.

Блоки Given … Find , Given … Minerr

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

возвращает значения неизвестных x 1 , x 2 , … , обращающих уравнения в верные тождества, т. е. возвращает точное решение системы уравнений. Для системы из n уравнений с n неизвестными решение возвращается в виде вектора, состоящего из n элементов.

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

возвращающую приближенное решение системы уравнений (число уравнений должно быть равно числу неизвестных). При использовании m iner r необходимо производить дополнительную проверку достоверности результатов решения системы.

Порядок применения блоков Given … Find , Given … Minerr для численного решения систем уравнений:

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

8 При необходимости присваиваются требуемые значения системным переменным TOL и CTOL ( Constraint Tolerance − Допуск ограничения).

9 Печатается ключевое слово Given , которое указывает Mathcad, что далее следует система уравнений.

10 Задаются уравнения и ограничения на поиск решения в виде неравенств (если они имеются) в любом порядке, каждое в отдельном формульном блоке, причем для записи используются операторы отношения палитры Boolean ( Логические). Допускается использование двусторонних неравенств вида a ≤ x ≤ b .

11 Применяется функция Find или Minerr в составе какого-нибудь выражения. В качестве аргументов через запятую перечисляются имена входящих в систему переменных в том порядке, в котором должны быть расположены в ответе соответствующие им корни.

12 В случае использования функции Minerr выполняется проверка.

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

· выражения, содержащие знак ≠;

· локальное (:=) или глобальное (≡) определение переменных и функций, за исключением выражения, в состав которого входит функция Find или Minerr ;

· другой блок решения. Каждый блок должен содержать только одно слово Given и одну решающую функцию.

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

Пример к заданию 1

Пример 1. Решить систему уравнений

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

Вставим графическую область. Аргументы по оси абсцисс и ординат введем через запятую. После форматирования график выглядит так:

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

Напечатаем ключевое слово Given , затем уравнения системы, каждое в отдельном блоке с использованием логического знака равенства ( CTRL + =). Решение уточним с помощью функции Minerr :

Так как Minerr находит приближенное решение системы, то необходимо сделать проверку. Для этого зададим значение системной переменной ORIGIN :=1. Первый элемент вектора X − это значение переменной x , а второй − значение переменной y . Подставим их в левую часть системы и вычислим, чему равна правая, используя обычный знак «=» вывода результата:

Полученные значения совпадают с заданными. Значит, система решена правильно.

Решение систем линейных уравнений

Рассмотрим систему линейных алгебраических уравнений:

В матричном виде ее можно записать Ax = b , где

– матрица коэффициентов при неизвестных системы (матрица левой части системы);

− столбец свободных членов.

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

Умножим обе части матричного уравнения Ax = b на обратную матрицу коэффициентов при неизвестных системы A -1 слева: . Учитывая, что , вектор-столбец решений системы можно искать в виде

.

Этот прием используется в Mathcad так:

1) задается матрица коэффициентов при неизвестных системы A ;

2) задается столбец свободных членов b ;

3) вводится формула для нахождения решения системы ;

4) выводится вектор решений системы .

Кроме того, пакет Mathcad имеет встроенную функцию

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

Реализовать метод Гаусса решения систем линейных уравнений позволяет встроенная функция rref ( M ), возвращающая ступенчатый вид матрицы M . Если в качестве аргумента взять расширенную матрицу системы, то в результате применения rref получится матрица, на диагонали которой – единицы, а последний столбец представляет собой столбец решений системы.

Решение системы линейных уравнений можно осуществить с помощью блоков Given … Find , Given … Minerr . При этом неизвестным системы задается произвольное начальное приближение, а проверка необязательна.

Пример к заданию 2

Пример 2. Решить систему линейных уравнений С делать проверку.

1-й способ. Использование блока Given … Find .

Зададим всем неизвестным, входящим в систему уравнений, произвольные начальные приближения, например:

Напечатаем слово Given . Установим визир (курсор) ниже и наберем уравнения системы, каждое в своем блоке. Используем при этом логический знак равенства ( Ctrl + =).

После ввода уравнений системы напечатаем X : = Find ( x , y , z ) и получим решение системы в виде вектора, состоящего из трех элементов:

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

После набора знака «=» в каждой строке должен быть получен результат, равный или приблизительно равный правой части системы. В данном примере системная переменная ORIGIN = 1.

2-й способ. Использование блока Given … Minerr .

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

3-й способ. Решение системы линейных уравнений матричным способом.

Создадим матрицу А , состоящую из коэффициентов при неизвестных системы. Для этого напечатаем A : = , вызовем окно создания массивов ( Ctrl + M ). Число строк ( Rows ) и столбцов ( Columns ) матрицы данной системы равно 3. Заполним пустые места шаблона матрицы коэффициентами при неизвестных системы, как показано ниже:

Зададим вектор b свободных членов системы. Сначала напечатаем b : =, затем вставим шаблон матрицы( Ctrl + M ), где количество строк ( Rows) равно 3, а количество столбцов ( Columns) равно 1. Заполним его:

Решим систему матричным способом по формуле

Решим систему с помощью функции lsolve :

Решение системы с помощью функции rref можно представить так:

В последнем случае матрица AR , полученная путем объединения матрицы при неизвестных системы и столбца свободных членов, является расширенной матрицей системы.

Для проверки правильности решения системы, полученного матричным способом, достаточно вычислить произведение , которое должно совпасть с вектором-столбцом свободных членов b :

Порядок выполнения лабораторной работы

7 Загрузить Mathcad.

8 Сохранить в личной папке на диске z :\ в папке Mathcad \ LAB 5 новый документ с именем ФИО_5, лучше использовать латинские буквы. Производить сохранение регулярно в процессе работы ( Ctrl + S ).

9 Вставить текстовую область и ввести в поле документа текст:

Лабораторная работа № 5

Решение систем уравнений в Math cad .

10 В новой текстовой области ввести фамилию, имя, отчество и номер варианта.

11 Задание 1. Решить систему уравнений (таблица 1), отделив решение графически и уточняя с помощью блока Given … Minerr . Сделать проверку.

Таблица 1 − Нелинейные системы уравнений

Решение уравнений средствами Mathcad

Дата добавления: 2015-07-23 ; просмотров: 11138 ; Нарушение авторских прав

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

Нахождение корней полинома

Решение систем уравнений

Символьное решение уравнений

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

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

Для простейших уравнений вида f(x) = 0 решение в Mathcad находится с помощью функции root (Рисунок 5).

Рисунок 5.

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

Аргументы:

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

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

a, b —необязательны, если используются, то должны быть вещественными числами, причем a

,

где функции f1(x) и f2(x) — более простые, чем функция f(x). Тогда, построив графики функций у = f1(x) и у = f2(x), искомые корни получим как абсциссы точек пересечения этих графиков.

Пример. Графически отделить корни уравнения:

x lg x = 1.(1)

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

lg x= .

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

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

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

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

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

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

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

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

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

Рекомендации по использованию функции root

· Для изменения точности, с которой функция root ищет корень, нужно изменить значение системной переменной TOL. Если значение TOL увеличивается, функция root будет сходиться быстрее, но ответ будет менее точен. Если значение TOL уменьшается, то функция root будет сходиться медленнее, но ответ будет более точен. Чтобы изменить значение TOL в определенной точке рабочего документа, используйте определение вида . Чтобы изменить значение TOL для всего рабочего документа, выберите команду Математика Þ Параметры… Þ Переменные Þ Допуск сходимости (TOL).

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

· Если функция f(x) имеет малый наклон около искомого корня, функция root(f(x), x) может сходиться к значению r, отстоящему от корня достаточно далеко. В таких случаях для нахождения более точного значения корня необходимо уменьшить значение TOL. Другой вариант заключается в замене уравнения f(x) = 0на g(x) = 0

.

· Для выражения f(x) с известным корнем а нахождение дополнительных корней f(x) эквивалентно поиску корней уравнения h(x) = f(x)/(x — a). Подобный прием полезен для нахождения корней, расположенных близко друг к другу. Проще искать корень выражения h(x), чем пробовать искать другой корень уравнения f(x) = 0, выбирая различные начальные приближения.

Нахождение корней полинома

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

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

Polyroots(v)

Возвращает корни полинома степени n. Коэффициенты полинома находятся в векторе v длины n + 1. Возвращает вектор длины n, состоящий из корней полинома.

v —вектор, содержащий коэффициенты полинома.

Вектор vудобно создавать использую команду Символы Þ Коэффициенты полинома. Рисунок 6 иллюстрирует определение корней полинома средствами Mathcad.

Рисунок 6.

Решение систем уравнений

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

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

· Задать начальное приближение для всех неизвестных, входящих в систему уравнений. Mathcad решает систему с помощью итерационных методов.

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

· Введите уравнения и неравенства в любом порядке. Используйте [Ctrl]= для печати символа =. Между левыми и правыми частями неравенств может стоять любой из символов , и .

· Введите любое выражение, которое включает функцию Find, например: а:= Find(х, у).

Возвращает точное решение системы уравнений. Число аргументов должно быть равно числу неизвестных.

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

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

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

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

· Неравенства вида a -1 . Умножая обе части уравнения (3) на матрицу А -1 получим:

(5)

Формула (5) дает решение уравнения (3) и оно единственно.

Системы линейных уравнений удобно решать с помощью функции lsolve.

lsolve(А, b)

Возвращается вектор решения x такой, что Ах = b.

А — квадратная, не сингулярная матрица.

b — вектор, имеющий столько же рядов, сколько рядов в матрице А.

На Рисунке 8 показано решение системы трех линейных уравнений относительно трех неизвестных.

Рисунок 8.

Приближенные решения

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

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

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

Символьное решение уравнений

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

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

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

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

КомандаСимволы Þ Переменные Þ Вычислить позволяет решить уравнение относительно некоторой переменной и выразить его корни через остальные параметры уравнения.

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

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

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

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

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

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

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

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

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

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

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

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

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

1. Назовите способы нахождения начального приближения.

2. Какие функции для решения одного уравнения в MathCAD вы знаете? В чем их отличие?

3. Какие аргументы функции root не обязательны?

4. В каких случаях MathCAD не может найти корень уравнения?

5. Какая системная переменная отвечает за точность вычислений?

6. Как изменить точность, с которой функция root ищет корень?

7. Как системная переменная TOL влияет на решение уравнения с помощью функции root?

8. Назовите функции для решения систем уравнений в MathCAD и особенности их применения.

9. Опишите структуру блока решения уравнений.

10. Какой знак равенства используется в блоке решения? Какой комбинацией клавиш вставляется в документ?

11. Какие выражения не допустимы внутри блока решения уравнения?

12. Опишите способы использования функции Find.

13. В каких случаях MathCAD не может найти решение системы уравнений?

14. Дайте сравнительную характеристику функциям Find и Minerr.

15. Какие уравнения называются матричными?

16. Как решать матричные уравнения? Назовите способы решения матричных уравнений.

17. Как символьно решить уравнение или систему уравнений в MathCAD? Какой знак равенства используется? Какой комбинацией клавиш вставляется в документ?

18. Назовите особенности использования символьного решения уравнений.

|следующая лекция ==>
Основы работы с Mathcad|Символьные вычисления

Не нашли то, что искали? Google вам в помощь!

Решение нелинейных уравнений и систем уравнений в пакете MathCAD

Решение нелинейных уравнений

Вычисление корней численными методами включает два основных этапа:

· уточнение корней до заданной точности.

Рассмотрим эти два этапа подробно.

Отделение корней нелинейного уравнения

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

Пример. Дано алгебраическое уравнение

.

Определить интервалы локализации корней этого уравнения.

Пример. Дано алгебраическое уравнение

.

Определить интервалы локализации корней этого уравнения.

На рисунке приведен график функции , построенный в MathCAD . Видно, что в качестве интервала изоляции можно принять интервал . Однако уравнение имеет три корня. Следовательно, можно сделать вывод о наличии еще двух комплексных корней. ¨

Уточнение корней нелинейного уравнения

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

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

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

Заметим, что для вычисления всех трех корней использовался прием понижения порядка алгебраического уравнения, рассмотренный в п. 8.1.1. ¨

Функция root с двумя аргументами требует задания (до обращения к функции) переменной начального значения корня из интервала локализации.

Пример 8.1.5. Используя функцию root , вычислить изменения корня нелинейного уравнения при изменении коэффициента а от 1 до 10 с шагом 1.

Функция polyroots . Для вычисления всех корней алгебраического уравнения порядка (не выше 5) рекомендуется использовать функцию polyroots . Обращение к этой функции имеет вид polyroots (v) , где v – вектор, состоящий из n +1 проекций, равных коэффициентам алгебраического уравнения, т.е. . Эта функция не требует проведения процедуры локализации корней.

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

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

Решаемое уравнение задается в виде равенства, в котором используется «жирный» знак равно, вводимый с палитры ЛОГИЧЕС­КИЙ .

Ограничения содержат равенства или неравенства, которым должен удовлетворять искомый корень.

Функция Find уточняет корень уравнения, вызов этой функции имеет вид Find ( x ), где x – переменная, по которой уточняется корень. Если корня уравнения на заданном интервале не существует, то следует вызвать функцию Minerr ( x ), которая возвращает приближенное значение корня.

Для выбора алгоритма уточнения корня необходимо щелкнуть правой кнопкой мыши на имени функции Find ( x ) и в появившемся контекстном меню (см. рисунок) выбрать подходящий алгоритм.

Аналогично можно задать алгоритм решения и для функции Minerr ( x ).

Использование численных методов в функциях Find ( x ), Minerr ( x ) требует перед блоком Given задать начальные значения переменным, по которым осуществляется поиск корней уравнения.

Пример. Используя блок Given , вычислите корень уравнения в интервале отделения .

Решение систем уравнений

В зависимости от того, какие функции входят в систему уравнений, можно выделить два класса систем:

· алгебраические системы уравнений;

· трансцендентные системы уравнений.

Среди алгебраических систем уравнений особое место занимают системы линейных алгебраических уравнений (СЛАУ).

Системы линейных алгебраических уравнений

Системой линейных алгебраических уравнений (СЛАУ) называется система вида:

В матричном виде систему можно записать как

,

где – матрица размерности , – вектор с проекциями.

Для вычисления решения СЛАУ следует использовать функцию lsolve , обращение к которой имеет вид: lsolve (А, b ), где А – матрица системы, – вектор правой части.

Решение систем нелинейных уравнений

MathCAD дает возможность находить решение системы уравнений численными методами, при этом максимальное число уравнений в MathCAD 2001 i доведено до 200.

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

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

Пример. Дана система уравнений:

Определить начальные приближения для решений этой системы.

Видно, что система имеет два решения: для первого решения в качестве начального приближения может быть принята точка (-2, 2), а для второго решения – точка (5, 20). ¨

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

Функция Find вычисляет решение системы уравнений с заданной точностью, и вызов этой функции имеет вид Find ( x ), где x – список переменных, по которым ищется решение. Начальные значения этим переменным задаются в блоке . Число аргументов функции должно быть равно числу неизвестных.

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

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

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

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

Пример. Используя блок Given , вычислить все решения системы предыдущего примера. Выполнить проверку найденных решений.

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


источники:

http://life-prog.ru/2_60936_reshenie-uravneniy-sredstvami-mathcad.html

http://www.sites.google.com/a/msk.edu.ua/kt-i-okm/zan-no-15/mathcad-ur