MATLAB Answers

Yash
0

Function instead of polyval

Asked by Yash
on 7 Aug 2012
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.

  0 Comments

Sign in to comment.

2 Answers

Answer by Sean de Wolski
on 7 Aug 2012
 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.


Answer by Azzi Abdelmalek
on 7 Aug 2012
Edited by 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

Show 1 older comment
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.