matlab求解积分方程
求问上图,a=50,b=1,c=29,e=10.u是服从于N(645.25,21140.25)的正态分布,Φ(u)是正态分布的密度函数。如何用matlab计算出x值啊?求...
求问上图,a=50,b=1,c=29,e=10.u是服从于N(645.25,21140.25)的正态分布,Φ(u)是正态分布的密度函数。
如何用matlab计算出x值啊?
求代码,谢谢! 展开
如何用matlab计算出x值啊?
求代码,谢谢! 展开
1个回答
2014-04-13
展开全部
S和e分别是什么?
追问
哦,S也已知,是693.5,e上面给过了,是10
追答
可以用fsolve求解。
参考代码(我的理解,21140.25应该是指σ²):
a=50;b=1;c=29;e=10;S=693.5;
mu=645.25;s2=21140.25;
phi=@(u) 1/sqrt(2*pi*s2) * exp(-(u-mu).^2/(2*s2));
f=@(x) b*integral(@(u)(x-u).*phi(u),0,x) + ...
c*integral(@(u)(u-x).*phi(u),x,inf) - a - ...
e*(S-x) - b*integral(@(u)(S-u).*phi(u),0,S) - ...
c*integral(@(u)(u-S).*phi(u),S,inf);
ezplot(@(x)arrayfun(f,x),[600 800])
x1=fsolve(f,600)
x2=fsolve(f,800)
hold on
plot([x1 x2],[0 0],'ro')
有两个解:
x1 =
659.2900
x2 =
731.2953
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询