How to add power of x from 0 to n-1

5 vues (au cours des 30 derniers jours)
Karim Belkhiria
Karim Belkhiria le 5 Nov 2015
Commenté : Matt J le 5 Nov 2015
I have a function vandermonde
function c = vandermonde(x, y)
V = [x.^0 x x.^2 x.^3]
c = V \ y;
end
it works good if I give a vector x with 4 components. But how could I make it general, even if I give a vector x with 5,6 or even 15 components? so that V = [x.^0 x x.^2 x.^3 x.^4 x.^5 .... x.^14] ? with n or something like that?

Réponse acceptée

Matt J
Matt J le 5 Nov 2015
V=bsxfun(@power,x(:),0:n-1)
  3 commentaires
Karim Belkhiria
Karim Belkhiria le 5 Nov 2015
thank you for your answer! It works! but we are not allowed to use bsxfun and @power. It is a homework, and we are beginners with matlab. it should be something really simple with the basics of MATLAB. Is there any other solution with "basic" commands?
Matt J
Matt J le 5 Nov 2015
Yes, perhaps. But it is your homework...

Connectez-vous pour commenter.

Plus de réponses (1)

Karim Belkhiria
Karim Belkhiria le 5 Nov 2015
Modifié(e) : Karim Belkhiria le 5 Nov 2015
here is the answer that I searched for:
function c = vmonde(x, y)
n = length(x);
V = ones(n);
for j = 2:n
V(:,j) = x.*V(:,j-1);
end
c = V \ y;
disp(V)
end
  1 commentaire
Matt J
Matt J le 5 Nov 2015
I wonder if your teacher would also have accepted this
V=exp(log(x(:))*(0:n-1))

Connectez-vous pour commenter.

Catégories

En savoir plus sur MATLAB 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!

Translated by