how to write a very concise expression for matrix power

I have a row vector, e.g. [1,2,3,4], and I want to put, say 3 different power [1;2;3] to create a matrix as follow:
[1,2,3,4]?^[1;2;3] = [1,2,3,4 ; 1,4,9,16 ; 1,8,27,64].
Anyone knows how to get it without using a loop. Many thanks!

 采纳的回答

As of R2016b, you can just do this
[1;2;3] .^ [1,2,3,4]
Otherwise, use bsxfun()

4 个评论

Ahh, I am using 2011, didn't know it works in 2016.
Thanks for reply. Is there any other way to let it work.
Upgrade!
Or, use bsxfun() as I suggested.
Nice, bsxfun does work. Thank you so much!
Then please ACCEPT the answer...

请先登录,再进行评论。

更多回答(1 个)

>> bsxfun(@power,[1:4],[1:3].')
ans =
1 2 3 4
1 4 9 16
1 8 27 64
>>

类别

帮助中心File Exchange 中查找有关 Mathematics 的更多信息

标签

提问:

Xin
2016-10-12

评论:

dpb
2016-10-12

Community Treasure Hunt

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

Start Hunting!

Translated by