matlab vpa的使用问题

2025-05-17 15:26:06
推荐回答(1个)
回答1:

函数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

由于积分求不出显式解,会导致一个警告,但不影响求解结果。