将早期版本的Mathematica中的一行代码移植到版本8

时间:2011-03-18 01:05:37

标签: wolfram-mathematica

我有一个来自Mathematica版本6或7的旧代码,我需要移植到Mathematica 8.

我没有6或7的工作版本,所以我无法运行原始代码进行并排测试,看看我是否得到相同的结果。我认为这里的某人可能只是通过查看代码而知道。

早期版本:

Regress[data, x, x, RegressionReport -> {FitResiduals}][[1]][[2]]

我在版本8中尝试了以下内容:

LinearModelFit[data, x, x]["FitResiduals"]

我无法判断新代码是否会为我提供早期版本输出的输出和/或格式。

任何帮助表示感谢。

感谢所有人提供这么好的资源!

学家

2 个答案:

答案 0 :(得分:4)

是的,版本6中此代码的输出:

FitResiduals /.  Regress[data, x, x, RegressionReport -> {FitResiduals}]

...确实等同于版本8中的代码:

LinearModelFit[data, x, x]["FitResiduals"]

...对于我试过的随机实数组。两个结果之间的差异实际上为零:

In[26]:= fromV6 == fromV8

Out[26]= True

In[27]:= fromV6 - fromV8

Out[27]= {0., 1.11022*10^-16, 0., 0., 1.11022*10^-16}

Regress返回规则列表,[[1]][[2]]业务提取第一条规则的RHS。我上面使用的方法(FitResiduals /. Regress[...])是更好的方法。

HTH!

答案 1 :(得分:2)

根据旧统计模块的upgrade tutorialRegress最后一次出现在版本6中。基于“FitResiduals”不在底部的重命名属性列表中的事实页面,我会说你的新版本的输出应该非常接近旧版本。

如果你想让某人为你测试,我建议建立一个小的工作数据集并发布新代码的输出 - 然后有人可能会发布v5或v6的输出。旧模块的文档是here

HTH