Во-первых, да, я читал предыдущие темы и документацию по этой проблеме, например, Как построить колчан в полярных координатах .Это не помогло мне полностью.Позвольте мне показать вам, с чем я работаю, а затем немного кода. Это сходящийся канал, он показывает поле скорости / вектора.Ясно, что у меня есть только радиальная составляющая, но она меняется в зависимости от угла тета.Этот образец стрелок повторяется, когда мы спускаемся (поток) к альфе.Так что сюжет должен быть простым, верно.Вот уравнение для радиальной составляющей скорости:
Теперь, прежде чем я покажу свой код, я сохранил значения f (тета) для ряда тэт.Эта функция, f, должна быть численно решена, и я сохранил ее как вектор u [0].Вот что я сейчас делаю в своем коде:
radii = np.linspace(0.1,1,11)
thetas = np.linspace(-alpha,alpha,20)
theta, r = np.meshgrid(thetas, radii)
q = 0.0001
dr = [-q/x for x in radii]*u_sol[0]
dt = 0
f = plt.figure()
ax = f.add_subplot(111, polar=True)
ax.quiver(theta, r, dr * cos(theta) - dt * sin (theta), dr * sin(theta) +
dt* cos(theta))
Пятое выражение для переменной dr было отчаянной попыткой умножить все r фиксированной длины в сетке на u [0], но онине имеют одинаковые размеры, поэтому он не работает.Так что я застрял.
Мой вопрос: как получить векторное поле для сходящегося канала?Я не могу на самом деле поставить последние части вместе, могу ли я манипулировать сеткой?
Результаты на данный момент в MATLAB:
Редактировать Код выше был взят по ссылке в начале моего текста.Я сделал некоторые изменения в dr и dt, но в остальном ничего.