Function instead of polyval

Is there a Matlab built in function that can be used instead of a polyval function. Or any few lines can work similarly like the polyval function because i dont want to use the polyval function.

 Accepted Answer

fnotpolyval = @(p,x)sum(bsxfun(@(x,p)p*x.^(numel(p):-1:1),p',x))
or
fnotpolyval = @(p,x)sum(x'*p,2)'

2 Comments

Assumes row vectors for p and x
thanks :)

Sign in to comment.

More Answers (1)

Azzi Abdelmalek
Azzi Abdelmalek on 7 Aug 2012
Edited: Azzi Abdelmalek on 7 Aug 2012
fval=@(p,x) sum((x.^[length(p)-1:-1:0].*p));
%example
p=[2 4 5 3]; x=2;
result=fval(p,x) % fval is your new function

4 Comments

can this be like having the same syntax has the polyval as in the same way i call polyval, over here i have to define the function f in terms of x and then evaluate, i need the syntax in terms of polyval.
ok try this
fval=@(p,x) sum((x.^[length(p)-1:-1:0].*p));
%example
p=[2 4 5 3]; x=2;
result=fval(p,x) % fval is your new function
giving error
??? Index exceeds matrix dimensions.
Error in ==> @(p,x)sum((x.^[length(p)-1:-1:0].*p))
thanks but i got it done :)

Sign in to comment.

Categories

Find more on MATLAB 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!