필터 지우기
필터 지우기

Polynomial with nested and anonymous functions.

조회 수: 2 (최근 30일)
Wai Han
Wai Han 2020년 10월 22일
댓글: Senal Direcksze 2021년 2월 11일
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
Ameer Hamza
Ameer Hamza 2020년 10월 23일
I am glad to be of help!
Senal Direcksze
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 CenterFile Exchange에서 Polynomials에 대해 자세히 알아보기

제품


릴리스

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by