Creating a polyval function
21 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Patrick Allaglo
el 13 de Dic. de 2013
Editada: ledinh lam
el 27 de Nov. de 2016
Hi everybody, I'm actually trying to create a function wich would work like a polyval function but without any S and MU. Just with p and x : polyval(p,x). http://www.mathworks.com/help/matlab/ref/polyval.html But I have absolutely no idea how to do it... I know what i would have to do on a paper but no idea in MATLAB. For example, i don't know how to write this in MATLAB : y = p1*x^n + p2*x^n–1 + … + p*n^x + p*n+1 So if someone could just show me a tip or a way to find it... Thx :)
1 comentario
Respuesta aceptada
Simon
el 13 de Dic. de 2013
Hi!
But you can use polyval with just p and x!
3 comentarios
Simon
el 13 de Dic. de 2013
Maybe the best point to start is to enter
edit polyval
in your command window and take a look at the code.
Or you start from scratch, write a function that accepts a scalar/vector X and some polynomial coefficients P. Then of course you can directly calculate with
Y = P(1)*X^N + P(2)*X^(N-1) + ... + P(N)*X + P(N+1)
Maybe use a loop (for scalar X) like
Y = 0;
N = length(P) - 1;
e = N:-1:0;
for n = 1:N+1
Y = Y + P(n) * X^e(n);
end
I didn't try it, but it should get you started.
Más respuestas (4)
Azzi Abdelmalek
el 13 de Dic. de 2013
Example
x=0:10
If you want to calculate a polynomial p=4x^2+2*x+5
p=[4 2 5]
out=polyval(p,x)
ledinh lam
el 27 de Nov. de 2016
Editada: ledinh lam
el 27 de Nov. de 2016
function p = poly_val(c0,c,x)
if isempty(c)==true
p =c0;
elseif isscalar(c)==true
p = c0+c*x;
else
w=c(:);
n=length(c);
a=x.^[1:n];
p=c0+a*w;
end
end
if true
% code
end
0 comentarios
Jos (10584)
el 13 de Dic. de 2013
I do not really get your problem, but are you after something like this?
x = -5:5
p = [3 2 4]
y = p(1)
for k=2:numel(p),
y = y + p(k) * x.^(k-1) % you can change this to another formula f(k,p(k),x)
end
0 comentarios
Patrick Allaglo
el 13 de Dic. de 2013
1 comentario
Simon
el 13 de Dic. de 2013
Make a table like
tt = -5:5;
Access your variable with index -3 like
V(tt==-3)
Ver también
Categorías
Más información sobre Polynomials en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!