[已解决] 带有正态分布的一元方程求解

[复制链接]
bdfulong 发表于 2022-5-8 13:03:52
本帖最后由 bdfulong 于 2022-5-8 13:08 编辑

请问以下程序该如何编写啊,谢谢~
已知a和b是参数,其中a=5,b=14,F和f是正态分布(均值为100,标准差为20)的分布函数和密度函数,u是积分变量,求x的值。
222.png

最佳答案


谢中华 发表于 2022-5-8 18:15:36
我来写几行代码吧
  1. a = 5;
  2. b = 14;
  3. mu = 100;
  4. sigma = 20;
  5. fun1 = @(x)2*x*integral(@(u)u.^2.*normpdf(u,mu,sigma),0,x);
  6. fun2 = @(x)integral(@(u)(x-u).*normpdf(u,mu,sigma)/x,0,x);
  7. fun3 = @(x)fun1(x)+normcdf(x,mu,sigma)*(3*a-fun2(x))-b;
  8. [x,fval] = fsolve(fun3,1)
复制代码

运行结果:
x =
   31.5146
fval =
   3.7303e-14

5 条回复


wjb986555360 发表于 2022-5-8 17:11:33
答案:31.5146

谢中华 发表于 2022-5-8 18:15:36
我来写几行代码吧
  1. a = 5;
  2. b = 14;
  3. mu = 100;
  4. sigma = 20;
  5. fun1 = @(x)2*x*integral(@(u)u.^2.*normpdf(u,mu,sigma),0,x);
  6. fun2 = @(x)integral(@(u)(x-u).*normpdf(u,mu,sigma)/x,0,x);
  7. fun3 = @(x)fun1(x)+normcdf(x,mu,sigma)*(3*a-fun2(x))-b;
  8. [x,fval] = fsolve(fun3,1)
复制代码

运行结果:
x =
   31.5146
fval =
   3.7303e-14
回复此楼

bdfulong 发表于 2022-5-8 20:09:48
谢中华 发表于 2022-5-8 18:15
我来写几行代码吧

运行结果:

多谢大哥,受教了!还想请问,最后一行的fval是什么,有什么用啊?

谢中华 发表于 2022-5-8 20:52:24
bdfulong 发表于 2022-5-8 20:09
多谢大哥,受教了!还想请问,最后一行的fval是什么,有什么用啊?

fval是求出的目标函数值,即方程左端减右端的值,从fval可以看出求解精度,fval越接近于0,求解越精确。

bdfulong 发表于 2022-5-9 17:56:35
谢中华 发表于 2022-5-8 20:52
fval是求出的目标函数值,即方程左端减右端的值,从fval可以看出求解精度,fval越接近于0,求解越精确。 ...

谢谢 了解了~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

相关帖子
相关文章
热门教程
站长推荐
快速回复 返回顶部 返回列表