Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function[] = dichotomy(fun, a, b)
- if isa(fun, 'function_handle')
- fprintf('Введенная функция соответствует необходимому формату. Ищем корень\n')
- else
- fprintf('Введенная функция не соответствует формату function_handle\n')
- return
- end
- fplot(fun, [0.1 4])
- grid on, hold on
- xlabel('x')
- ylabel('y')
- if b < a
- fprintf('Введенное число b больше, чем a. Меняем местами\n')
- c = b;
- b = a;
- a = c;
- fprintf('Текущее значение a: %f, текущее значение b: %d\n', a, b)
- end
- %epsilon = 0.01;
- c = a;
- for i = 1:1:15
- c = (a + b) / 2;
- if (fun(a) * fun(c) <= 0)
- b = c;
- else
- if (fun(b) * fun(c) <= 0)
- a = c;
- end
- end
- end
- fprintf('Найден корень: %f\n', (a + b)/2)
- end
Add Comment
Please, Sign In to add comment