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

16 visualizzazioni (ultimi 30 giorni)
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

Risposte (2)

Erik Keever
Erik Keever il 31 Ott 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 il 31 Ott 2018
a = [0,1,1,1,1,1]
poly2sym(a) % requires symbolic toolbox

Categorie

Scopri di più su Polynomials in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by