I have an array of data-points, for example:
[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
and I need to perform the following sum on the values:
However, the problem is that I need to perform this sum on each value > i. For example, using the last 3 values in the set the sum would be:
and so on up to 10. If i run something like:
import numpy as np
x = np.array([10, 9, 8, 7, 6, 5, 4, 3, 2, 1])
alpha = 1/np.log(2)
for i in x:
y = sum(x**(alpha)*np.log(x))
print (y)
It returns a single value of y = 247.7827060452275, whereas I need an array of values. I think I need to reverse the order of the data to achieve what I want but I'm having trouble visualising the problem (hope I explained it properly) as a whole so any suggestions would be much appreciated.


forloop and thesum. It's simplyy = x**(alpha)*np.log(x)or perhapsy = x**(alpha)*np.log(x).cumsum()x, a one-dimensional array, and thus you end up with a scalar. Is the formula written incorrectly? Shouldi=1be a variable instead, likei=j, andjruns from 1 to 10? That is what I gather from your example code.