Polynomial with nested and anonymous functions.

How can I write this polynomial function without loops?
function fh = get_polynomial_handle(p)
function polynomial = poly(x)
polynomial = 0;
for i = 1 : length(p)
polynomial = polynomial + p(i) .* x.^(i-1);
end
end
fh = @poly;
end
% I try to make this function recursively, but anyway, I am having some errors in writting this function without loop.
% Can anyone explain me?
% Note: The function is not necessary to be recursive, it's just one of the ways I've thought of.

 채택된 답변

Ameer Hamza
Ameer Hamza 2020년 10월 22일
Something like this
polynomial = sum(p .* x.^(0:numel(p)-1));
Also see polyval().

댓글 수: 3

Wai Han
Wai Han 2020년 10월 22일
Thanks a lot !
I am glad to be of help!
Thanks a lot mn. You just made my day, was stuck in this question for quite a while since yesterday. I was at 2 out of 3 errors. Even posted a forum to my lecturer for the first time last night.
P.S I tried with length & recursion but kept getting bugs for atleast one or 2 errors. Either some inputs didnt work properly or out of memory.
function pf = poly_fun(p)
if nargin < 1%Check no.of inputs
return;
end
function polynomial = poly(x)
polynomial = sum(p .* x.^(0:numel(p)-1));%numel for polynomial exponential
end
pf = @poly;
end

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Polynomials에 대해 자세히 알아보기

제품

릴리스

R2020b

질문:

2020년 10월 22일

댓글:

2021년 2월 11일

Community Treasure Hunt

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

Start Hunting!

Translated by