Украина |
Решение уравнений
4.2.Численное решение систем нелинейных уравнений
Поиск корней при помощи блока Given Find()
При решении систем нелинейных уравнений используется специальный вычислительный блок, открываемый служебным словом — директивой Given — и имеющий следующую структуру:
Given
Уравнения
Ограничительные условия
Выражения с функцией Find()
Find(vl, v2, …, vn) — возвращает значение одной или ряда переменных для точного решения;
Знак равенства в уравнениях вызывается с математической панели БУЛЕВО(Boolean) или с клавиатуры клавишами "CTRL =".
Как и в предыдущем случае, сначала необходимо провести локализацию корней – задание начальной точки, от которой будет происходить поиск решения. Решение ищется методом итераций и при наличии нескольких корней, очевидно, будет найдено лишь ближайшее решение, если оно существует. Блок Given…Find(.) можно использовать и для решения уравнений одним неизвестным.
Пример 4.4
Решить систему уравнений .
Осуществляется решение системы нелинейных уравнений при помощи блока Given…Find(.) (Рис.4.3).
- Локализация корней: задаем систему уравнений, строим график.
- По графику определяем три корня.
- Задаем последовательно разные начальные значения корней.
1 корень
,
2 корень
,
3 корень
,
Поиск корней при помощи блока Given Minerr()
Функция Minerr использует тот же самый алгоритм, что и функция Find. Различие состоит в следующем. Функция Find ищет решение с заданной точностью и, если в результате поиска не может быть получено дальнейшее уточнение текущего приближения к решению, то она возвращает сообщение об ошибке. Функция Minerr возвращает это приближение. Системная переменная ERR дает величину ошибки.
Minerr (vl, v2, …, vn ) возвращает значения ряда переменных для приближенного решения.
Minerr() пытается найти максимальное приближение даже к несуществующему решению путем минимизации среднеквадратичной погрешности решения. При использовании функции Minerr обязательно предусматривать проверку решений. Полезно как можно точнее указывать начальные приближения к решению.
Пример 4.5
Решить систему уравнений .
Решаем при помощи блока Given…Find(.) (Рис.4.4).
- Локализация корней: задаем систему уравнений, строим график.
- Графики имеют точку касания. Функция . Find( ) не решает систему.
- Функция Minerr() дает приближенное решение. Системная переменная ERR=0.37. Это ошибка определения корня. Проверка показывает максимальную ошибку 0.33.
,
Система не решается:
,
Проверка:
,