函数factorial只能对数值类型的整数计算阶乘,而你这里的计算x既不是数值类型,也不是整数。
一般实数的阶乘定义为
不过,我们也可以不关心它的定义,直接用下面的方法来计算:
>> syms x
>> vpa(int((2.^x)*exp(-2)/sym('x!'),x,0,3.6),5)
Warning: Explicit integral could not be found.
> In D:\MATLAB6p5\toolbox\symbolic\@sym\int.m at line 58
ans =
.81300
由于积分求不出显式解,会导致一个警告,但不影响求解结果。