24小时热门版块排行榜    

查看: 1982  |  回复: 1

ponder_zsm

新虫 (初入文坛)

[求助] 如何用给定的带有参数的函数拟合已知数据? 已有1人参与

已知实验数据和函数原型如下:
data = {{8.5, 0.828}, {12.5, 0.78}, {16.5, 0.741}, {20.4, 0.714}, {23.1, 0.66}, {29.4, 0.558}, {39.4, 0.491}, {49.4, 0.454}};
model = Integrate[(1 - x/r)^2*Exp[-(Log[r/b*Sqrt[1 + (a*a)/(b*b)]])^2/(2 Log[1 + (a*a)/(b*b)])]/(r*Sqrt[2*Pi*Log[1 + (a*a)/(b*b)]]), {r,0, Infinity}];
这是在Mathematica中输入的格式,函数原型可以参见上传的附件。其中a, b是参数,x是自变量。用Findfit求a和b时,Mathematica给出的结果不对:
{a -> 160.339, b -> 186.173}
合理值应该在a=299, b=247左右,在用所给值验证时,所得到的函数值为虚数:
f[a_, b_, x_, r_] :=Integrate[(1 - x/r)^2*Exp[-(Log[r/b*Sqrt[1 + (a*a)/(b*b)]])^2/(2 Log[1 + (a*a)/(b*b)])]/(r*Sqrt[2*Pi*Log[1 + (a*a)/(b*b)]]), {r,0, Infinity}];
f[160.339, 186.173, 8.5, r]
输出为:0.851972 - 4.76418*10^-15 I
不知道哪里可以改进,求高人指点!

另外我尝试用1st opt,但是也不成功:
Constant h=10000;
Parameters a,b;
Variables x,y;
Function y=int(sqr(1-x/r)*exp(-sqr(ln(r*sqrt(1+(a*a)/(b*b))/b))/(2*ln(1+(a*a)/(b*b))))/(r*sqrt(2*Pi*ln(1+(a*a)/(b*b)))),r=0,h);
Data;
8.5 0.828
12.5 0.78
16.5 0.741
20.4 0.714
23.1 0.66
29.4 0.558
39.4 0.491
49.4 0.454
提示函数表达式错误!求指点!!

如何用给定的带有参数的函数拟合已知数据?
函数.png
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xzczd

木虫 (小有名气)

【答案】应助回帖

楼主你确定真值在{a->299, b->247}附近?

下图是{a -> 160.339, b -> 186.173}时的拟合效果图:
如何用给定的带有参数的函数拟合已知数据?-1
这拟合效果不算差。

下图是你给的参数对应的图:
如何用给定的带有参数的函数拟合已知数据?-2
囧。

然后,关于直接反代导致虚数的问题:这只是一点数值误差罢了,如你所见,虚部的值非常微小。想要避免这个问题,你可以把全体参数都改成准确值(也就是别用小数),也可以把Integrate改成NIntegrate然后再加个高一点的WorkingPrecision。
小木虫Mathematica版块已毁(当然原本也不咋的),建议大家前往百度贴吧或Stackexchange。
2楼2015-01-03 21:41:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 ponder_zsm 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] FileCode能看出啥? +7 要乐观耀哥 2026-08-10 16/800 2026-08-11 08:18 by wmfsnow
[基金申请] 基金中了 +15 laoda193707 2026-08-06 15/750 2026-08-11 00:11 by jiafei2190
[基金申请] filecode +8 documentary 2026-08-10 8/400 2026-08-10 19:20 by loufangrui
[基金申请] 综述论文作为代表作会不会影响评审专家的印象分? +10 yufeiwaner 2026-08-09 11/550 2026-08-10 18:47 by yufeiwaner
[基金申请] 关于代码变化问题,想知道的进来 +17 且听虎啸 2026-08-07 24/1200 2026-08-10 18:35 by zhangduo2008
[基金申请] 关于Filecode分析方法 +3 majunge000 2026-08-10 3/150 2026-08-10 15:46 by lch2012
[基金申请] 国自然结果 +4 Vierhys 2026-08-10 8/400 2026-08-10 15:06 by Vierhys
[基金申请] 奇怪,两个人的filecode固定段从头到尾一模一样 +4 布布和一二 2026-08-10 4/200 2026-08-10 14:50 by 医学老男孩
[基金申请] 8月时间戳变的,举个手。玩一下,释放压力 +11 archvillain 2026-08-04 13/650 2026-08-10 14:41 by seekfind
[基金申请] 据悉今年马上要出结果了 +7 瞬息宇宙 2026-08-10 8/400 2026-08-10 12:42 by Vivilian
[基金申请] 2026国自然放榜时间 +9 布布和一二 2026-08-08 9/450 2026-08-10 11:22 by xxxx2020
[基金申请] 面上项目filecode邪修 +5 西山十月 2026-08-09 7/350 2026-08-10 07:32 by 仁砚薪传
[基金申请] fileCode有新解读? +10 Tide man 2026-08-08 18/900 2026-08-09 12:55 by 仁砚薪传
[基金申请] 国基金的申报应该改成非等额制,评价高的钱多评价低的钱少,但是增加资助率 +7 a089 2026-08-07 7/350 2026-08-08 18:05 by gltch
[基金申请] 大家散了吧,后缀研究没有意义,别浪费时间了,过好目前的每一天,不要焦虑 +5 Tide man 2026-08-06 7/350 2026-08-07 13:11 by 医学老男孩
[基金申请] filecode +14 等待解的谜 2026-08-06 19/950 2026-08-07 12:20 by wlwhappy
[基金申请] filecode +8 布布和一二 2026-08-06 11/550 2026-08-06 20:41 by tangpu318
[基金申请] 求各位大神看下 100+6 hpkpkpkp 2026-08-05 33/1650 2026-08-06 14:49 by zhiyanjiang
[基金申请] 影响面上的因素 +8 布布和一二 2026-08-05 11/550 2026-08-06 10:41 by 宝贝虫子
[基金申请] 好消息?这个有何含义??? +8 Tide man 2026-08-05 10/500 2026-08-05 16:14 by xmuxiaoyu
信息提示
请填处理意见