- •Теоретические сведения
- •Практическая часть
- •Варианты заданий Вариант 1
- •Вариант 2
- •Вариант 3
- •Вариант 4
- •Вариант 5
- •Вариант 6
- •Вариант 7
- •Вариант 8
- •Вариант 9
- •Вариант 10
- •Среди трехмерных выделяют
- •5. Построение графиков поверхностей
- •6. Форматирование графика поверхности.
- •Тема 3: Численные методы решения нелинейных уравнений и оптимизация функций.
- •Теоретические сведения.
- •Метод простых итераций.
- •Метод Ньютона.
- •Средства пакета MathCad для решения нелинейных уравнений
- •2. Решение систем нелинейных уравнений. Метод простых итераций (последовательных приближений).
- •Средства пакета MathCad для решения нелинейных уравнений
- •Функции MathCad для решения задач оптимизации.
- •Варианты заданий
- •Вариант 9
- •Вариант 10
2. Решение систем нелинейных уравнений. Метод простых итераций (последовательных приближений).
Систему нелинейных уравнений можно записать в векторном виде (1) или подробно в координатном виде . Нулевое приближение в случае двух переменных находится графически: на плоскости строят кривые и и находят точки их пересечения. Для трех и более переменных удовлетворительных способов подбора нулевых приближений нет. Заменим нелинейную систему (1) эквивалентной системой вида . (2) или . Если итерации сходятся, то они сходятся к решению уравнения (предполагается, что решение существует). Исследуем сходимость итераций. Обозначим компоненты решения через и преобразуем погрешность очередной итерации: где l – направление, соединяющее многомерные точки и , а – некоторая точка, лежащая между ними на этом направлении. Это равенство означает, что вектор погрешности нового приближения равен матрице производных, умноженной на вектор погрешности предыдущего приближения. Если какая-нибудь норма матрицы производных , согласованная с некоторой нормой вектора, меньше единицы, то норма погрешности убывает от итерации к итерации по геометрической прогрессии. Это означает линейную сходимость метода. Заканчивать итерации можно по критерию сходимости: , выполнение которого необходимо проверить для каждой компоненты.
Средства пакета MathCad для решения нелинейных уравнений
Для решения систем имеется специальный вычислительный блок, состоящий из трех частей, идущих последовательно друг за другом:
-
Given – ключевое слово;
-
Система уравнений или неравенств, записанная логическими операторами в виде равенств или неравенств;
-
Find (x1,... ,xn) – встроенная функция для решения системы относительно переменных x1,... ,x .
Блок Given/Find использует для поиска решения итерационные методы, поэтому, как и для функции root, требуется задать начальные значения для всех x1,...,xn. Начальные условия определяют начальные значения искомых переменных и задаются в виде var:=value, т.е. обычным присваиванием переменным заданных значений, причем задать их необходимо до ключевого слова Given. Уравнения задаются в виде expr_left=expr_right с применением логического знака равенства между левой и правой частями каждого уравнения, который вводится либо с панели инструменов. Boolean (Булевы операторы), сочетанием клавиш+<=>. Функция Find возвращает вектор значений, составленный из решения по каждой переменной. Таким образом, число элементов вектора равно числу аргументов функции Find.
Пример 4.
Решить систему уравнений в окрестности точки .
Выполним проверку
Ответ: решением системы является точка (-0.106, 1.056).
Замечание. Вычислительный блок использует константу CTOL в качестве погрешности выполнения уравнений, введенных после ключевого слова Given. Например, если CTOL =0.001, то уравнение х=10 будет считаться выполненным и при х=10,001, и при х=9,999.
Вычислительным блоком с функцией Find можно найти и корень уравнения с одним неизвестным. Действие Find в этом случае совершенно аналогично уже рассмотренным примерам. Задача поиска корня рассматривается как решение системы, состоящей из одного уравнения. Единственным отличием будет скалярный, а не векторный тип числа, возвращаемого функцией Find.
Если окрестность, в которой требуется найти решение системы, не задана, начальное приближение для решения можно задать, построив в одной графической области графики кривых, задаваемых уравнениями системы.
Пример 5. Найти решение системы уравнений
Зададим функции f(x,y) и g(x,y), соответствующие первому и второму уравнениям системы соответственно:
Построим графики поверхностей, описываемых этими уравнениями.
На графике видно, что в качестве начального приближения можно выбрать, например, точку (0,0). Далее используя вычислительный блок и функцию, решение системы. Выполним проверку, подставив найденные значения в функции f(x,y) и g(x,y). Ответ: решением системы является точка (-1.118, -0.653).
Иногда приходится заменять задачу отделения корней системы уравнений задачей поиска экстремума функции многих переменных. Например, когда невозможно найти решение с помощью функции Find, можно попытаться потребовать вместо точного выполнения уравнений условий минимизировать их невязку. Для этого следует в вычислительном блоке вместо функции Find использовать функцию Minerr, имеющую тот же самый набор параметров. Она также должна находиться в пределах вычислительного блока:
-
x1:=c1 ... xn: =сn – начальные значения для неизвестных.
-
Given - ключевое слово.
-
Система алгебраических уравнений и неравенств, записанная логическими операторами.
-
Minerr (x1,... ,хn) – приближенное решение системы относительно переменных x1,... ,хn, минимизирующее невязку системы уравнений.
Пример 6. Использование функции Minerr