Recursion function-Chebyshev polynomials
17 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Tho Gonzalez
le 4 Sep 2016
Modifié(e) : Walter Roberson
le 5 Sep 2016
Question:
Chebyshev polynomials are defined recursively. Chebyshev polynomials are separated into two kinds: first and second. Chebyshev polynomials of the first kind, Tn(x), and of the second kind, Un(x), are defined by the following recurrence relations:
Tn(x) = 1 if n = 0;
= x if n = 1;
= 2xTn−1(x) − Tn−2(x) otherwise;
Write a function with header [y] = myChebyshevPoly1(n,x), where y is the n-th Chebyshev polynomial of the first kind evaluated at x.Be sure your function can take array inputs for x. You may assume that x is a row vector. The output variable, y, must be a row vector also.
function [y] = myChebyshevPoly1(n,x)
% y = chebyshev polynimial
%Tn(x) = 1 if n=0
%Tn(x) =x if n=1
%Tn(x) = 2xTn-1(x) - Tn-2(x)
%function can take array
% get array x
xleng=length(x);
if n ==0
y=1;
elseif n==1
y = x;
else
for i= 1: xleng
y= 2*(x)*myChebyshevPoly1(n-1,x) - myChebyshevPoly1(n-2,x);
end
end
end
end
Comment: the code doesnt run because the array can't multiply together, how can I fix this?
0 commentaires
Réponse acceptée
Walter Roberson
le 4 Sep 2016
Remember .* instead of *
But notice that in every iteration of your loop, you are overwriting all of y based on all of x. You need to rethink that loop.
2 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Polynomials dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!