Bird
Raised Fist0
MATLABdata~20 mins

Polynomial evaluation and roots in MATLAB - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Polynomial Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
Evaluate polynomial at a point
What is the output of this MATLAB code that evaluates the polynomial p(x) = 2x^3 - 4x + 1 at x = 2?
MATLAB
p = [2 0 -4 1];
result = polyval(p, 2);
disp(result);
A5
B7
C11
D9
Attempts:
2 left
💡 Hint
Remember to substitute x=2 into the polynomial 2x^3 - 4x + 1.
❓ Predict Output
intermediate
2:00remaining
Find roots of a quadratic polynomial
What is the output of this MATLAB code that finds the roots of the polynomial p(x) = x^2 - 5x + 6?
MATLAB
p = [1 -5 6];
roots_p = roots(p);
disp(sort(roots_p));
A[1; 6]
B[3; 4]
C[2; 3]
D[2; -3]
Attempts:
2 left
💡 Hint
Recall the factorization of x^2 - 5x + 6.
🔧 Debug
advanced
2:00remaining
Identify the error in polynomial evaluation
What error does this MATLAB code produce when trying to evaluate polynomial p(x) = 3x^2 + 2x + 1 at x = [1 2 3]?
MATLAB
p = [3 2 1];
result = polyval(p);
disp(result);
AError: Not enough input arguments.
BError: Index exceeds matrix dimensions.
COutput: [6 17 34]
DOutput: 10
Attempts:
2 left
💡 Hint
Check the usage of polyval function and its required inputs.
❓ Predict Output
advanced
2:00remaining
Number of roots for a cubic polynomial
How many roots does the polynomial p(x) = x^3 - 6x^2 + 11x - 6 have according to MATLAB's roots function?
MATLAB
p = [1 -6 11 -6];
r = roots(p);
disp(length(r));
A3
B2
C1
D0
Attempts:
2 left
💡 Hint
A cubic polynomial always has how many roots (including complex)?
🧠 Conceptual
expert
2:00remaining
Effect of leading zeros in polynomial coefficient vector
What is the output of this MATLAB code that finds roots of the polynomial with leading zeros in coefficients: p = [0 0 1 -3 2]?
MATLAB
p = [0 0 1 -3 2];
r = roots(p);
disp(sort(r));
AError: Polynomial degree cannot be determined due to leading zeros.
BRoots of polynomial x^2 - 3x + 2: [1; 2]
CRoots of polynomial x^4 - 3x^3 + 2x^2: [0; 0; 1; 2]
DRoots of polynomial x^2 - 3x + 2: [0; 1; 2]
Attempts:
2 left
💡 Hint
MATLAB ignores leading zeros in polynomial coefficient vectors.

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