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

9 次查看(过去 30 天)
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?

采纳的回答

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

请先登录,再进行评论。

更多回答(1 个)

Karim Belkhiria
Karim Belkhiria 2015-11-5
编辑:Karim Belkhiria 2015-11-5
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

类别

Help CenterFile Exchange 中查找有关 MATLAB 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by