суббота, 30 ноября 2013 г.

Решение нелинейных уравнений на Фортране. Метод итераций.

1)      Привести уравнение к сходящейся итерационной форме (Найти q,h и x=φ(x))

2)      Уточнить корни методом итераций с точностью 10-6. Сравнить число итераций с предыдущими результатами
program lab_two
real eps,x0,x1,q,h,d
integer N
eps=1.0e-6
q= !Ваше значение q
h= !Ваше значение h
x0= !Ваше значение x0
N=0
do
 x1=x0
 x0=x1-h*f(x1)
 N=N+1
if (abs(x1-x0)<(1-q)*eps/q.or.N>1000) exit
end do
print*,x0,N !Вывод х0 и числа итераций
pause
end
real function f(z)
    real z
     f= !Ваша функция φ(x)
end function f

Решение нелинейных уравнений на Фортране. Метод половинного деления.

Постановка задачи: Уточнить корни методом половинного деления с точностью 10-6
program lab_one
real a,b,eps
integer N
eps=0.000001
a= !значение а
b= !значение b          
N=0
do while (abs(a-b)>eps.or.N<1000)
c=(a+b)/2
    if (f(a)*f(c)<0)then 
        b=c
    else
        a=c
    end if
N=N+1
end do
c=(a+b)/2
print*,c,N !вывод корня и количество делений
pause
end
real function f(z)
    real z
 f= !Ваша функция

end function f