Mathematica > 数据处理 > 数值数据 > 曲线拟合和近似函数 > FindFit >
Mathematica > 数据处理 > 统计数据分析 > 曲线拟合和近似函数 > FindFit >
Mathematica > 数学和算法 > 统计数据分析 > 曲线拟合和近似函数 > FindFit >

FindFit

FindFit
求出参数 pars 的数值,使 expr 作为关于 vars 的函数给出对 data 最佳拟合. 数据可以具有 形式,其中坐标 xy、... 的数目为列表 vars 中的变量数目. 数据同样可以是 的形式,假定其单个坐标值是 、....
FindFit
在带参量的约束条件 cons 下,求最佳拟合.
  • FindFit 返回一个替换 、...的列表.
  • parsvars 都为数值时,则表达式 expr 必定产生一个数值.
  • 表达式 expr 可以线性或非线性地依赖于 .
  • 在线性情况下,FindFit 求出全局最优拟合.
  • 在非线性情况下,FindFit 通常求出局部最优拟合.
  • FindFit 开始搜索一个具有 的拟合.
  • 在默认的情况下,FindFit 求出一个最小平方拟合.
  • 约束条件 cons 可以包含方程、不等式或它们的逻辑组合.
  • 可以给出以下选项:
AccuracyGoalAutomatic搜索的精确度
EvaluationMonitorNone当计算 expr 值时,运行的表达式
GradientAutomaticexpr 的梯度分量列表
MaxIterationsAutomatic使用的最大迭代次数
MethodAutomatic所使用的方法
NormFunctionNorm最小化的范式
PrecisionGoalAutomatic搜索的精度
StepMonitorNone计算表达式时的步长
WorkingPrecisionAutomatic内部计算采用的精度
求出素数列表的非线性拟合:
求出参数 的最佳拟合:
计算拟合函数值:
求出素数列表的非线性拟合:
In[1]:=
Click for copyable input
Out[1]=
求出参数 的最佳拟合:
In[2]:=
Click for copyable input
Out[2]=
计算拟合函数值:
In[3]:=
Click for copyable input
Out[3]=
对指数衰变模型进行数据拟合:
所得的模型函数:
利用模型显示数据:
从响应中分离时间:
根据余差判断模型是否较好拟合:
对于指数衰变模型的数据,采用基本对数的线性拟合:
指数模型的对数是一个数据指数的线性模型:
指数模型由对数的模型的取幂形成:
在微分方程中,指数拟合作为参数:
模型函数是微分方程的解:
使用缓存速度更快:
求出在约束条件下的拟合:
拟合模型的正面高度和频率在 1 和 2 之间:
比较数据的拟合模型:
余差显示出一个模式,表明频率约束太严格:
给参数一些初值,以获得更好的拟合:
搜索所有以 1 开始的参数:
搜索参数 c 更好的起始值:
比较两个拟合的效果:
在二维空间中,对数据进行曲面拟合:
从一个近似的峰值位置开始,求出拟合:
显示数据的拟合曲面:
在四维空间中,对数据进行模型拟合:
余差与添加到数据上的随机性,在尺度上是可比较的:
统计带有数值参数的模型的计算次数:
指定模型的梯度,避免奇点移动引起的问题:
Sinc 的导数作为一个普通公式给出时,符号导数 FindFit 运行错误:
,数据有一个点,则当 ,梯度有一个奇点:
指定一个有限的差值,避免奇点的移动:
显示拟合数据:
当收敛较慢,增加 MaxIterations 可能收敛于最佳拟合:
默认情况下,收敛不能达到:
采用 1000 次迭代时,达到收敛:
Method->NMinimize 彻底搜索全局极小值:
求出一个局部极小值:
搜索一个全局极小值:
比较两个拟合的效果(全局的最佳拟合用红色显示):
默认是求最佳的最小平方拟合:
范式替代:
显示参数空间的步长来对实验数据进行 Michaelis-Menten模型拟合:
一个生化酶反映速率的实验数据:
显示实验中参数的发展变化:
采用较高的 WorkingPrecision 可以获得更高精度的参数估计:
对一列斐波那契数进行拟合:
指数近似黄金比例:
产生带有噪音的数据:
拟合数据:
确定计算的近似复杂度:
对一个 FFT 的复杂度进行理论模型拟合:
显示时间数据,以及在一个对数-对数图线中的拟合:
拟合一个模型实验数据的润滑粘度:
润滑粘度的模型可以作为一个关于温度 和压力/ 的函数:
设置压力刻度,提高模型的条件:
求出刻度数据的最佳拟合参数
显示带刻度的实验数据的拟合图线:
n 正戊烷与异戊烷的异构率的实验数据进行模型模拟:
该比值的非线性模型函数,自变量为氢 n 正戊烷 及异戊烷
求出以适当大小开始的满足最佳拟合的参数
求给出最佳拟合的一个微分方程模型的参数:
定义一个模型,使得在所有 值下参数 的解重复使用:
求出拟合,其公差与 ODE 解的精度相符:
显示拟合模型的数据和余差:
求出一个 KdV 方程的非孤子初始条件分解成两个孤子:
波分解成两个独立的波:
NDSolve 求解 PDE,获得空间网格:
最后的离散解:
具有不同速度的两个孤子的模型:
根据图形的离散解,求出拟合的初始条件估计:
绘制在中间时刻的两个孤子模型和余差:
FindFit 给出参数估计:
NonlinearModelFit 允许提取拟合的其他信息:
提取参数估计:
提取其他结果和判断:
对于线性模型,Fit 等于 FindFit,并使用 LeastSquares
Fit,设置基为
这等价于 FindFit,其模型函数的基是一个线性组合:
建立一个设计矩阵,用 LeastSquares 求出系数:
LinearModelFit 拟合线性模型,并提供额外的拟合结果:
FindFit 实际上使用 FindMinimum 最小化余差函数的范式:
余差是响应和模型预计之间的差异:
默认情况下,FindFit 给出符合正态分布的结果:
LogitModelFit 假定二项式分布:
拟合是不相同的:
这同样适用于 ProbitModelFit
GeneralizedLinearModelFit 允许二项式和其他分布结构:
伽马-分布模型:
与正态分布的结果相比:
好的初始值对获得一个合适的拟合很必要:
求出初始值为 1 的拟合,其局部极小值与正确值差异很大:
通常情况下,较好的初始值对于获得较好的拟合是必要的:
版本 5 的新功能 | 版本 6 修改功能
Ask a question about this page  |  Suggest an improvement  |  Leave a message for the team
格式:   HTML  |  CDF