Реализации алгоритмов/Метод бисекции: различия между версиями

Содержимое удалено Содержимое добавлено
перенесено из w:Метод бисекции
 
Нет описания правки
Строка 1:
== На языке [[w:Си (язык программирования)|C]] ==
<source lang="C">
#include <stdio.h> // подключаем к компилятору библиотеку stdio.h;
Строка 38:
 
== На языке [[w:Matlab|Matlab]]==
{{чистить}}
* x<sub>n</sub> – начало отрезка по х;
* x<sub>k</sub> – конец отрезка по х;
* x<sub>i</sub> – середина отрезка по х;
* eps – требуемая точность вычислений.
 
Таким образом, весь алгоритм можно записать следующим образом (в псевдокоде):
 
# Начало.
# Ввод x<sub>n</sub>, x<sub>k</sub>, eps.
# Если F(x<sub>n</sub>) = 0, то Вывод (корень уравнения – x<sub>n</sub>).
# Если F(x<sub>k</sub>) = 0, то Вывод (корень уравнения – x<sub>k</sub>).
# Пока (F(x<sub>i</sub>) <> 0) и |x<sub>k</sub>-x<sub>n</sub>| > eps повторять:
# x<sub>i</sub> := (x<sub>k</sub>+x<sub>n</sub>)/2;
# если (F(x<sub>n</sub>)*F(x<sub>i</sub>) < 0), то x<sub>k</sub> := x<sub>i</sub>;
# если (F(x<sub>i</sub>)*F(x<sub>k</sub>) < 0), то x<sub>n</sub> := x<sub>i</sub>.
# Вывод (Найден корень уравнения – x<sub>i</sub> точности ε).
# Конец.
 
 
 
Пример реализации алгоритма на языке [[Matlab]]{{Нет АИ|11|11|2010}}