1

X基数とN指数の2 つのベクトルがあります。各inおよびinのすべての値の行列を取得したいと考えています。e = xnxXnN

たとえば、次の入力:

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

生成する必要があります:

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

ループせずにこれを取得する方法はありますか (列ごとの行積を使用して x×n のすべての値を取得できるように)?

4

2 に答える 2

6

使用bsxfun:

bsxfun(@power, X, N)

Xこれは、が列ベクトルであり、行ベクトルであると想定していますN。それを保証したい場合は、より堅牢な次の構文を使用してください。

bsxfun(@power, X(:), N(:).')
于 2013-06-02T10:27:56.080 に答える
1

これはおそらくbsxfun答えよりも少しずさんですが、使用できますmeshgrid

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

Xこれは、との両方Nが行ベクトルであることを前提としています。両方が列ベクトルの場合、次のようになります。

E = X.^(meshgrid(N))
于 2013-06-09T17:36:57.810 に答える