2013-06-02 23 views
1

我有兩個向量,X的基數和N的指數。我想要得到所有值爲e = xn的矩陣,其中每個xXnN中。向量冪

例如,下面的輸入:

X = [2 3 4]' 
N = [1 2 3] 

應出示:

ans = [2 4 8; 3 9 27; 4 16 64] 

有沒有辦法讓這個不用循環(就像你可以得到所有x的值×N使用逐行產品)?

回答

6

使用bsxfun

bsxfun(@power, X, N) 

這假定X是列向量,並N是一個行向量。如果你想保證,請使用以下語法,更堅固:

bsxfun(@power, X(:), N(:).') 
+1

+1比我先前10秒... – Shai

+1

甜,謝謝。 (對我來說很遺憾,我偶然發現了一個星期前bsxfun解決的類似問題。) –

1

這可能是比bsxfun答案更模糊一點,但你可以使用meshgrid

E = X.^(meshgrid(N)') 

這是假定這兩個XN是行向量。如果兩者都是列向量,則它變成:

E = X.^(meshgrid(N))