基本的には、ニュートンの方法でルートを見つけて、その数値をマイカラーに適用して、イテレーションの回数を長くし、色を濃くし、少ない、よりいっそう充実した色。ニュートンのメソッドの実行回数を確認するにはどうすればよいですか?
はそうここに私のコード
from numpy import *
import pylab as pl
def myffp(x):
return x**3 - 1, 3*(x**2)
def newton(ffp, x, nits):
for i in range(nits):
#print i,x
f,fp = ffp(x)
x = x - f/fp
return x
q = sqrt(3)/2
def leggo(xmin=-1,xmax=1,jmin=-1,jmax=1,pts=1000,nits=30):
x = linspace(xmin, xmax, pts)
y = linspace(jmin, jmax, pts)*complex(0,1)
x1,y1 = meshgrid(x,y)
n = newton(myffp,x1+y1,nits) #**here is where i wanna see the number of iterations newton's method takes to find my root**
r1 = complex(1,0)
r2 = complex(-.5, q)
r3 = complex(-.5,-q)
data = zeros((pts,pts,3))
data[:,:,0] = abs(n-r1) #**and apply it here**
data[:,:,2] = abs(n-r2)
data[:,:,1] = abs(n-r3)
pl.show(pl.imshow(data))
leggo()
主な問題は、反復回数を発見されたのです、私はその後、色を暗くすることを適用する方法を見つけ出すことができますが、今のところそれだけで反復回数を見つけるのITニュートンの方法によって各値が実行されます。
をケビン:
ここで働くのpythonでの単純な実装だ、それはあなたが*あなたのSOの質問に*答えを受け入れる方法がわからないように見えます。シンプルですが、あなたが新しくなったときはそれほど明白ではありません。答えはあなたにとって有益だったと分かったら、その答えの左上隅にマウスを移動します(2つの灰色の三角形の間に答え "スコア"が表示されます)。スコアをマウスオーバーすると、「チェック」の概要が表示されます。そのチェックマークをクリックしてその回答を「受け入れる」。回答者のスコアで緑色のチェックが表示され、スコアに+2点が追加されます。 – doug
私はスーパーに満足していませんか?彼らの誰も私の質問に実際に答えませんでした。彼らは間違いなく確かな答えですが、私は公差を使って何かを探していて、ニュートン法を止めて、最後にメソッドを止めるのに何回反復するのかを返します。あなたのdoug(epsと古いx)の回答は有望ですが、私は自分のコードに実装できませんでした。 – KevinShaffer