Нахождение нулей функций (корней уравнения)

На практике часто приходится сталкиваться с задачей о нахождении корней уравнений [3]. Любое уравнение можно записать в виде равенства некоторой функ­ции нулю, так что это и есть задача о нахождении нулей функций. Решение указанной задачи осуществляет функция fzero. В качестве первого аргумента ей передается имя функции, задающей исходное уравнение. Вторым аргументом служит начальное приближение к корню: fzero(name, x0). Возвращаемым значением функции fzero является нуль функции name в окрестности точки х0. Для примера рассмотрим задачу о нахождении нулей функции на отрезке от 0 до pi. В качестве начального приближения примем х0=1. Вызываем функцию fzero с указанным начальным приближением и получаем следующий результат:

х = fzero('cos',1)

1.5708

Легко видеть, что мы в качестве нуля функции cos(x) получили значение, близкое к точному значению корня, равному pi/2. Если требуется найти корень функции, отличной от стандартной (встроенной в систему MATLAB) и тем самым не имеющей в рамках системы MATLAB фиксированного имени, то нужно приписать некоторое имя выражению, вычисляющему функцию. Пусть, например, требуется найти корни уравнения , что эквива­лентно нахождению нулей функции, вычисляемой по формуле

,

не имеющей в рамках системы MATLAB фиксированного имени. В этом случае нужно в любом простейшем текстовом редакторе (типа встроенного в операцион­ную систему Windows редактора Notepad) набрать две строки следующего кода:

function у = MyFunctionl(х)

у = cos(x) - х

и запомнить их в файле MyFunctionl.m, который нужно разместить в текущем каталоге системы MATLAB (узнать его можно командой cd). После этого можно воспользоваться функцией fzero:

х = fzero('MyFunctionl',pi/2)

0.7391

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: