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.

 採用された回答

Sean de Wolski
Sean de Wolski 2012 年 8 月 7 日

1 投票

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

2 件のコメント

Sean de Wolski
Sean de Wolski 2012 年 8 月 7 日
Assumes row vectors for p and x
Yash
Yash 2012 年 8 月 7 日
thanks :)

サインインしてコメントする。

その他の回答 (1 件)

Azzi Abdelmalek
Azzi Abdelmalek 2012 年 8 月 7 日
編集済み: Azzi Abdelmalek 2012 年 8 月 7 日

1 投票

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 件のコメント

Yash
Yash 2012 年 8 月 7 日
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.
Azzi Abdelmalek
Azzi Abdelmalek 2012 年 8 月 7 日
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
Yash
Yash 2012 年 8 月 7 日
giving error
??? Index exceeds matrix dimensions.
Error in ==> @(p,x)sum((x.^[length(p)-1:-1:0].*p))
Yash
Yash 2012 年 8 月 7 日
thanks but i got it done :)

サインインしてコメントする。

カテゴリ

ヘルプ センター および File ExchangeMATLAB についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by