Я хотел бы нарисовать двухмерный график в Mathematica на основе существующих сеток, массивов скоростей и начальных точек, которые были рассчитаны с использованием кода Matlab / Python.
Сетки - это два вектора размером M
и N
, содержащие равномерно расположенные x_i
и y_j
. Массивы скоростей представляют собой две матрицы M-by-N
, содержащие градиенты dot_x
и dot(y)
на каждой (x_i,y_j)
плоскости 2D. Начальными точками является массив L-by-2
, содержащий точки, которые должны пройти линии тока. В python я бы напрямую вызвал streamplot(x, y, dot_x, dot_y, startpoints=startpoints)
из пакета matplotlib.pyplot
, но это не дает хорошей цифры, как это делает Mathematica.
Однако примеры, которые я нашел в Интернете, относятся к аналитическим функциям, например,
data = Table[{{x, y}, {y, x-x^2}}, {x,-1.5,1.5,0.2}, {y,-2,2,0.2}];
ListStreamPlot[data]
Я новичок в Mathematica и не знаю, как перевести код Matlab / Python в Mathematica. Кроме того, код на Matlab довольно трудоемкий, поэтому я бы не хотел снова запускать полевые функции на Mathematica.
Есть ли способ нарисовать обтекаемый график, используя существующие массивы? Большое спасибо.