НачалоМоделирование и оптимизация> Системы нелинейных уравнений
Системы нелинейных алгебраических уравнений   

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

bullet

Начальные условия (задаются в виде var := value).

bullet

Директива Given.

bullet

Уравнения (задаются в виде expr_left = expr_right).

bullet

Ограничительные условия.

bullet

Выражения с функциями Find, Minerr, Maximize, Minimize).

Начальные условия определяют начальные значения искомых переменных. Они задаются обычным присваиванием переменным заданных значений. Если переменных несколько, то используется векторное представление для начальных условий. Уравнения задаются в виде expr_left = expr_right с применением жирного знака равенства = между левой и правой частью каждого уравнения. Ограничительные условия обычно задаются в виде неравенств или равенств, которые должны удовлетворяться при решении системы уравнений.

Рекомендуется дополнить блок проверкой решения системы. Максимальное число уравнении в системе – до 200.

В блоке используется одна из следующих двух функций:

bullet

Find(v1, v2, …, vn) – возвращает значение одной или ряда переменных для точного решения;

bullet

Minerr(v1, v2, …, vn) – возвращает значение одной или ряда переменных для приближенного решения.

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

Возможно применение и специальных функций – Maximize и Minimize, включаемых в блок решения.

Пример