プロが教える店舗&オフィスのセキュリティ対策術

フォートランでf(x)=0の解を求めるこのようなプログラムを作りました。
program nyu-ton
implicit none
real::x,f,dfdx


read(*,*)x
do
call FDF(x,f,dfdx)
x=x-f/dfdx
write(*,*)x,f
if(abs(f)<1e-7)exit

end do
stop
end program nyu-ton

subroutine FDF(x,f,dfdx)
implicit none
real::x,f,dfdx
f=x*(x-2.0)
dfdx=2.0*x-2.0
end subroutine FDF

このプログラムをニュートン法で複素関数の解を求めるプログラムにするには、どこをどのように変えればよいのかわかりません。

z^3+z=0 や z^3=512iのような問題を数値的に解くプログラムを作りたいんですが、教えてください願いします。

A 回答 (1件)

実数 (real) じゃなくって複素数 (complex) を使えばいいと思うんだけど....

    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!