Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

MatLab / Dihotomia

.m
Скачиваний:
9
Добавлен:
10.04.2019
Размер:
875 б
Скачать
a = 1;
b = 2;
n = 1;
eps = 0.000001;
k = 0;
while (abs(b - a) > eps)
    fa = fun(a);
    fb = fun(b);
    if (fa*fb < 0)
        c = b - (b - a)/2;
        fc = fun(c);
        if (fc == 0)
            disp(c)
            disp(n)
            k = 1;
            break
        end
        if (fa*fc < 0)
            b = c;
        else
            a = c;
        end
    else
        if (fa == 0)
            disp(a)
            disp(n)
            k = 1;
            break
        else
            if (fb == 0)
                disp(b)
                disp(n)
                k = 1;
                break
            else
                disp('Roots do not exist')
                disp(n)
                k = 1;
                break
            end
        end
    end
    n = n+1;
end
if (k == 0)
    disp(c)
    disp(n-1);
end
Соседние файлы в папке MatLab