Polynomial with nested and anonymous functions.
조회 수: 8 (최근 30일)
이전 댓글 표시
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.
댓글 수: 0
채택된 답변
Ameer Hamza
2020년 10월 22일
Something like this
polynomial = sum(p .* x.^(0:numel(p)-1));
Also see polyval().
댓글 수: 3
Senal Direcksze
2021년 2월 11일
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개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Polynomials에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!