matlab 小数阶乘的编程问题

 gamma(3.1+1) 

ans =

    6.8126

>> 3.1*2.1*1.1 

ans =

    7.1610

为什么用gamma函数算出来的值和用阶乘直接算出来的不一样