Я пытаюсь написать скрипт Mathematica, который может интерполировать дискретное векторное поле в непрерывное векторное поле. Затем я хочу извлечь интегральные кривые (линии поля) из непрерывного векторного поля.
Я знаю, что функция Mathematica ListStreamPlot
может визуально отображать интегральные кривые; однако мне нужны фактические точки, которые их составляют.
Я подумывал написать метод грубой силы со следующим эффектом: кажется, что интегральную кривую можно определить рекурсивно. Если бы в списке была выбрана точка, то «следующей» точкой на интегральной кривой была бы точка с самым близким наклоном. (Каждая «точка» на самом деле является вектором, и поэтому каждая имеет свой собственный наклон.) Есть только 4 кандидата на «следующую» точку — вверх, вниз, влево или вправо от текущей точки. Затем «следующая» точка станет новой начальной точкой, и процесс будет повторяться до тех пор, пока не будет достигнут край сетки.
Однако мне интересно, есть ли более простой метод, использующий функции Mathematica более высокого уровня. (Я также не знаю, правилен ли мой метод хотя бы концептуально.)
Я был бы очень признателен за любые мысли или предложения по этой задаче.
Спасибо!