【发布时间】:2011-03-24 22:09:53
【问题描述】:
我正在尝试使用复杂数组中的 matplotlib 显示等高线图。该数组是一个 2x2 复数矩阵,由 (C like) 方法生成:
for i in max_y:
for j in max_x:
pos_x = pos_x + step
z = complex(pos_x,pos_y)
c_arr[i][j] = complex_function(z)
pos_y = pos_y + step
我想用轮廓图绘制这个 c_arr(实部),但到目前为止,我唯一能从轮廓图中得到的是
TypeError: Input z must be a 2D array.
c_arr.real 是一个二维数组,不管我用x、y、pos_x还是pos_y做一个网格,结果总是一样的。 matplotlib 的文档告诉我如何使用它,但没有告诉我使用它所需的数据类型,所以我觉得自己被蒙在鼓里了。
编辑:感谢您的回答。我现在的问题是我必须以这种形式从函数中获取复数值:
def f(z):
return np.sum(np.arange(n)*np.sqrt(z-1)**np.arange(n))
总和必须相加。如何使用轮廓需要的网格形式来实现这一点?再次感谢。
【问题讨论】:
标签: python matplotlib