问题描述:
用simpson法求对数正态函数的概率密度函数与坐标轴之间的面积的matlab程序
对数正态函数的概率密度函数与坐标轴围成的总面积应该为1,但是我用matlab运行出来的一段区间面积就比1大,我找不出原因,望大家帮个忙,快要上交了.
这是我写的matlab程序:函数一是simpson法的定义,函数2是概率密度函数.
function s=MySimp(a,b,k)
h=(b-a)/k;
x=[a:h:b];
n=length(x);
ys=f(x(2));
yf=f(x(n));
ymid=0;
yin=0;
for i=1:n-1
ymid=ymid+4*f((x(i)+x(i+1))/2);
end
for i=2:n-1
yin=yin+2*f(x(i));
end
s=(h/6)*(ys+ymid+yin+yf);
function y=f(x)
y=(1/x*0.891*sqrt(2*pi))*exp((-(log(x)-7.59)^2)/2*0.7938);
a=0;
n=8;
b=2000;
ssimp=MySimp(a,b,n)
对数正态函数的概率密度函数与坐标轴围成的总面积应该为1,但是我用matlab运行出来的一段区间面积就比1大,我找不出原因,望大家帮个忙,快要上交了.
这是我写的matlab程序:函数一是simpson法的定义,函数2是概率密度函数.
function s=MySimp(a,b,k)
h=(b-a)/k;
x=[a:h:b];
n=length(x);
ys=f(x(2));
yf=f(x(n));
ymid=0;
yin=0;
for i=1:n-1
ymid=ymid+4*f((x(i)+x(i+1))/2);
end
for i=2:n-1
yin=yin+2*f(x(i));
end
s=(h/6)*(ys+ymid+yin+yf);
function y=f(x)
y=(1/x*0.891*sqrt(2*pi))*exp((-(log(x)-7.59)^2)/2*0.7938);
a=0;
n=8;
b=2000;
ssimp=MySimp(a,b,n)
问题解答:
我来补答展开全文阅读