Вот объяснение метода деления пополам на Фортране, а также нескольких других численных методов.
Метод деления пополам — это алгоритм поиска корня, который можно использовать для поиска корня функции в пределах заданного интервала. Это простой, но надежный метод, основанный на теореме о промежуточном значении. Вот пример реализации на Фортране:
program bisection_method
implicit none
real :: a, b, c, fa, fb, fc, tol
integer :: max_iter, iter
! Input values
a = 1.0
b = 2.0
tol = 1e-6
max_iter = 100
! Initialize iteration counter
iter = 0
! Check if initial interval bounds are valid
if (f(a) * f(b) >= 0.0) then
print *, "Error: Function has same sign at interval bounds."
stop
end if
! Perform bisection iterations
do while (abs(b - a) > tol .and. iter < max_iter)
c = (a + b) / 2.0
fa = f(a)
fb = f(b)
fc = f(c)
if (fa * fc < 0.0) then
b = c
else
a = c
end if
iter = iter + 1
end do
! Output the approximated root
print *, "Approximated root:", c
contains
! Define the function f(x)
real function f(x)
real, intent(in) :: x
f = x2 - 2.0
end function f
end program bisection_method
Помимо метода деления пополам, вот несколько других часто используемых численных методов в вычислительной математике:
- Метод Ньютона-Рафсона
- Метод секущей
- Метод итерации с фиксированной точкой
- Метод Regula falsi (ложное положение)
- Метод Стеффенсена
- Метод Брента