查看: 573|回复: 7|关注: 0

[已解决] 简单一重积分,值为NaN,求解

[复制链接]

新手

7 麦片

财富积分


050


1

主题

4

帖子

0

最佳答案
代码如下:
function y = myqian(x)
y = 0.01.*x.*0.99.^x.*exp(0.01.*(1-0.99.^x)./log(0.99))
Q=quadl(@myqian,0,Inf)
结果“警告: 已达到最小步长大小;可能具有奇异性。”
Q一直显示为NaN
求解何原因?

新手

7 麦片

财富积分


050


1

主题

4

帖子

0

最佳答案
 楼主| 发表于 2018-1-11 22:49:58 | 显示全部楼层
自己已找到解决办法,将quad换成quadgk即可

论坛优秀回答者

权威

7271 麦片

财富积分



5

主题

8682

帖子

1663

最佳答案
  • 关注者: 375
发表于 2018-1-11 22:50:52 | 显示全部楼层 |此回复为最佳答案
用Q=integral(@myqian,0,inf)试试。或者用quadgk(@myqian,0,inf)

论坛优秀回答者

高级

1850 麦片

财富积分


15002000


1

主题

2132

帖子

415

最佳答案
  • 关注者: 67
发表于 2018-1-11 22:56:13 | 显示全部楼层
本帖最后由 maple1314168 于 2018-1-11 23:21 编辑

用新版matlab命令
integral(fun,0,inf)
ans=48.1662

或者:
quad(fun,0,1e4)

超过1e4,后面的函数接近 零 。

当超过1e4的其他数值,将前面的重要数值稀疏导致只得到的积分接近 零。
例如:quad(fun,0,1e6)    ans = 1.0866e-289,  
或者可以设定更高的精度  quad(fun,0,1e6,1e-300)
当为inf的时候 fun(inf)     ans = NaN  ,出现NaN。


新手

7 麦片

财富积分


050


1

主题

4

帖子

0

最佳答案
 楼主| 发表于 2018-1-11 22:58:24 | 显示全部楼层
jingzhaos 发表于 2018-1-11 22:50
用Q=integral(@myqian,0,inf)试试。或者用quadgk(@myqian,0,inf)

再次求教
原本函数应为此:
function y = myqian(x,p)
y =p.*x.*(1-p).^x.*exp(p.*(1-(1-p).^x)./log(1-p))
p为参数,取值来源于一个1*157的A矩阵,
求解:可否通过循环调用A矩阵中的每一个数作为P值,来求Q=quad(@myqian,0,inf)
不知如何写代码

论坛优秀回答者

权威

7271 麦片

财富积分



5

主题

8682

帖子

1663

最佳答案
  • 关注者: 375
发表于 2018-1-11 23:04:49 | 显示全部楼层
本帖最后由 jingzhaos 于 2018-1-11 23:06 编辑
茗景庄 发表于 2018-1-11 22:58
再次求教
原本函数应为此:
function y = myqian(x,p)
  1. arrayfun(@(k)integral(@(x)myqian(x,p(k)),0,inf),1:157)
复制代码


或者:
  1. integral(@(x)myqian(x,p),0,inf,'ArrayValued',true)
复制代码

论坛优秀回答者

高级

1850 麦片

财富积分


15002000


1

主题

2132

帖子

415

最佳答案
  • 关注者: 67
发表于 2018-1-11 23:05:50 | 显示全部楼层
茗景庄 发表于 2018-1-11 22:58
再次求教
原本函数应为此:
function y = myqian(x,p)
  1. p=[0.2 0.3];
  2. fun=@(x,p)p.*x.*(1-p).^x.*exp(p.*(1-(1-p).^x)./log(1-p));
  3. arrayfun(@(i)integral(@(x)fun(x,p(i)),0,inf),1:2)
复制代码

新手

7 麦片

财富积分


050


1

主题

4

帖子

0

最佳答案
 楼主| 发表于 2018-1-11 23:29:27 | 显示全部楼层

感谢感谢,完美解决,膜拜:victory:
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /3 下一条

快速回复 返回顶部 返回列表