# Numpy Sin – A Complete Guide This is the first tutorial for the series NumPy Trigonometric Functions. In this due course, we will be learning about Trigonometric Functions provided by the NumPy library with examples.

You must have calculated the sine of a particular angle and gotten the result in the range [-1, 1]. Well, the sine operation can be performed on the array as well. That’s where the NumPy library for Python plays an important role.

NumPy provides an extensive collection of high-level mathematical functions to operate on arrays.

In this tutorial, we will learn about how to use the NumPy sin function along with examples that will help you get a good understanding of it. We will also plot the graph of the sin function using the Matplotlib Library.

Let’s get started.

## What is NumPy Sin?

NumPy provides a lot of mathematical functions that can be performed on multi-dimensional arrays and `numpy.sin` is one of the trigonometric functions provided by the NumPy library.

Note: `numpy.sin` computes the trigonometric sine of a single number as well as a Numpy array of angles.

Suggested Reading: An Introduction to NumPy Arrays

## Pre-Requisites

• Numpy must be installed on your systems, execute the following command to install the latest version of Numpy:
```pip install numpy
```
• You can use any IDE of your choice. I would recommend using Jupyter Notebook, which can be installed by executing the following command:
```pip install jupyter
```

## Setting up the environment

• Create a folder and open it in terminal
• Execute the following command to open Jupyter Notebook:
```jupyter notebook
```
• Click on `New` button and select Python 3(ipykernel)

There you go a new untitled notebook in Jupyter is created in which we will be writing the code.

## Basic syntax of Numpy Sin function

The Numpy sin function takes an angle in radians as an argument. However, the angle in degrees can also be given as the argument.

`Syntax: numpy.sin(input)` where input can be a single number as well as a NumPy Array

## Calculating the Sine of an Angle Using Numpy Sin

Let’s now start playing with the numpy sin function to get a better understanding of how it works.

### Calculating Using the Numpy Sin Function

```import numpy as np

print("Sine of 0 is :",np.sin(0))

print("Sine of pi/2 radians is :",np.sin(np.pi/2))

print("Sine of 3pi/2 radians is :",np.sin(3*np.pi/2))

```

Output

```Sine of 0 is : 0.0
Sine of pi/2 radians is : 1.0
Sine of 3pi/2 radians is : -1.0
```

Note: After writing code in each cell in Jupyter Notebook hit `shift + enter` to get the output.

In the above code snippet, the angle in radian is passed as an argument to np.sin().

Now, let’s see how can we pass angles in degrees as an argument to the np.sin() function.

### Combining Numpy Sin with deg2rad Function

To compute the sine of angles in which the argument for the sin function is in degrees a function `deg2rad` is used.

```import numpy as np

print("Sine of 45 degrees is :",np.sin(np.deg2rad(45)))

print("Sine of 60 degrees is :",np.sin(np.deg2rad(60)))

print("Sine of 90 degrees is :",np.sin(np.deg2rad(90)))

print("Sine of 270 degrees is :",np.sin(np.deg2rad(270)))

```

Output

```Sine of 45 degrees is : 0.7071067811865476
Sine of 60 degrees is : 0.8660254037844386
Sine of 90 degrees is : 1.0
Sine of 270 degrees is : -1.0
```

Note: It’s really simple to convert angles(in degrees) to radians, just multiply `numpy.pi/180` by the angle in degrees.

Now, let’s understand how can we perform the sine operation on an array of angles.

## Calculating the Sine of an Array of Angles

The sin function takes angles in radians as an argument so while using the sin function on the NumPy array we must make sure that the elements of the array are converted to radians.

### Calculating Sine Of A Numpy Array

In this snippet, a NumPy array is created using `numpy.array`.

```import numpy as np

a = np.array((0 , 30 , 45 , 60 , 90))

print("Sine Values :\n",np.sin(a*np.pi/180))
```

Output

```Sine Values :
[0.  ,  0.5  , 0.70710678 , 0.8660254 , 1. ]
```
• We initialize the NumPy Array with 5 elements.
• Then, each of the elements of the NumPy Array is multiplied by `np.pi/180` which is passed as an argument to `np.sin()`.
• The sine of each element is computed and stored in a NumPy Array, which we get as output.

### Calculating Sine of an evenly-spaced NumPy Array

In this code snippet, we will create a NumPy array of 10 evenly spaced values using `NumPy.linspace`.

```import numpy as np

b = np.linspace(-np.pi,np.pi,10)

print("Printing the NumPy Array:",b)

print("\n")

print("Sine Values :",np.sin(b))
```
• We create a NumPy array having 10 evenly spaced values from `-pi` to `pi` and pass it as an argument to `np.sin()`.
• The values in the NumPy Array are already in radians so the sine of each value is computed and stored in a NumPy Array.

Output

```Printing the NumPy Array: [-3.14159265 -2.44346095 -1.74532925 -1.04719755 -0.34906585  0.34906585
1.04719755  1.74532925  2.44346095  3.14159265]

Sine Values : [-1.22464680e-16 -6.42787610e-01 -9.84807753e-01 -8.66025404e-01
-3.42020143e-01  3.42020143e-01  8.66025404e-01  9.84807753e-01
6.42787610e-01  1.22464680e-16]
```
• The output looks quite strange as all the computed sine values are expressed in scientific notations.
• For example, sin(pi) is equal to 0, and in the above output, the computed sine value of pi is a very large quantity having an exponent of 10-16 which is equal to 0.

So, that was all about using the NumPy Sin function with a single number as an argument and a NumPy array as an argument. I would recommend writing the code while going through this tutorial.

## Visualizing the Sin Function

The first step is to install the Matplotlib Library:

```pip install matplotlib
```

After the installation gets completed we are ready to code so let’s get started.

```import numpy as np

# Importing the Matplotlib Library
import matplotlib.pyplot as plt

# Creating a NumPy Array of 30 evenly-spaced elements
a = np.linspace((-2*np.pi),(2*np.pi),30)

# Storing the sine values in a NumPy Array
b = np.sin(a)

plt.plot(a, b, color = "red", marker = "o")
plt.title("numpy.sin()")
plt.xlabel("X")
plt.ylabel("Y")
plt.show()

```

Output

`plt.plot()` function is used to plot the Sine Function which takes four arguments.

• The first argument is the NumPy Array of angles (created in Line No 7), plotted on the X-axis(Horizontal Axis).
• The second argument is the NumPy Array of computed sine values, plotted on the Y-axis(Vertical Axis).
• The third argument is the color of the plot.
• The fourth argument is the marker value which emphasizes each point with a specified marker. There are different types of markers that can be used to denote the points on the curve.

`plt.title()` function is used to set the title of the plot.

`plt.xlabel()` function is used to give the name to the horizontal axis on the plot. Similarly, `plt.ylabel()` function is used to give the name to the vertical axis on the plot.

`plt.show()` is used to display the curve plot.

You have successfully plotted the sine curve.

## Summary

In this tutorial, we understood how to use the NumPy Sin function with examples. If you are using Jupyter Notebook then after writing each line of code in each cell press `shift+enter` to get the output. Your task is to use the NumPy Sin function to compute the sine of more values of your choice.

In the next tutorial, we will learn about NumPy Cos Function. Till then keep learning and go through this article twice, practice the codes along with going through the tutorial.

## References

NumPy Documentation – NumPy Sin

Matplotlib – Get Started