How can I implement recurrence relations to find polynomials?

조회 수: 4(최근 30일)
Jaime De La Mota Sanchis
Jaime De La Mota Sanchis 2021년 1월 28일
댓글: Alan Stevens 2021년 1월 28일
Hello everyone. I need to calculate some polynomials using a recurrence rule. I have the values of the polynomials of order zero and one. These are 1 and x. I also have the rule:
Where is the polynomial of order I and both, and are elements of two different vectors that I have stored in memory, so it won’t be difficult to access them. I also need to find the polynomials of order zero to four
Unfortunately, I don't know how to send this to Matlab to find the values of the different polynomials. I can try to do it by hand, but in the future if i need to calculate higher polynomials I will be in trouble.
I have tried to use a matrix to store the values as a matrix, e.g. the first row would be 0 0 0 1 and the second 0 0 x 0 and so on and a for loop to access said elements and then use the recurrence rule. However, I haven't managed to obtain any results.
Can someone please tell me how this could be done and how could I find said polynomials?
Regards.
Jaime.

채택된 답변

Alan Stevens
Alan Stevens 2021년 1월 28일
편집: Alan Stevens 2021년 1월 28일
Do you mean something along these lines:
order = 4;
a = [0, 0, 1.3, 1.4, 1.5]; % Obviously, replace with your own values.
b = [0, 3.5, 4.5, 5.5, 6.5]; % The initial zeros are simply placeholders
% they are never used here. For higher order
% polynomials a and b will need to be
% correspondingly bigger.
x = 0:0.1:5;
p = zeros(numel(x),1);
for i = 1:numel(x)
p(i) = RPOLY(x(i), order, a, b);
end
plot(x,p),grid
function P = RPOLY(x, order, a, b)
PR = zeros(order+1,1);
PR(1) = 1;
PR(2) = x;
if order == 0
P = PR(1);
elseif order == 1
P = PR(2);
else
for j = 3:order+1
PR(j) = ((x-a(j))*PR(j-1) - b(j-1)*PR(j-2))/b(j);
end
P = PR(order+1);
end
end
  댓글 수: 4
Alan Stevens
Alan Stevens 2021년 1월 28일
Still doesn't match! The general expression, if correct, would give
Note the indices on the a and the b's.

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

추가 답변(0개)

Community Treasure Hunt

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

Start Hunting!

Translated by