Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 基于收敛到根所需的迭代次数对绘图进行NumPy着色_Python_Numpy - Fatal编程技术网

Python 基于收敛到根所需的迭代次数对绘图进行NumPy着色

Python 基于收敛到根所需的迭代次数对绘图进行NumPy着色,python,numpy,Python,Numpy,我有一个函数,,它的根是4(z,n),它创建并返回由值0,1,2,3组成的数组,这些值对应于复函数z的第0根,第一根,第二根和第三根的索引。我将n设置为应用牛顿方法的迭代次数。然后,我将这些索引值0,1,2,3绘制为四种颜色的函数,以得到牛顿分形。结果相当粗糙,如本文底部所示。我想根据收敛所需的迭代次数对绘图进行着色(迭代次数越多,着色越深)。我想做一个while循环,但我希望代码尽可能快。关于实现此功能的最佳方法的建议 def哪个根(z,n): 根=np.数组([1,1j,-1,-1j]) z

我有一个函数,
,它的根是4(z,n)
,它创建并返回由值
0,1,2,3
组成的数组,这些值对应于复函数
z
的第0根,第一根,第二根和第三根的索引。我将
n
设置为应用牛顿方法的迭代次数。然后,我将这些索引值
0,1,2,3
绘制为四种颜色的函数,以得到牛顿分形。结果相当粗糙,如本文底部所示。我想根据收敛所需的迭代次数对绘图进行着色(迭代次数越多,着色越深)。我想做一个while循环,但我希望代码尽可能快。关于实现此功能的最佳方法的建议

def哪个根(z,n):
根=np.数组([1,1j,-1,-1j])
zshape=np.数组(np.形状(z))
对于范围(n)中的i:
f=z**4-1
df=4*z**3
z=z-f/df
arr=np.zero(np.append(4,zshape))
#每个网格点和根之间的距离
arr[0]=np.abs(z根[0])
arr[1]=np.abs(z根[1])
arr[2]=np.abs(z根[2])
arr[3]=np.abs(z根[3])
#沿行轴的最小值返回索引
x=np.argmin(arr,轴=0)
返回x.重塑(zshape)
real=np.linspace(-2,21000)
imag=实*1j
[x,y]=np.meshgrid(实数,imag)
z=x+y
n=100
根=哪个根(z,n)
arr=np.zero(根.shape+(3,))
arr[np.其中(根==0)]=255,0,0
arr[np.其中(根==1)]=0,0255
arr[np.式中(根==2)]=104,11,175
arr[np.式中(根==3)]=0,0,0
plt.imshow(arr/255)