搜索TableCurve,如预先构建的函数和工具列表,添加到Mathematica

时间:2011-05-24 21:01:28

标签: wolfram-mathematica

我在Mathematica上搜索表曲线功能。

我非常喜欢tablecurve 2d和3d的功能。当寻找一个不需要对给定数据集进行任何“物理”证明的函数时,拥有数千个预定义函数和一个只需几秒钟(字面意思)的调整函数非常方便。

http://www.sigmaplot.com/products/tablecurve2d/tablecurve2d.php (有试用,如果你想尝试的话)

有人曾经听说过任何在Mathematica上做同样事情的企图吗?如果我没有弄错的话,M8有很多功能可以使这种程序方法很容易建立(我认为我不是这方面的专家)。一旦设置了基本功能,就可以在列表中添加更多功能,然后由主程序包启动,管理,排序等数据集到该列表上所有功能的调整。

有人能帮助我吗?     指向已存在的包,或     提供一个小代码来启动对一组函数的调整,或者     等等 谢谢, P Fonseca

1 个答案:

答案 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]}}