求大神帮我解释一下matlab中gamma函数取对数的代码

double log_gamma(double x)
{
double z=1/(x*x);
x=x+6;
z=(((-0.000595238095238*z+0.000793650793651)
*z-0.002777777777778)*z+0.083333333333333)/x;
z=(x-0.5)*log(x)-x+0.918938533204673+z-log(x-1)-
log(x-2)-log(x-3)-log(x-4)-log(x-5)-log(x-6);
return z;
}
为啥这样编(就是gamma函数算法)每一条都给我写个注释,感激

这是matlab代码,怎么感觉是C代码?!

解释看图片

追问

为什么这样算

追答

你的代码就是这样算的,我只是把代码翻译成我们好理解的

追问

我读的懂代码但是不知道为什么这样算,你知道么

追答

我也不知道

温馨提示:内容为网友见解,仅供参考
第1个回答  2015-01-01
你这是C语言代码。不是matlab代码。追问

那每一句的意思是啥,算法又是啥

那每一句的意思是啥,算法又是啥

那每一句的意思是啥,算法又是啥

那每一句的意思是啥,算法又是啥

那每一句的意思是啥,算法又是啥

一道需要取对数证明极限的题(数学分析)
可以证明,Γ(x+1)=x*Γ(x),Γ(1)=1,因此Γ(x+1)=x!(x是自然数)。因为伽马函数在经典分析中具有重要的地位,所以对于任意的正数x,也就默认x!的值由Γ(x+1)来规定。下面是一篇文献给出的有关伽马函数的性质(但是没有给出证明过程):魏大宽. Gamma函数的一阶导数值公式[J]. 零陵...

大神帮我看一下,我用matlab运行之后stats得到3个0,如图。
0.0000 0.0000 0.0000 3.4560

求个matlab大神帮忙,为什么我写的s函数程序总是switch flag的时候...
Error in 'Jixiebi\/S-Function1' while executing MATLAB S-function 'chap3_8ctrl', flag = 3 (output), at time 0.0. 现在出现的错误 本回答被提问者采纳 已赞过 已踩过< 你对这个回答的评价是? 评论 收起 1条折叠回答 其他类似问题2019-04-24 哪位大神帮忙解决一下这个MATLAB问题,我是小白,下面...

(十) Gamma与Weibull分布的最大似然估计
Gamma分布的似然函数为特定形式,对其实行求导置零操作后,求解参数的条件方程。式中的Gamma函数取对数后的导数,即diGamma函数,用于简化计算过程。通过解方程得到Gamma分布的最大似然估计值。Weibull分布的似然函数也具有特定形式,求解最大似然条件后,通过简化得到Weibull分布参数的最大似然估计值。最大似然...

求大神用matlab帮我把y=40sin(πx)的二维图线画出来 x取(0,2)
知道小有建树答主 回答量:729 采纳率:77% 帮助的人:377万 我也去答题访问个人页 关注 展开全部 追问 y=0.4sin(πx) x取(0,2) 谢谢 刚才说错了 追答 ezplot('0.4*sin(pi*x)',[0 2]) 本回答由提问者推荐 已赞过 已踩过< 你对这个回答的评价是? 评论 收起 为...

求MATLAB大神帮我看看这段代码哪里错了 索引超出矩阵维度
matlab最大的好处就是不用事先定义变量看你的意思是要按列存储数据,只要每一列的数据个数是不变的,就可以直接使用,直接使用的变量默认为矩阵,只要你存储了第一列数据,其行数就确定了,但列数是可变的,不会报错,放心使用,但前提是你的行数一旦确定就不能超过第一次使用的行数,否则会报错,...

哪位大神懂matlab,求着帮忙看看,为什么这个代码第一行有错误,我用云...
he2在程序中没有调用,也就是说下面的函数内容和he2没有关系,解决方法:1.检查函数中的公式是否有打错的?比如将he2打错成了he1;2.如果确认函数中没有he2这个变量,把function里的he2删除即可。

求大神帮我编写一下matlab代码
编写一个函数,然后根据自己的实际情况调用就可以了。function [ x ] = Chase_method( A, b )Chase method 追赶法求三对角矩阵的解 A为三对角矩阵的系数,b为等式右端的常数项,返回值x即为最终的解 注:A尽量为方阵,b一定要为列向量 求追赶法所需L及U T = A;for i = 2 : size(T,1...

求大神用matlab语言帮我完成下面的题目 谢谢
楼主,你好。程序如下:t=linspace(0,10,100);a1=0.1;a2=0.2;a3=0.5;y1=exp(a1*t);y2=exp(a2*t);y3=exp(a3*t);plot(t,y1,'k:o',t,y2,'b-.*',t,y3,'rs')结果如图所示:希望对楼主有帮助,希望楼主采纳,欢迎交流。

matlab大神帮忙解答一下这个证明不等式的问题!!
用matlab验证柯西不等式,可以取若干个随机数赋值给a(i)和b(i),,然后计算左式X1和右式X2,最后判断X1<=X2是否成立。a=unifrnd(1,100,1,100);b=unifrnd(101,200,1,100);X1=sum(a.*b);X2=sqrt(sum(a.^2)).*sqrt(sum(b.^2));if X1<=X2 X1,X2 disp('Σai*bi≤(Σai^2...

相似回答