2015-12-31 3 views
0

У меня есть массив Nx2, который хранит координаты x, y из N разных точек. Я должен рассчитать распространение данных (я думаю о среднеквадратичных значениях). Есть ли какие-нибудь функции в scipy, которые выполняют эту работу? Если нет, то какой самый эффективный способ вычислить это?вычисление 2D rms в python

благодаря

+0

ли вы на самом деле сделать поиск, чтобы убедиться в том, что он реализован в Python/SciPy? Я придумываю много результатов в этом отношении. Действительно ли скорость действительно важна? Какой размер N? Вы пытались внедрить уравнение RMS прямо вверх? Есть ли какой-нибудь код, который нам нужен для улучшения базы? Вы сравнили что-нибудь и что приемлемая производительность? – Reti43

ответ

1

The root mean square is the standard deviation:

In [100]: np.random.seed(2015) 

In [101]: A = np.random.random((10,2)) 

In [102]: A 
Out[102]: 
array([[ 0.73759523, 0.51757155], 
     [ 0.88418945, 0.45172399], 
     [ 0.94467608, 0.82238998], 
     [ 0.06360332, 0.93889193], 
     [ 0.33245351, 0.62721741], 
     [ 0.00321837, 0.70402271], 
     [ 0.07105811, 0.05554161], 
     [ 0.28901979, 0.28649662], 
     [ 0.2688956 , 0.20721542], 
     [ 0.25877509, 0.63308562]]) 

In [147]: np.std(A - A.mean(axis=0)) 
Out[147]: 0.29777164364514941 

что эквивалентно:

In [146]: np.sqrt(((A - A.mean(axis=0))**2).mean()) 
Out[146]: 0.29777164364514941 
Смежные вопросы