X
基数とN
指数の2 つのベクトルがあります。各inおよびinのすべての値の行列を取得したいと考えています。e = xn
x
X
n
N
たとえば、次の入力:
X = [2 3 4]'
N = [1 2 3]
生成する必要があります:
ans = [2 4 8; 3 9 27; 4 16 64]
ループせずにこれを取得する方法はありますか (列ごとの行積を使用して x×n のすべての値を取得できるように)?
X
基数とN
指数の2 つのベクトルがあります。各inおよびinのすべての値の行列を取得したいと考えています。e = xn
x
X
n
N
たとえば、次の入力:
X = [2 3 4]'
N = [1 2 3]
生成する必要があります:
ans = [2 4 8; 3 9 27; 4 16 64]
ループせずにこれを取得する方法はありますか (列ごとの行積を使用して x×n のすべての値を取得できるように)?
使用bsxfun
:
bsxfun(@power, X, N)
X
これは、が列ベクトルであり、行ベクトルであると想定していますN
。それを保証したい場合は、より堅牢な次の構文を使用してください。
bsxfun(@power, X(:), N(:).')
これはおそらくbsxfun
答えよりも少しずさんですが、使用できますmeshgrid
:
E = X.^(meshgrid(N)')
X
これは、との両方N
が行ベクトルであることを前提としています。両方が列ベクトルの場合、次のようになります。
E = X.^(meshgrid(N))