1
我試圖使用牛頓拉夫遜迭代實現後向歐拉方案。我明白每次迭代都會進行初步猜測,計算殘差並解決變化。在我的情況下,更改是德爾瓦。之後,我知道將值添加到w^m並在接下來的m次迭代中獲得w的更新值。我知道在迭代繼續時檢查解決方案的收斂性。我遇到的問題是如何將時間步長dt實現爲t = 0:Tmax/dt,其中Tmax是10.我對時間步進是如何進來感到困惑。我一直在試圖找出一個儘管如此,任何幫助將不勝感激。謝謝!實現牛頓 - 拉夫遜迭代法
while Rw(m)>10^-6 % Convergence condition
drdw(m)=(1-2*dt+2*t(n+1)^2*w(m)*dt);
Dw(m)=Rw(m)\drdw(m); %Inverse
w(m+1)=w(m)+Dw(m); %Newton method
Rw(m+1)=(-(w(m)-v(1)-2*w(m)*dt+t(n+1)^2*w(m)^2*dt)); %New Residual value
if Rw(m+1)>10^-6 %Check on the level of convergence
m=m+1;
else
Rw=1; % I was thinking I should make the Residual 1 for the next time step.
break
end
我應該提到,我試圖通過首先線性化它來解決二階ODE。這就是爲什麼我在等式中有R,W和m的原因。 v,t,n來自原始設置。 – ykmizu 2011-02-25 01:36:28