Иллюстрированный самоучитель по MathCAD 11

О численных методах решения систем уравнений

Чтобы вернуть автоматический выбор типа численного метода, в контекстном меню надо выбрать пункт AutoSelect (Автоматический выбор). Если установлена опция автоматического выбора (о чем говорит флажок, установленный в пункте AutoSelect), то текущий тип численного метода можно узнать, вызвав то же самое подменю и посмотрев, который из них отмечен точкой. Два последних метода являются квази-Ньютоновскими, основная идея которых была рассмотрена выше. Первый из них, метод сопряженных градиентов, является двухшаговым – для поиска очередной итерации он использует как текущую, так и предыдущую итерации. Алгоритм Левенберга подробно описан в справочной системе Mathcad, а детальную информацию о методах Ньютона и сопряженных градиентов можно найти в большинстве книг по численным методам.

Помимо выбора самою метода, имеется возможность устанавливать их некоторые параметры. Для этого нужно вызвать с помощью того же контекстного меню диалоговое окно Advanced Options (Дополнительные параметры), выбрав в контекстном меню пункты Nonlinear › Advanced options (Нелинейный › Дополнительные параметры). В этом диалоговом окне (рис. 8.6.) имеется пять групп переключателей, по два в каждой.

В первой строке Derivative estimation (Аппроксимация производной) определяется метод вычисления производной Forward (Вперед) или Central (Центральная). Они соответствуют аппроксимации производной либо правой (двухточечная схема "вперед"), либо центральной (трехточечная симметричная схема) конечной разностью.

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

Во второй строке Variable estimation (Аппроксимация переменных) можно определить тип аппроксимации рядом Тейлора. Для рассмотренного нами в этом разделе случая аппроксимации касательной прямой линией выберите переключатель Tangent (Касательная), для более точной квадратичной аппроксимации (параболой) выберите Quadratic (Квадратичная).

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

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

Иллюстрированный самоучитель по MathCAD 11 › Алгебраические уравнения и оптимизация › О численных методах решения систем уравнений
Рис. 8.6. Диалоговое окно Advanced Options

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

Наконец, последний переключатель Evolutionary (Эволюционный алгоритм), если установить его в положение Yes (Да), позволяет использовать модификацию численного метода для решения уравнений, определяемых не обязательно гладкими функциями Как мы убедились в этом разделе, все градиентные методы, реализованные в функции Find, требуют многократного вычисления производных. Если Вы работаете с достаточно гладкими функциями, то градиентные методы обеспечивают быстрый и надежный поиск корня. Для поиска корня недостаточно гладких функций одной переменной, следует либо выставить данную опцию функции Find, либо использовать метод секущих (функцию root). Помните, что правильный выбор численного метода и его параметров может помочь при решении нестандартной задачи, которая при стандартных установках может и не поддаваться решению.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.