我有一个MATLAB代码,我必须转换为C语言。根据MATLAB代码,
n1 = 11; x1 = randn(2,n1) + repmat([-1 1]’,1,n1);
w = [0 0]’;
这里根据我的计算,输出
w’*x1
将是一个1x3矩阵,据我所知,这是一个行向量。
那么下面代码的输出是什么,
z = exp(repmat(b,1,n1)+w’*x1);
其中repmat()
也创建了一个1xn1矩阵(我不确定这一点,从手册中得出结论)。我的理解是,添加两个1x3矩阵不会产生标量。
这里是如何指数的?指数可以应用于矩阵吗?
答案 0 :(得分:4)
与许多MATLAB函数一样,exp
函数在应用于数组时以元素方式运行。有关详细信息,请参阅the documentation。
答案 1 :(得分:0)
是的,您可以将指数应用于矩阵。来自维基百科的文章:Matrix exponential
设X是n×n实数或复数矩阵。由e X 或exp(X)表示的X的指数是由幂级数给出的n×n矩阵
e^X = Sum(k=0, infinity) 1/k! * X^k
正如@John Bartholomew指出的那样,这不是Matlab的exp()
所做的。