| 5 | 1/1 | 返回列表 |
| 查看: 394 | 回復(fù): 2 | |||
| 當(dāng)前只顯示滿足指定條件的回帖,點(diǎn)擊這里查看本話題的所有回帖 | |||
bakyym木蟲 (小有名氣)
|
[求助]
關(guān)于牛頓法的問題。急急急 已有1人參與
|
||
| 利用Newton-Raphson求解方程式時(shí),得到的解跳出了定義的解的范圍該怎么辦。怎樣獲得一種安全性比較高的求根方法? |
木蟲 (小有名氣)
|
SUBROUTINE NEWTON_RAPHSON(I,J,LAMBDA,F) IMPLICIT NONE COMMON/CONF1/RX,RY COMMON/CONF3/SEMIA,SEMIB COMMON/CONF4/THETA COMMON/RAD/NBLA,NBLB INTEGER,PARAMETER:: MAX=20,N=200 INTEGER I,J,M DOUBLE PRECISION,PARAMETER::TOL=1.0D-6 DOUBLE PRECISION RX(N),RY(N) DOUBLE PRECISION NBLA(N),NBLB(N) DOUBLE PRECISION THETA(N) DOUBLE PRECISION SEMIA(N),SEMIB(N) DOUBLE PRECISION LAMBDA,RXIJ,RYIJ DOUBLE PRECISION DX,F,DF2,DF LAMBDA=SEMIA(I)/(SEMIA(I)+SEMIA(J)) DO M=1,100 CALL FUNCD(I,J,LAMBDA,1,F,DF,DF2) DX=DF/DF2 LAMBDA=LAMBDA-DX IF(ABS(DX)<TOL)THEN IF((0.0-LAMBDA)*(LAMBDA-1.0)<0)THEN PAUSE 'LAMBDA JUMP OUT THE BRACKETS ' END IF GOTO 800 END IF END DO 具體的程序是這樣的,函數(shù)是已知的,具體就是求df=0在λ{(lán)0,1}范圍內(nèi)的解。有時(shí)求出的λ值大于1或者小于0.所以不知道該怎么辦 |
主管區(qū)長(zhǎng) (職業(yè)作家)
![]() |
專家經(jīng)驗(yàn): +1059 |

| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|