|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
25.03.2015, 22:10 | #1 |
Новичок
Джуниор
Регистрация: 25.03.2015
Сообщений: 3
|
Fortran, решение нелинейного
Надо решить нелинейное уравнение 0,5^x-(x+2)^2=3
Пробовала методом Ньютона (касательных) но не выходит, спасибо заранее module mod implicit none contains function prsv(x) result(prF) integer, intent(in) :: x !input integer :: prF !output prF=(0.5**x)*log(0.5)-2x-4 return end function prsv function func(x) result(F) integer, intent(in) :: x !input integer :: F ! output F=(0.5**x)-(x+2)**2-3 return end function func end module mod program nelin use mod integer :: x ! integer :: func, prsv integer :: x1, x2, eps, n eps=0.0001 x1=0.5 n=0 if ((abs(x2-x1)<eps).or.(abs(func(x1))<eps)) then x2=x1-func(x1)/prsv(x1) n=n+1 else print*,x2,n end if |
25.03.2015, 23:15 | #2 |
Старожил
Регистрация: 02.03.2008
Сообщений: 2,499
|
Метод касательных не всегда сходится.
Попробуйте метод бисекций ( половинного деления) , он более всеядный. Или нужно именно секущих ? |
26.03.2015, 22:44 | #3 |
Новичок
Джуниор
Регистрация: 25.03.2015
Сообщений: 3
|
Допускается использование метод касательных, метод бисекции, метод хорд, метод простых итераций (если что-то не забыла).
Какой тогда может будет проще в реализации? |
26.03.2015, 22:45 | #4 |
Новичок
Джуниор
Регистрация: 25.03.2015
Сообщений: 3
|
да, допускается.
тогда попробую |
26.03.2015, 23:01 | #5 |
Старожил
Регистрация: 02.03.2008
Сообщений: 2,499
|
Да, лучше бисекций.
Посмотрите про https://Метод Ньютона - для него условия применения аж целый академик и нобелевский лауреат Канторович вычисил. А для бисекций каких-то особых требований к функции нет. |
27.03.2015, 22:09 | #6 |
Форумчанин
Регистрация: 15.01.2010
Сообщений: 948
|
Простите, а почему x и функции - типа integer ?!
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Решение нелинейного уравнения | stuxjkee | Помощь студентам | 4 | 18.04.2014 17:37 |
Решение нелинейного уравнения | Medioon | Помощь студентам | 1 | 12.06.2011 13:25 |
Решение нелинейного уравнения на С++ | Влад09 | Общие вопросы C/C++ | 0 | 05.12.2010 22:21 |
Проблема с нахождением корня нелинейного уравнения (Fortran 77) | reafantu | Помощь студентам | 7 | 03.03.2010 19:42 |