How can I implement recurrence relations to find polynomials?

2 ビュー (過去 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 件のコメント
Jaime De La Mota Sanchis
Jaime De La Mota Sanchis 2021 年 1 月 28 日
You are right. I have fixed the error. Thanks.
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 件)

カテゴリ

Help Center および File ExchangePolynomials についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by