Bird
Raised Fist0
MATLABdata~30 mins

Polynomial evaluation and roots in MATLAB - Mini Project: Build & Apply

Choose your learning style10 modes available
Polynomial evaluation and roots
📖 Scenario: You are working with polynomials in MATLAB. Polynomials are expressions like 2x2 + 3x + 1. You want to evaluate the polynomial for different values of x and find where the polynomial equals zero (its roots).
🎯 Goal: Build a MATLAB script that defines a polynomial, evaluates it at given points, and finds its roots.
📋 What You'll Learn
Create a vector called p with the polynomial coefficients in descending powers.
Create a vector called x_values with points to evaluate the polynomial.
Use polyval to evaluate the polynomial at x_values and store results in y_values.
Use roots to find the roots of the polynomial and store them in p_roots.
Display the evaluated values and roots using disp.
💡 Why This Matters
🌍 Real World
Polynomials are used in physics, engineering, and computer graphics to model curves and solve equations.
💼 Career
Understanding polynomial evaluation and root finding is important for data analysis, control systems, and algorithm development.
Progress0 / 4 steps
1
Create the polynomial coefficients vector
Create a vector called p with the coefficients [2 3 1] representing the polynomial 2x^2 + 3x + 1.
MATLAB
Hint

Use square brackets to create a vector with the coefficients in order from highest power to lowest.

2
Create the vector of x values to evaluate
Create a vector called x_values with the values [-1 0 1 2] where you want to evaluate the polynomial.
MATLAB
Hint

Use square brackets to list the x values exactly as given.

3
Evaluate the polynomial at the given x values
Use polyval with the vector p and x_values to calculate the polynomial values. Store the result in a vector called y_values.
MATLAB
Hint

Use polyval(p, x_values) to evaluate the polynomial at all points in x_values.

4
Find and display the roots and evaluated values
Use roots with the vector p to find the roots of the polynomial and store them in p_roots. Then display y_values and p_roots using disp.
MATLAB
Hint

Use p_roots = roots(p); to find roots and disp to show results.

Practice

(1/5)
1. What does the MATLAB function polyval(p, x) do when p is a vector of polynomial coefficients and x is a number?
easy
A. Evaluates the polynomial at the value x.
B. Finds the roots of the polynomial p.
C. Plots the polynomial curve over x.
D. Calculates the derivative of the polynomial at x.

Solution

  1. Step 1: Understand the function inputs

    The vector p contains polynomial coefficients, and x is the point where we want to evaluate the polynomial.
  2. Step 2: Identify the function purpose

    polyval calculates the polynomial value at x using the coefficients in p.
  3. Final Answer:

    Evaluates the polynomial at the value x. -> Option A
  4. Quick Check:

    polyval = evaluate polynomial [OK]
Hint: polyval means evaluate polynomial at given points [OK]
Common Mistakes:
  • Confusing polyval with roots function
  • Thinking polyval finds zeros of polynomial
  • Assuming polyval plots the polynomial
2. Which of the following is the correct syntax to find the roots of a polynomial with coefficients stored in vector p in MATLAB?
easy
A. polyval(p)
B. roots(p)
C. findroots(p)
D. solve(p)

Solution

  1. Step 1: Recall MATLAB root-finding function

    MATLAB uses the function roots to find zeros of a polynomial given its coefficients.
  2. Step 2: Check syntax correctness

    The correct syntax is roots(p), where p is the coefficient vector.
  3. Final Answer:

    roots(p) -> Option B
  4. Quick Check:

    roots function syntax = roots(p) [OK]
Hint: Use roots() to find polynomial zeros in MATLAB [OK]
Common Mistakes:
  • Using polyval instead of roots
  • Trying non-existent functions like findroots
  • Passing wrong arguments to roots
3. What is the output of the following MATLAB code?
p = [1 -3 2]; % Represents x^2 - 3x + 2
r = roots(p);
medium
A. [1 2]
B. [3 2]
C. [2 1]
D. [-1 -2]

Solution

  1. Step 1: Identify the polynomial

    The vector p = [1 -3 2] represents the polynomial x^2 - 3x + 2.
  2. Step 2: Find roots of the polynomial

    Factoring: (x-1)(x-2) = 0 so roots are 1 and 2. MATLAB returns a column vector [2; 1], matching option [2 1].
  3. Final Answer:

    [2 1] -> Option C
  4. Quick Check:

    Roots of x^2-3x+2 = 1, 2 [OK]
Hint: Roots are where polynomial equals zero [OK]
Common Mistakes:
  • Mixing up coefficient order
  • Forgetting roots are values of x
  • Assuming roots are negative
4. The following MATLAB code is intended to evaluate the polynomial p = [2 -5 3] at x = 4. What is the error?
p = [2 -5 3];
y = roots(p, 4);
medium
A. The syntax is correct; no error.
B. The variable y is not defined before use.
C. The vector p should be transposed before calling roots.
D. roots does not take a second argument; use polyval instead.

Solution

  1. Step 1: Understand function usage

    The function roots only takes one input: the coefficient vector p.
  2. Step 2: Identify correct function for evaluation

    To evaluate polynomial at a point, use polyval(p, x), not roots.
  3. Final Answer:

    roots does not take a second argument; use polyval instead. -> Option D
  4. Quick Check:

    roots(p) finds zeros; polyval(p,x) evaluates [OK]
Hint: Use polyval to evaluate, roots only finds zeros [OK]
Common Mistakes:
  • Passing extra arguments to roots
  • Confusing roots and polyval functions
  • Assuming roots evaluates polynomial
5. You have a polynomial p = [1 -6 11 -6] representing x^3 - 6x^2 + 11x - 6. Which MATLAB code correctly finds the roots and evaluates the polynomial at x = 2?
hard
A. r = roots(p); y = polyval(p, 2);
B. r = polyval(p, 2); y = roots(p);
C. r = roots(2); y = polyval(p);
D. r = roots(p, 2); y = polyval(p, 2);

Solution

  1. Step 1: Find roots of polynomial

    Use roots(p) to get zeros of polynomial p.
  2. Step 2: Evaluate polynomial at x=2

    Use polyval(p, 2) to find polynomial value at 2.
  3. Final Answer:

    r = roots(p); y = polyval(p, 2); -> Option A
  4. Quick Check:

    roots(p) finds zeros, polyval(p,x) evaluates [OK]
Hint: roots() finds zeros; polyval() evaluates at points [OK]
Common Mistakes:
  • Swapping roots and polyval calls
  • Passing wrong arguments to roots
  • Using roots with two arguments
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard