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

5 Ansichten (letzte 30 Tage)
Karim Belkhiria
Karim Belkhiria am 5 Nov. 2015
Kommentiert: Matt J am 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?

Akzeptierte Antwort

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

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

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

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu MATLAB finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by