我在Mathematica上搜索表曲线功能。
我非常喜欢tablecurve 2d和3d的功能。当寻找一个不需要对给定数据集进行任何“物理”证明的函数时,拥有数千个预定义函数和一个只需几秒钟(字面意思)的调整函数非常方便。
http://www.sigmaplot.com/products/tablecurve2d/tablecurve2d.php (有试用,如果你想尝试的话)
有人曾经听说过任何在Mathematica上做同样事情的企图吗?如果我没有弄错的话,M8有很多功能可以使这种程序方法很容易建立(我认为我不是这方面的专家)。一旦设置了基本功能,就可以在列表中添加更多功能,然后由主程序包启动,管理,排序等数据集到该列表上所有功能的调整。
有人能帮助我吗? 指向已存在的包,或 提供一个小代码来启动对一组函数的调整,或者 等等 谢谢, P Fonseca
答案 0 :(得分:3)
基本配方可能是以下几行:
ClearAll[a, b, c, data]
data = {{0, 1}, {1, 0}, {3, 2}, {5, 4}, {6, 4}, {7, 5}};
functions =
{
{Log[a + b x^2], {a, b}},
{Sin[a x], {a}},
{1 + a x + b x^2 + c x^3, {a, b, c}}
};
Sort[
Table[
nlm = NonlinearModelFit[data, functions[[i, 1]], functions[[i, 2]],x];
{nlm["AdjustedRSquared"], nlm["BestFit"]},
{i, Length[functions]}
], #1[[1]] > #2[[1]] &
]
==> {{0.974277, 1 - 0.996311 x + 0.541669 x^2 - 0.0461196 x^3},
{0.93636, Log[1.50632 + 1.42633 x^2]}, {-0.0304978, Sin[1.23596 x]}}