clear
syms x;
k=0.390803 ;
mu=0.463506 ;
sigma= 0.219108 ;
PDF=(1/sigma)*exp((-1+k*(x-mu)/sigma)^(-1/k))*(1+k*(x-mu)/sigma)^(-1-(1/k));
S=int(PDF,x,0.3,2.9);
eval(S)
这是原程序代码,其结果为
ans =
int((2569280689985359*exp(1/((14080161961402176*x)/7894197657231157 - 8226786109654163/4503599627370496)^(5761981903120621/2251799813685248)))/(562949953421312*((14080161961402176*x)/7894197657231157 + 6243305160694637/36028797018963968)^(8013781716805869/2251799813685248)), x, 3/10, 29/10)
经检查是公式写错了,负号位置错了。
k=0.390803;mu=0.463506;sigma=0.219108;
PDF=@(x)(1/sigma).*exp(-(1+k*(x-mu)/sigma).^(-1/k)).*(1+k*(x-mu)/sigma).^(-1-(1/k));
S=quadl(PDF,0.3,2.9)
运行结果
S = 0.897133772014529
您看,我按照您的方法算我的式子,它在表达式里面还是仍有变量x。得到的结果还是表达式。您可不可以按我给的原代码,算一次啊呀,谢谢!
quad 我也试了,发生报错,构造函数:function y = myfun(x) k=0.390803 ;mu=0.463506 ;sigma= 0.219108 ;y=(1/sigma).*exp((-1+k.*(x-mu)./sigma).^(-1./k)).*(1+k.*(x-mu)./sigma).^(-1-(1./k));end
求0.1-2的积分 clear syms x;Q =quad(@myfun,0.1,2);
报错:
警告: 遇到无限值或 Not-a-Number 函数值。
> In quad at 100
In gev at 9
就不知道怎么办了
这个数值太大了,超过10^71次方,而且里面包含复数
x=[0.3:0.1:2.9];
y=abs((1/sigma)*exp((-1+k*(x-mu)/sigma).^(-1/k)).*(1+k*(x-mu)/sigma).^(-1-(1/k)));
plot(x,y)
没有啊,我看您的程序表达式好像和我的不太一样,,
clear;
x=0:0.001:2.9;
k=0.390803 ;
mu=0.463506 ;
sigma= 0.219108 ;
pd=1/sigma.*(exp(-mu/sigma).*x.^(1/sigma-1))./((1+(exp(-mu).*x).^(1/sigma)).^2);
%pd = makedist('GeneralizedExtremeValue','k',k,'sigma',sigma,'mu',mu);%这是调用函数
plot(x,pd);
我已经求出来了,麻烦您了!