Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MC_part2.doc
Скачиваний:
69
Добавлен:
10.02.2016
Размер:
1.21 Mб
Скачать

9.2. Приближенные методы решения систем уравнений

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

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

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

Ниже приведен фрагмент MathCAD документа, в котором в качестве примера реализован приближенный (итерационный) метод решения систем уравнений:

Рис. 9.4. Итерационный метод решения системы уравнений

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

  • вывести найденное решение, напечатав выражение вида: Find(x,y,…) =;

  • определить новую переменную a := Find(x) – скаляр, или := Find(x,y,…) – вектор;

  • (при необходимости многократного решения системы уравнений для различных значений параметров a, b, ) можно определить новую функцию выражением: f(a, b, c, …) := Find(x, y, z, …).

Вряде случаев система может выдавать сообщение об ошибке (решение не найдено):

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

Рис. 9.5. Приближенный метод решения системы нелинейных уравнений.

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

Для этого нелинейные уравнения преобразуются к виду y=f1(x) и y=f(x) и исследуются точки пересечения этих графиков. В приведенном на рис. 9.5 фрагменте MathCAD документа проиллюстрирована процедура локализации корней и использование итерационной процедуры для поиска решений.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]