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

Использован {{BookCat}}; пробелы; →‎К переименованию: снят шаблон после переименования.
м (Ivan Shmakov переименовал страницу Программные реализации метода бисекции в Реализации алгоритмов/Метод бисекции: Согласно [[Викиучебник…)
(Использован {{BookCat}}; пробелы; →‎К переименованию: снят шаблон после переименования.)
{{К переименованию |2014-11-21|Реализации алгоритмов/Метод бисекции}}
 
[[:w:Численные методы|Численные методы]].<br>
[[:w:Метод бисекции|Метод деления отрезка пополам]] (метод бисекции).
== На языке [[w:Си (язык программирования)|C]] ==
 
<big><source lang="C">
#include <stdio.h> // подключаем к компилятору библиотеку stdio.h;
#include <math.h> // подключаем к компилятору библиотеку math.h;
printf ("Numbers of iterations equal: %10i\n", n ); // выводим число проходов (делений на 2, итераций) n
}
</source></big>
 
В результате прогона программы на устройстве ввода-вывода должен получиться следующий вывод:
Value of function: -0.0000000027
<big><source lang="C">
Value Left ofbound functionequal: -0 1.00000000271461932193
Middle of line segment: 1.1461932203
Left Right bound equal: 1.14619321931461932212
Middle of line segment: 1.1461932203
Right Numbers boundof iterations equal: 30 1.1461932212
Numbers of iterations equal: 30
</source></big>
 
== На языке [[w:Matlab|Matlab]]==
 
<big><source lang="CMatlab">
Пример реализации алгоритма на языке [[w:Matlab|Matlab]]:
<big><source lang="Matlab">
function [res, err] = bisection(fun, left, right, tol)
if fun(left)*fun(right) > 0
res = middle;
err = abs(fun(middle));
</source></big>
 
Пример работы алгоритма для поиска корня функции y = tan(x) на интервале [1; 2] с точностью 1e-3. Результат вполне ожидаемый:
<big><source lang="Matlab">
[res, err] = bisection('tan', 1, 2, 1e-3)
res =
9.7656e-004
</source></big>
 
== На языке Python ==
</source>
 
== См. также ==
 
* В Википедии:
* [[:w:Метод бисекции |Метод бисекции]] (метод деления отрезка пополам)
* [[:w:Численные методы |Численные методы]].<br>
 
{{BookCat}}
[[Категория:Численные методы]]
[[Категория:Вычислительная математика]]
[[Категория:Си]]
[[Категория:Matlab]]
3890

правок