# Python NumPy: Evaluate function on a grid of points

In this tutorial, we will learn how to evaluate function on a grid of points in Python NumPy? By Pranit Sharma Last updated : May 05, 2023

Suppose that we are defining a function that accepts an array of points (say x and y), we need way to produce a NumPy array containing the values of this function evaluated on an n-dimensional grid of points.

## How to evaluate function on a grid of points in NumPy?

To evaluate a function on a grid of points in NumPy, there is a much faster, clearer and shorter approach which is to use numpy.linspace() method, it will create an x and y array of points. Since this will create a 1D array, we need to add a new axis to this array while calling the function so that it acts as a grid of points.

Let us understand with the help of an example,

## Python program to evaluate function on a grid of points in NumPy

```# Import numpy
import numpy as np

# Creating array of points
x = np.linspace(0, 4, 10)
y = np.linspace(-1, 1, 20)

# Display original array of points
print("x array of points:\n",x,"\n")
print("y array of points:\n",y,"\n")

# Defining a function
def fun(x,y):
return np.sin(y * x)

# Calling function fun on grid of points
res = fun(x[:,None], y[None,:])

# Display result
print("Result\n:\n",res)
```

### Output

```x array of points:
[0.         0.44444444 0.88888889 1.33333333 1.77777778 2.22222222
2.66666667 3.11111111 3.55555556 4.        ]

y array of points:
[-1.         -0.89473684 -0.78947368 -0.68421053 -0.57894737 -0.47368421
-0.36842105 -0.26315789 -0.15789474 -0.05263158  0.05263158  0.15789474
0.26315789  0.36842105  0.47368421  0.57894737  0.68421053  0.78947368
0.89473684  1.        ]

Result
:
[[-0.         -0.         -0.         -0.         -0.         -0.
-0.         -0.         -0.         -0.          0.          0.
0.          0.          0.          0.          0.          0.
0.          0.        ]
[-0.42995636 -0.38726275 -0.34372169 -0.29942845 -0.25447998 -0.20897462
-0.16301197 -0.11669259 -0.07011786 -0.02338968  0.02338968  0.07011786
0.11669259  0.16301197  0.20897462  0.25447998  0.29942845  0.34372169
0.38726275  0.42995636]
[-0.77637192 -0.71408881 -0.64555852 -0.57138061 -0.492204   -0.40872137
-0.32166307 -0.23179071 -0.13989055 -0.04676656  0.04676656  0.13989055
0.23179071  0.32166307  0.40872137  0.492204    0.57138061  0.64555852
0.71408881  0.77637192]
[-0.9719379  -0.9294733  -0.86872962 -0.79090146 -0.69751938 -0.59041986
-0.4717091  -0.34372169 -0.20897462 -0.07011786  0.07011786  0.20897462
0.34372169  0.4717091   0.59041986  0.69751938  0.79090146  0.86872962
0.9294733   0.9719379 ]
[-0.9786557  -0.99980306 -0.98604004 -0.93784722 -0.85690736 -0.74604665
-0.60913605 -0.4509561  -0.27703001 -0.09343078  0.09343078  0.27703001
0.4509561   0.60913605  0.74604665  0.85690736  0.93784722  0.98604004
0.99980306  0.9786557 ]
[-0.79522006 -0.91410234 -0.9831947  -0.99873379 -0.9598732  -0.86872962
-0.73026751 -0.55202873 -0.34372169 -0.11669259  0.11669259  0.34372169
0.55202873  0.73026751  0.86872962  0.9598732   0.99873379  0.9831947
0.91410234  0.79522006]
[-0.45727263 -0.6857457  -0.86054034 -0.96797406 -0.99963723 -0.95305133
-0.83186299 -0.64555852 -0.40872137 -0.13989055  0.13989055  0.40872137
0.64555852  0.83186299  0.95305133  0.99963723  0.96797406  0.86054034
0.6857457   0.45727263]
[-0.03047682 -0.35037076 -0.63302322 -0.84839063 -0.97358123 -0.99528832
-0.91120462 -0.73026751 -0.4717091  -0.16301197  0.16301197  0.4717091
0.73026751  0.91120462  0.99528832  0.97358123  0.84839063  0.63302322
0.35037076  0.03047682]
[ 0.40224065  0.03968347 -0.32836787 -0.65095676 -0.88342083 -0.9935755
-0.96616987 -0.80499825 -0.5323748  -0.18604419  0.18604419  0.5323748
0.80499825  0.96616987  0.9935755   0.88342083  0.65095676  0.32836787
-0.03968347 -0.40224065]
[ 0.7568025   0.42354465  0.01630136 -0.39378948 -0.73509255 -0.9479885
-0.99528832 -0.86872962 -0.59041986 -0.20897462  0.20897462  0.59041986
0.86872962  0.99528832  0.9479885   0.73509255  0.39378948 -0.01630136
-0.42354465 -0.7568025 ]]
```

In this example, we have used the following Python basic topics that you should learn: