1

У меня есть большой список кортежей (a, b), где a и b являются 9-мерными векторами из того же пространства. Это существенно кодирует состояния системы и некоторые переходы. Я хотел бы визуализировать поле, описываемое этими кортежами, как стрелки, указывающие из a-> b, либо в 2D, либо в 3D. Одна из моих проблем, однако, заключается в том, что это не корректное векторное поле (не непрерывное), но у меня есть основания полагать, что его можно, вероятно, легко разложить, даже в 2D.Визуализируйте стрелки большого размера поля?

Кто-нибудь знает о панели инструментов (для matlab/python) или программе, которая может это сделать? Предположительно сначала предполагалось бы какое-то уменьшение размерности на a и b, а затем отображать небольшие стрелки из одной точки в другую.

Благодарим за помощь!

ответ

1

Хорошо, получается, что MATLAB может это сделать, но это не очень красиво. В основном это сводится к выполнению PCA, а затем с использованием функции колчана для построения графика: В моей матрице X есть начальные точки моих высокоразмерных узлов в нечетных строках и конечные точки в четных строках. Тогда:

[COEFF, SCORE]= princomp(zscore(X)); 

x=SCORE(1:2:end,1); 
y=SCORE(1:2:end,2); 
z=SCORE(1:2:end,3); 
u=SCORE(2:2:end,1); 
v=SCORE(2:2:end,2); 
w=SCORE(2:2:end,3); 

quiver3(x,y,z,u-x,v-y,w-z,0); 

Недостатком является то, что я не могу найти хороший способ, чтобы окрасить края, так что я получаю огромный беспорядок, если я просто сделать это тривиально. Хорошо, хорошо сейчас!

1

Я не уверен на 100%, если это отвечает на ваш вопрос или нет, но вы можете посмотреть на Recurrence Plots. Если это то, что вам нужно, тогда вам не понадобятся дополнительные панели инструментов Matlab.

1

Вот набор инструментов Matlab алгоритмов сокращения размеров. Я не работал с этим, но я работал с уменьшением размеров, и похоже, что алгоритм многократного диаграммы/локальных координат сможет извлечь низкоразмерное представление.

TU Delft Dim. Red. Toolbox

Смежные вопросы