Метод GoalSeek
Метод GoalSeek (подбор параметра) подбирает значение параметра (неизвестной величины), являющееся решением уравнения с одной переменной. Предполагается, что уравнение приведено к виду: правая часть является постоянной, не зависящей от параметра, который входит только в левую часть уравнения. Вручную метод GoalSeek выполняется с помощью команды Сервис, Подбор параметра (Tools, Goal Seek). Метод GoalSeek вычисляет корень, используя метод последовательных приближений, результат выполнения которого, вообще говоря, зависит от начального приближения. Поэтому для корректности нахождения корня надо позаботиться о корректном указании этого начального приближения.
Синтаксис:
Объект.GoalSeek(Goal, ChangingCell)
Аргументы:
Объект |
Ячейка, в которую введена формула, являющаяся правой частью решаемого уравнения. В этой формуле роль параметра (неизвестной величины) играет ссылка на ячейку, указанную в аргументе ChangingCell | ||||
Goal |
Значение левой части решаемого уравнения, не содержащей параметра | ||||
ChangingCell |
Ссылка на ячейку, отведенную под параметр (неизвестную величину). Значение, введенное в данную ячейку до активизации метода Goaiseek, рассматривается как начальное приближение к искомому корню | ||||
Точность, с которой находится корень и предельно допустимое число итераций, используемых для нахождения корня, устанавливается свойствами MaxChange и Maxlterations объекта Application. Например, определение корня с точностью до 0,0001 максимум за 1000 итераций устанавливается инструкцией:
With Application
.Maxlterations = 1000
.MaxChange = 0.0001
End With
Вручную эти величины устанавливаются на вкладке Вычисления (Calculation) диалогового окна Параметры (Options), вызываемого командой Сервис, Параметры (Tools, Options).
Приведем соответствие между аргументами метода Goaiseek и нахождения корня уравнения х2 = 3 на рабочем листе вручную при помощи команды Сервис, Подбор параметра (Tools, Goal Seek).
Шаг 1 |
| ||||

Рис. 3.14. Ввод данных на рабочем листе при решении нелинейного уравнения
Шаг 2 |
Выберите команду Сервис, Подбор параметра (Tools, Goal Seek). В появившемся диалоговом окне Подбор параметра (Goal Seek) (рис. 3.15) В поле значение введите 3. В поле Значение (То value) вводится величина правой части уравнения. В методе Goaiseek аргумент Goal отвечает за правую часть уравнения. В данном случае присвоим аргументу Goal значение 3. Таким образом, имеем": Range ("A2") .GoalSeek Goal:=3, ChangingCell := Range ("A1") |
||

Рис. 3.15. Диалоговое окно Подбор параметра
Шаг3 |
Нажатие кнопки OK вызовет выполнение команды Подбор параметра (GoalSeek), результат расчета которой будет помещен в ячейки A1 (значение корня, в данном случае 1.731856) и А2 (значение левой части уравнения при найденном значении корня, в данном случае оно равно 2 .999325) (рис. 3.16). В силу того, что решение находится приближенно с указанной точностью, в ячейке А2 получилось 2.999325, а не ровно 3. Увеличивая точность, можно найти лучшее приближение к корню. |
||

Рис. 3.16. Результат вычислений команды Подбор параметра