我有两个向量,X一个基数和N一个指数。我想获取每个in和in的所有值的矩阵。e = xnxXnN
例如,以下输入:
X = [2 3 4]'
N = [1 2 3]
应该产生:
ans = [2 4 8; 3 9 27; 4 16 64]
有没有办法在不循环的情况下得到这个(就像你可以通过使用逐行乘积来获得 x×n 的所有值一样)?
我有两个向量,X一个基数和N一个指数。我想获取每个in和in的所有值的矩阵。e = xnxXnN
例如,以下输入:
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))