如何在MATLAB中采用指数矩阵?

时间:2012-02-29 23:49:51

标签: c matlab math porting

我有一个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矩阵不会产生标量。

这里是如何指数的?指数可以应用于矩阵吗?

2 个答案:

答案 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()所做的。