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

9 visualizaciones (últimos 30 días)
Karim Belkhiria
Karim Belkhiria el 5 de Nov. de 2015
Comentada: Matt J el 5 de Nov. de 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?

Respuesta aceptada

Matt J
Matt J el 5 de Nov. de 2015
V=bsxfun(@power,x(:),0:n-1)
  3 comentarios
Karim Belkhiria
Karim Belkhiria el 5 de Nov. de 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 el 5 de Nov. de 2015
Yes, perhaps. But it is your homework...

Iniciar sesión para comentar.

Más respuestas (1)

Karim Belkhiria
Karim Belkhiria el 5 de Nov. de 2015
Editada: Karim Belkhiria el 5 de Nov. de 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 comentario
Matt J
Matt J el 5 de Nov. de 2015
I wonder if your teacher would also have accepted this
V=exp(log(x(:))*(0:n-1))

Iniciar sesión para comentar.

Categorías

Más información sobre MATLAB en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by