公告:1)网站程序升级:Q2A升级到1.8.6,Wordpress升级到5.7.2
2)修复了头像加载慢与提交问题反应慢等问题
2021-06-16

欢迎来到 Mathematica 问答社区

提问时请贴上文本代码

语法高亮:在编辑器中点击

被禁止的话题:广告破解

请阅读:《提问的智慧》

备用域名:mma.ooo

支持LaTex数学公式
行内公式标识符:\$ 或“$\backslash ($”+“$\backslash )$”,
行间公式标识符:\$\$ 或 “$\backslash [$”+“$\backslash ]$”

社区建议QQ群:365716997

分类

0 投票
807 浏览

数据如下

data1 := {{6.2, 575.8}, {6.3, 1025.0}, {6.4, 1168.3}, {6.5,840.3}, {6.6, 485.5}}

采用FindFit,FindFit[data1, a*Exp[-(x - b)^2/c^2], {a, b, c}, x],然后显示

LinearAlgebra`BLAS`TRSV::oflow: 在计算过程中,碰到机器精度溢出.

求问这是为什么

上面的问题已被解答,然而又有一个相似的问题。。。

data2 = {{7.0, 647.0}, {7.1, 1909.3}, {7.2, 2352.8}, {7.3, 
    1682.0}, {7.4, 633.0}};
FindFit[data2, a*Exp[-(x - b)^2/c^2], {a, b, c}, x, 
 MaxIterations -> 10000]

 

所得的结果明显有问题

NonlinearModelFit[data2, a*Exp[-(x - b)^2/c^2], {a, b, c}, x, 
 MaxIterations -> Infinity]

分析之后得到

{
 {"", "Estimate", "Standard Error", "t\[Hyphen]Statistic", 
  "P\[Hyphen]Value"},
 {a, 4182.48, 1.67714*10^24, 2.49381*10^-21, 1.},
 {b, 352.755, 4.2033*10^21, 8.39233*10^-20, 1.},
 {c, 60.1843, 3.66042*10^20, 1.64419*10^-19, 1.}
}

显然存在问题

分类:其它 | 用户: hermione_evans (31 分)
修改于 用户:hermione_evans

2 个回答

+1 投票
data1 = {{6.2, 575.8}, {6.3, 1025.0}, {6.4, 1168.3}, {6.5, 840.3}, {6.6, 485.5}};
FindFit[data1, a*Exp[-(x - b)^2/c^2], {a, b, c}, x, MaxIterations -> 1000]
Plot[a*Exp[-(x - b)^2/c^2] /. %, {x, 6.2, 6.6}, Epilog -> Point[data1]]

V10.4  Win7

没出问题。

用户: 苹果 (2.2k 分)
谢谢,原来提高迭代次数就可以了。。
0 投票

已解决。,大致估算出b的值时即可得到较好的结果

用户: hermione_evans (31 分)
修改于 用户:hermione_evans
...