Wolfram mathematica Mathematica对指数拟合不好

Wolfram mathematica Mathematica对指数拟合不好,wolfram-mathematica,curve-fitting,nonlinear-functions,Wolfram Mathematica,Curve Fitting,Nonlinear Functions,我试着用mathematica的非线性模型。。 数据应包括以下内容: Exp[-ax]Sin[bx]……但我无法获得正确的拟合曲线(参数) 下面列出了原始程序 data = {{0, 0.8156862745098039`}, {5/21, 0.5163398692810458`}, {10/21, 0.20784313725490197`}, {5/7, 0.052941176470588235`}, {20/21, 0.0363921568627451`}, {25/21, 0.1177

我试着用mathematica的非线性模型。。 数据应包括以下内容:

Exp[-ax]Sin[bx]……但我无法获得正确的拟合曲线(参数)

下面列出了原始程序

data = {{0, 0.8156862745098039`}, {5/21, 0.5163398692810458`}, {10/21,
 0.20784313725490197`}, {5/7, 0.052941176470588235`}, {20/21, 
0.0363921568627451`}, {25/21, 0.11776589423648247`}, {10/7, 
0.18943355119825708`}, {5/3, 0.1329847494553377`}, {40/21, 
0.04635294117647058`}, {15/7, 0.022294843863471313`}, {50/21, 
0.05026737967914438`}, {55/21, 0.08732806555458003`}, {20/7, 
0.08406234288587229`}, {65/21, 0.04240196078431373`}, {10/3, 
0.010288350634371396`}, {25/7, 0.005962384953981593`}, {80/21, 
0.0145602795573675`}, {85/21, 0.023162910023822612`}, {30/7, 
0.019077901430842606`}, {95/21, 0.007103825136612022`}, {100/21, 
0.002007843137254902`}, {5, 0.0046875`}, {110/21, 
0.009488550665021253`}, {115/21, 0.011350455675227838`}, {40/7, 
0.007381776239907728`}, {125/21, 0.0025227925565130507`}, {130/21,
 0.001340282948622487`}, {45/7, 0.002856171370282217`}, {20/3, 
0.004392156862745098`}, {145/21, 0.003963510537905002`}, {50/7, 
0.0024745727167872498`}, {155/21, 0.0011558307533539732`}, {160/
21, 0.0014921090387374463`}, {55/7, 0.0025759323337178008`}, {170/
21, 0.0030401151286202554`}, {25/3, 0.0023312550826782323`}, {60/
7, 0.0012677484787018255`}, {185/21, 
0.0015068990559186637`}, {190/21, 0.002007693029364856`}, {65/7, 
0.0024161323297091346`}, {200/21, 0.0024937154348919056`}, {205/
21, 0.0016575702445926822`}, {10, 0.0015728216420257944`}, {215/
21, 0.0020161737011188657`}, {220/21, 0.002557544757033248`}, {75/
7, 0.0030375155842683895`}, {230/21, 
0.0031632542519770337`}, {235/21, 0.002895576835385317`}, {80/7, 
0.0033217993079584776`}, {35/3, 0.0034982174688057044`}, {250/21, 
0.004`}, {85/7, 0.003390830016217013`}, {260/21, 
0.003701667582921019`}, {265/21, 0.004117647058823529`}, {90/7, 
0.004841442749939482`}, {275/21, 0.0046199301638463605`}, {40/3, 
0.004551820728291316`}, {95/7, 0.004470588235294118`}, {290/21, 
0.005930176948828312`}, {295/21, 0.005186590765338393`}, {100/7, 
0.004108309990662932`}, {305/21, 0.0024132730015082957`}, {310/21,
 0.0028011204481792717`}, {15, 0.`}};
ListLinePlot[data, PlotRange -> All]

然后我就自己试穿了

fit = NonlinearModelFit[data,0.8 Exp[-t*r] Sin[4.5 (r + b)] + d, {t, b, d}, r];
无论如何,结果总是不太吻合。。 详情如下:

我相信模型应该得出如下结论:

Exp[-ax]Sin[kx]
我应该修改模型还是什么?如何获得更好的拟合曲线


欢迎提供任何建议或帮助。

这可以通过Anton Antonov的软件包轻松完成(到
M
-文件):


用适当的语言标记这个问题。我看到了它,检查了标签,然后想:“好吧……你一开始都在用什么?”另外,第二个想法是,这一点在当时似乎更合适。迁移。最后,继续回答您自己的问题。如果你想明白了什么,不要放弃你自己的问题。告诉别人你发现了,你是怎么做到的!回答你自己的问题是件好事,尤其是如果答案正确的话。如果有人提问或发表评论,你应该回答。否则,你的问题就会消失,所有那些寻求与你相同知识的人(记住,像这样的网站不仅仅是关于你得到答案,还有其他人)也会同样不知所措。这似乎与其说是一个编程问题,不如说是一个寻找正确拟合函数的问题。你有什么物理理由认为它应该适合那种形式吗?(在我看来更像是
Exp[-r](a+b Sin[c r])
)密切相关的Wolfram社区线程:“”。
Needs["QuantileRegression`"]

qfunc = QuantileRegression[data, data[[;; , 1]], {0.5}, 
     InterpolationOrder -> 2][[1]]; // Quiet

Plot[qfunc[x], {x, Min[data[[All, 1]]], Max[data[[All, 1]]]}, 
 Frame -> True, PlotStyle -> Red, Prolog -> Point[data], 
 PlotLabel -> "Comparison of the model with original data", 
 Exclusions -> None, PlotRange -> All]
ListPlot[data[[;; , 2]] - qfunc /@ data[[;; , 1]], PlotRange -> All, 
 Filling -> Axis, 
 PlotLabel -> "Differences between the original data and the model"]