1

I have 2 lists of x and y coordinate that are independently generated, with a/h amount of points between 0 and a.

x = np.linspace(0, a, a/h)
y = np.linspace(0, d, d/h)

when a/h is such that 0 increases to a in steps of integers i.e. [0,1,2,..,a]. It's nice because then the number of elements within the list can be used as indices. And as a result I can usually create a meshgrid such that a third list V1 can be associated with it.

X, Y = plt.meshgrid(x, y)
def potential(V1):
    return V1[X, Y]

where potential(V1) is now V1 corresponding to the meshgrid [x, y]. However I'm doing an assignment where I'm required to investigate how step-sizes affect my problem. As a result if I was to have a step-size of non-integers from 0 to a i.e. [0, 0.5, 1,...,a] Now I can't do what I did above since the indices are now non-integers. Raising the error

IndexError: arrays used as indices must be of integer (or boolean) type

How can I fix this so that I don't rely on the value of the element itself as the index of the elements, so that if there was a step-size of 0.25 between 0 to a for a list X say i.e.

X = [0, 0.25, 0.75. 1.0] or x = np.linspace(0,1,4)

such that I can have

x[0] = 0 corresponds to V[0]
x[1] = 0.25 corresponds to V[1]
x[2] = 0.75 corresponds to V[2]
x[3] = 1 corresponds to V[3]

?

user3613025
  • 373
  • 3
  • 10

0 Answers0