用matlab积分求面积问题,快要上交,被积函数是对数概率密度函数,用simpson法数值计算出[0,2000]内的面积,这是我写的,第一个函数是simpson法的定义,第二个函数是对数正态分布的概率密度函数,但

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/11 03:51:23

用matlab积分求面积问题,快要上交,被积函数是对数概率密度函数,用simpson法数值计算出[0,2000]内的面积,这是我写的,第一个函数是simpson法的定义,第二个函数是对数正态分布的概率密度函数,但
用matlab积分求面积问题,快要上交,
被积函数是对数概率密度函数,用simpson法数值计算出[0,2000]内的面积,这是我写的,第一个函数是simpson法的定义,第二个函数是对数正态分布的概率密度函数,但是运行出错,我看不出那里出错了,
function s=MySimp(x,h)
n=length(x);
ys=f(x(1));
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((-(logx-7.59)^2)/2*0.7938);
a=0;
b=2000;
n=8;
h=(b-a)/8;
x=[0:h:2000];
ssimp=MySimp(x,h);
ssimp

用matlab积分求面积问题,快要上交,被积函数是对数概率密度函数,用simpson法数值计算出[0,2000]内的面积,这是我写的,第一个函数是simpson法的定义,第二个函数是对数正态分布的概率密度函数,但
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)
ssimp =
3.2412