Bird
Raised Fist0
NumPydata~10 mins

Trigonometric functions (sin, cos, tan) in NumPy - Step-by-Step Execution

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Concept Flow - Trigonometric functions (sin, cos, tan)
Input angle in radians
↓
Calculate sin(angle)
↓
Calculate cos(angle)
↓
Calculate tan(angle)
↓
Output sin, cos, tan values
Start with an angle in radians, then calculate sine, cosine, and tangent values step-by-step, and finally output these values.
Execution Sample
NumPy
import numpy as np
angle = np.pi / 4
sin_val = np.sin(angle)
cos_val = np.cos(angle)
tan_val = np.tan(angle)
print(sin_val, cos_val, tan_val)
Calculate sine, cosine, and tangent of 45 degrees (π/4 radians) using numpy.
Execution Table
StepVariableValueDescription
1angle0.7853981633974483Set angle to π/4 radians (45 degrees)
2sin_val0.7071067811865475Calculate sin(π/4)
3cos_val0.7071067811865476Calculate cos(π/4)
4tan_val0.9999999999999999Calculate tan(π/4)
5output(0.7071, 0.7071, 1.0)Print sin, cos, tan values rounded
💡 All trigonometric functions calculated for the input angle; execution ends.
Variable Tracker
VariableStartAfter Step 1After Step 2After Step 3After Step 4Final
angleundefined0.78539816339744830.78539816339744830.78539816339744830.78539816339744830.7853981633974483
sin_valundefinedundefined0.70710678118654750.70710678118654750.70710678118654750.7071067811865475
cos_valundefinedundefinedundefined0.70710678118654760.70710678118654760.7071067811865476
tan_valundefinedundefinedundefinedundefined0.99999999999999990.9999999999999999
Key Moments - 3 Insights
Why do sin(π/4) and cos(π/4) have almost the same value?
Because π/4 radians is 45 degrees, where sine and cosine values are equal, as shown in steps 2 and 3 of the execution_table.
Why is tan(π/4) almost 1 but not exactly 1?
Due to floating-point precision limits in computers, tan(π/4) is very close to 1 but not exactly, as seen in step 4 of the execution_table.
Why must the angle be in radians, not degrees?
Numpy trigonometric functions expect radians. If degrees are used directly, results will be incorrect. Here, angle is set to π/4 radians in step 1.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution_table at step 2, what is the value of sin_val?
A1.0
B0.5
C0.7071
D0.0
💡 Hint
Check the 'Value' column for sin_val at step 2 in the execution_table.
At which step does the variable tan_val get its value?
AStep 4
BStep 3
CStep 2
DStep 5
💡 Hint
Look for tan_val assignment in the execution_table rows.
If the angle was changed to π/2 radians, what would happen to tan_val in the execution_table?
Atan_val would be 0
Btan_val would be undefined or very large
Ctan_val would be 1
Dtan_val would be negative
💡 Hint
Recall tan(π/2) is undefined; check how tan_val changes in variable_tracker.
Concept Snapshot
Trigonometric functions use angles in radians.
Use numpy.sin(), numpy.cos(), numpy.tan() to get sine, cosine, tangent.
Input angle → calculate sin, cos, tan → output values.
sin(π/4) ≈ cos(π/4) ≈ 0.707, tan(π/4) ≈ 1.
Always convert degrees to radians before using these functions.
Full Transcript
This lesson shows how to calculate sine, cosine, and tangent of an angle using numpy in Python. We start with an angle in radians, here π/4 which is 45 degrees. Then we calculate sin, cos, and tan step-by-step. The values for sin and cos at 45 degrees are about 0.707, and tan is about 1. We track each variable's value as the code runs. Common confusions include why sin and cos are equal at 45 degrees, why tan is close but not exactly 1, and why angles must be in radians. The quiz tests understanding of these values and behavior. This helps beginners see how trigonometric functions work in code with real numbers.

Practice

(1/5)
1. What does the numpy function np.sin() calculate when given an angle in radians?
easy
A. The angle converted from radians to degrees.
B. The cosine of the angle, which is the ratio of the adjacent side to the hypotenuse.
C. The tangent of the angle, which is the ratio of the opposite side to the adjacent side.
D. The sine of the angle, which is the ratio of the opposite side to the hypotenuse in a right triangle.

Solution

  1. Step 1: Understand the function purpose

    The function np.sin() calculates the sine value of an angle given in radians.
  2. Step 2: Recall sine definition in triangles

    Sine of an angle is the ratio of the length of the opposite side to the hypotenuse in a right triangle.
  3. Final Answer:

    The sine of the angle, which is the ratio of the opposite side to the hypotenuse in a right triangle. -> Option D
  4. Quick Check:

    np.sin() gives sine ratio [OK]
Hint: Remember sin = opposite/hypotenuse in triangles [OK]
Common Mistakes:
  • Confusing sine with cosine or tangent
  • Thinking np.sin() converts radians to degrees
  • Using degrees directly without conversion
2. Which of the following is the correct way to calculate the cosine of 60 degrees using numpy?
easy
A. np.cos(np.radians(60))
B. np.cos(np.sin(60))
C. np.cos(np.degrees(60))
D. np.cos(60)

Solution

  1. Step 1: Recognize angle units for numpy trig functions

    numpy trigonometric functions expect angles in radians, not degrees.
  2. Step 2: Convert degrees to radians before using np.cos()

    Use np.radians(60) to convert 60 degrees to radians, then apply np.cos().
  3. Final Answer:

    np.cos(np.radians(60)) -> Option A
  4. Quick Check:

    Convert degrees to radians before trig functions [OK]
Hint: Always convert degrees to radians with np.radians() [OK]
Common Mistakes:
  • Passing degrees directly to np.cos()
  • Using np.degrees() instead of np.radians()
  • Passing a trig function inside np.cos()
3. What is the output of the following code?
import numpy as np
angles = np.array([0, 90, 180])
radians = np.radians(angles)
sin_values = np.sin(radians)
print(np.round(sin_values, 2))
medium
A. [0.00 0.00 0.00]
B. [1.00 0.00 -1.00]
C. [0.00 1.00 0.00]
D. [0.00 -1.00 0.00]

Solution

  1. Step 1: Convert angles to radians

    Angles 0, 90, 180 degrees are converted to radians: 0, π/2, π.
  2. Step 2: Calculate sine values and round

    sin(0) = 0, sin(π/2) = 1, sin(π) = 0. Rounded to 2 decimals: [0.00, 1.00, 0.00].
  3. Final Answer:

    [0.00 1.00 0.00] -> Option C
  4. Quick Check:

    sin(0, 90, 180) = [0, 1, 0] [OK]
Hint: Recall sin(0)=0, sin(90°)=1, sin(180°)=0 [OK]
Common Mistakes:
  • Not converting degrees to radians
  • Confusing sine values at 90 and 180 degrees
  • Forgetting to round output
4. The following code is intended to calculate the tangent of 45 degrees but gives an incorrect result. What is the error?
import numpy as np
tan_45 = np.tan(45)
print(tan_45)
medium
A. np.tan() cannot calculate tangent for 45 degrees.
B. The angle 45 should be converted to radians before using np.tan().
C. The code should use np.tan(np.degrees(45)) instead.
D. The print statement is missing parentheses.

Solution

  1. Step 1: Identify input units for np.tan()

    numpy trigonometric functions require angles in radians, not degrees.
  2. Step 2: Correct the input by converting degrees to radians

    Use np.radians(45) to convert 45 degrees before passing to np.tan().
  3. Final Answer:

    The angle 45 should be converted to radians before using np.tan(). -> Option B
  4. Quick Check:

    Convert degrees to radians before np.tan() [OK]
Hint: Always convert degrees to radians before trig functions [OK]
Common Mistakes:
  • Passing degrees directly to np.tan()
  • Using np.degrees() instead of np.radians()
  • Assuming np.tan() works with degrees
5. You have an array of angles in degrees: angles = np.array([30, 45, 60]). You want to create a new array that contains the tangent values of these angles but only include values where the tangent is less than 2. Which code correctly does this?
hard
A. tan_vals = np.tan(np.radians(angles)); filtered = tan_vals[tan_vals < 2]
B. tan_vals = np.tan(angles); filtered = tan_vals[tan_vals < 2]
C. tan_vals = np.tan(np.degrees(angles)); filtered = tan_vals[tan_vals < 2]
D. tan_vals = np.tan(np.radians(angles)); filtered = tan_vals[tan_vals > 2]

Solution

  1. Step 1: Convert degrees to radians for tangent calculation

    Use np.radians(angles) to convert the array of degrees to radians before applying np.tan().
  2. Step 2: Filter tangent values less than 2

    Use boolean indexing tan_vals[tan_vals < 2] to select values less than 2.
  3. Final Answer:

    tan_vals = np.tan(np.radians(angles)); filtered = tan_vals[tan_vals < 2] -> Option A
  4. Quick Check:

    Convert degrees, then filter tan values less than 2 [OK]
Hint: Convert degrees first, then filter with boolean indexing [OK]
Common Mistakes:
  • Not converting degrees to radians
  • Filtering with wrong comparison operator
  • Using np.degrees() instead of np.radians()