How can I have Matlab create a polynomial function from a vector of coefficients without invoking some other implemented function?

47 views (last 30 days)
Here is some of my initial thinking.
function y = f(x)
clc;
clear;
a = [0,1,1,1,1,1];
n = length(a);
y = 0;
for i = 1:n
while i<=n
y = y + a(i)*x^(i-1);
end
end
end

Answers (2)

Erik Keever
Erik Keever on 31 Oct 2018
If you're asking for the most efficient way to do it, call the function Mathworks implemented for us:
>> help polyval
POLYVAL Evaluate polynomial.
Y = POLYVAL(P,X) returns the value of a polynomial P evaluated at X. P
is a vector of length N+1 whose elements are the coefficients of the
polynomial in descending powers.
Y = P(1)*X^N + P(2)*X^(N-1) + ... + P(N)*X + P(N+1)|
Which is also an m-file you can view to see how it's done

madhan ravi
madhan ravi on 31 Oct 2018
a = [0,1,1,1,1,1]
poly2sym(a) % requires symbolic toolbox

Categories

Find more on Polynomials in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!