How can I implement recurrence relations to find polynomials?
    조회 수: 9 (최근 30일)
  
       이전 댓글 표시
    
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
 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 fourUnfortunately, 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.
댓글 수: 0
채택된 답변
  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
      
      
 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개)
참고 항목
카테고리
				Help Center 및 File Exchange에서 Polynomials에 대해 자세히 알아보기
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

