Контурный участок на Python. TypeError: Input z должен быть двумерным массивом - PullRequest
1 голос
/ 27 января 2020

Я пытаюсь построить контур этого уравнения (z), но complier дает мне «TypeError: Input z должен быть 2D-массивом». ошибка Я пробовал разные методы, но все равно выдает ту же ошибку

import matplotlib

import numpy as np

import matplotlib.cm as cm

import matplotlib.pyplot as plt

import math

fig = plt.figure()

ax = fig.add_subplot(111)

a = np.linspace(-6,6,100)

X , Y = np.meshgrid(a,a)

v = 1

a = 1

g1 = 2 * math.pi

g2 = -g1

z =  v * y - v *y *(a**2 / (x**2 + (y- 2*a )**2))  + (g1 / 4 * (math.pi)*(np.log((x**2 +(y-2*a)**2) / a))) -  v * y *(a**2 /(x**2+(y+2*a)**2)) + (g2 / 4*(math.pi)*(np.log((x**2+(y+2*a)**2))) / a)

ax.contourf(X,Y,z)

1 Ответ

1 голос
/ 27 января 2020

Переименование всего верхнего регистра X и Y в нижний регистр x и y создает эту картинку:

enter image description here

Вы вероятно, работают в ноутбуке и используют другие значения для x и y, то есть скаляры.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...