MATHCAD

Метод золотого сечения

 

Для примера возьмём функцию у = х 6sin. Для поиска экстремума в MathCAD воспользуемся программой-функцией. Чтобы её записать, введём имя будущей программы-функции Xmax. Затем нужно создать тело программы-функции, для чего открыть панель «Programming», выбрав в главном меню «Вид Панели инструментов Программирование», и на появившейся панели щёлкнуть левой кнопкой мыши на «Add line». После чего на экране появится вертикальная черта и вертикальный столбец с двумя полями для ввода операторов, образующих тело программы-функции.

 

.

 

(1)

 

Теперь заполним поля программы-функции операторами. Чтобы перейти в первое сверху поле, нужно щёлкнуть на нём мышью, после чего ввести первый оператор тела программы-функции. Так как самое нижнее поле всегда предназначено для определения возвращаемого программой значения, то поля ввода для дополнительных операторов открываются с помощью щелчка на кнопке «Add line» панели программирования. При этом поле ввода добавляется внизу выделенного к этому моменту оператора. Итак, нам потребуется 8 полей. В первое поле мы вводим начальное значение диапазона а = –10, во второе – конечное, т.е. b = 10, в третье – погрешность ε = 0,01, в четвёртое – коэффициент деления отрезков z = , в пятое и шестое – начальные значения точек x1 = a + z(ba), x2 = b(x1a).

      В седьмом поле тела программы-функции запишем оператор цикла «while», для чего нужно на панели «Programming» выбрать «while». Оператор «while» состоит из условия выполнения цикла и тела. В восьмом поле программы-функции запишем переменную a, которой будет соответствовать значение программы-функции.

Для построения графика необходимо выбрать в главном меню «Вид Панели инструментов График», далее на появившейся панели «Graph» выбрать элемент «Декартов график», после чего на рабочей области программы MathCAD появится область построения графика. По оси ординат области построения графика необходимо ввести «y(x), y(Xmax)», а по оси абсцисс – «x, Xmax». Далее двойным щелчком левой кнопки мыши по области построения графика необходимо вызвать панель форматирования графика, на которой выбрать закладку «Трассировки», выделить мышью «trace и в поле «Символ» выбрать «dmnd».

 

.

 

 

(2)

 

 

Кроме того, для удобства можно установить диапазон значений по оси абсцисс путём ввода соответствующих значений в области на оси x графика. Поскольку значения по оси х изменяются от a = –10 до b = 10, их и введём. В результате получим график, изображённый на рисунке ниже.

График функции

Рис. График функции у = х 6sin и результат поиска экстремума (максимума)

методом «золотого сечения»

 

Чтобы получить численное значение экстремума функции y(x), нужно написать в рабочей области MathCAD интересующую нас переменную и поставить знак равенства, после чего программа автоматически выведет значение экстремума.

При Хmax = –3,144 уmax(Хmax) = 2,055.

Проверить результат поиска экстремума функции можно аналитически.

у = х 6sin

Для этого приравняем нулю её первую производную

y' = 1 – 2cos().

При y' = 0 получим:

x = 3arccos() ± 2пπ, или х = π ± 2пπ.

Поскольку данная функция периодическая, то можно говорить о локальном экстремуме (максимуме) на отрезке [–10, 10]. Ему будет соответствовать значение аргумента х = –π, что совпадает с расчётами, сделанными на MathCAD. Тогда уmax(Хmax = –π) = 2,055, что полностью соответствует машинному расчёту.