Fzero ( name, x0, tol )

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

Format long

х = fzero('MyFunctionl',pi/2, 1e-8)

x =

0.73908513263090

MyFunctionl(x)

ans = 9.778322596076.805e-010

откуда видно, что действительно достигнута большая точность нахождения нуля функции.

Еще раз подчеркнем, что функция fzero находит нули только вещественно-значимых функций одной вещественной переменной. Однако часто бывает необ­ходимо найти комплексные корни вещественно-значимых функций, особенно в случае многочленов. Для этой цели в системе MATLAB существует специальная функция roots, которой в качестве аргумента передается массив коэффициентов многочлена. Например, для многочлена:

, имеющего два вещественных (1 и 2) и два комплексных корня (i и -i), нужно сначала сформировать массив его коэффициентов:

Coef = [ 1, -3, 3, -3, 2 ]

после чего вызвать функцию roots:

r = roots(Coef)

r =

2.00000000000000

0.00000000000000 + 1.00000000000000i

I

1.00000000000000

В задаче о нахождении нулей функции сложным моментом является нахождение начального приближения к нулю функции, а также оценка их количества. Поэтому важно параллельно с применением функций типа roots или fzero визуализировать поведение искомых функций на том или ином отрезке значений аргумента. Максимальное содействие в этом может ока­зать функция fplot (name, [x0, x1]), строящая график функции с именем name на отрезке от х0 до x1. Например, для ранее рассмотренной функции MyFunctionl с помощью вызо­ва функции:

fplot('MyFunctionl',[0,pi/2])

убеждаемся, что на отрезке от 0 до pi/2 действительно существует единствен­ный нуль этой функции. Самостоятельно выведите на дисплей график этой функции. Рассмотрим еще один пример работы команды fplot:

>> fplot(@humps,[0 1])

fplot(@(x)[tan(x),sin(x),cos(x)], 2*pi*[-1 1 -1 1])

fplot(@(x) sin(1./x), [0.01 0.1], 1e-3)

f = @(x,n)abs(exp(-1j*x*(0:n-1))*ones(n,1));

fplot(@(x)f(x,10),[0 2*pi])

Результатом работы этой программы будет график приведенный на рис.3.1.

Рис.3.1


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



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