Как рассчитать градиент диаграммы рассеяния?Python

Программы на Python
Ответить
Anonymous
 Как рассчитать градиент диаграммы рассеяния?

Сообщение Anonymous »

У меня, возможно, распространенная проблема, но я не нашел инструкций в Интернете. У меня есть трехмерный массив Numpy, содержащий координаты N точек:

Код: Выделить всё

In[1]: import numpy as np
In[2]: N = 50
In[3]: coors = np.random.random(size=(N, 3))
Чтобы координаты выглядели так:

Код: Выделить всё

In[4]: coors
Out[4]: array([[0.31814402, 0.5884149 , 0.18770077],
[0.6171281 , 0.48166414, 0.13751268],
[...],
[0.6656792 , 0.91069654, 0.37858498]])
Для каждой точки в списке у меня есть связанное значение (мы можем рассматривать его как потенциал), которое, как правило, не соответствует математической функции:

Код: Выделить всё

In[5]: val = np.random.random(size=np.size(coors))
В конце концов, у меня есть своего рода трехмерный график рассеяния, где каждая точка имеет связанный скалярный потенциал.
Теперь мне нужно вычислить градиент этого набора данных в каждой точке для трех возможных направлений (назовем их осями X, Y и Z).
Я где-то читал, что было бы полезно использовать функцию scipy.spatial.KDTree, но У меня не получается заставить это работать: каждый раз, когда я пытаюсь это проверить, я получаю либо случайную точность, либо даже непоследовательную. Может ли кто-нибудь объяснить мне, как правильно его использовать? Или, может быть, существует более простой и «прямой» способ сделать это?

Подробнее здесь: https://stackoverflow.com/questions/798 ... tter-graph
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»