半导体热敏电阻温度曲线的Matlab曲线拟合
[matlab曲线拟合]MATLAB的曲线拟合
![[matlab曲线拟合]MATLAB的曲线拟合](https://img.taocdn.com/s3/m/ddca46a8c67da26925c52cc58bd63186bceb9275.png)
[matlab 曲线拟合]MATLAB的曲线拟合篇一: MA TLAB的曲线拟合MA TLAB软件提供了基本的曲线拟合函数的命令。
曲线拟合就是计算出两组数据之间的一种函数关系,由此可描绘其变化曲线及估计非采集数据对应的变量信息。
1.线性拟合函数:regress调用格式:b =regress[b,bint,r,rint,stats]= regress[b,bint,r,rint,stats] =regressx=[ones …];y=x*[10;1]+normrnd;[b,bint]=regress结果得回归方程为:y=9.9213+1.0143xx=1:20;y=x+3*sin;p=polyfitxi=linspace;z=polyval;% 多项式求值函数plotlegendfunction yy=modela=beta0;b=beta0;yy=a+*exp);拟合程序:x=[8.00 8.00 10.00 10.00 10.00 10.00 12.00 12.00 12.00 14.00 14.0014.00...16.00 16.00 16.00 18.00 18.00 20.00 20.00 20.00 20.00 22.00 22.0024.00...24.00 24.00 26.00 26.00 26.00 28.00 28.00 30.00 30.00 30.00 32.0032.00...34.00 36.00 36.00 38.00 38.00 40.00 42.00]‟;y=[0.49 0.49 0.48 0.47 0.48 0.47 0.46 0.46 0.45 0.43 0.45 0.43 0.430.44 0.43...0.43 0.46 0.42 0.42 0.43 0.41 0.41 0.40 0.42 0.40 0.40 0.41 0.400.41 0.41...0.40 0.40 0.40 0.38 0.41 0.40 0.40 0.41 0.38 0.40 0.40 0.390.39]‟;beta0=[0.30 0.02];betafit = nlinfit结果:betafit =0.3896 0.1011即:a=0.3896 ,b=0.1011 拟合函数为:x1 =[1150,1000,900,850,700,625,550,475,3350,3500,5900,5800,5700,4600,4625,4725,11650,11200,11200 ]‟;x2 =[175,100,25,0,75,100,150,200,50,600,500,225,100,1225,1600,2000,1200,1000,1550 ]‟;x = [x1,x2];y=[1.44E-02,1.80E-02,6.08E-02,5.59E-02,3.42E-02,7.74E-03,1.17E-03,6.16E-03,1.91E-04,1.,resplot3)% 值的选取没有定法,与实际问题的模型有关。
Matlab中的曲线拟合方法

Matlab中的曲线拟合方法引言在科学与工程领域,数据拟合是一个重要的技术,可用于分析实验数据、预测未知的对应关系,并量化观察到的现象。
其中,曲线拟合是一种常见的数据拟合方法,而Matlab作为一种功能强大的科学计算软件,提供了多种曲线拟合工具和函数,方便用户进行数据分析和模型建立。
本文将对Matlab中的曲线拟合方法进行详细介绍和讨论。
一、线性拟合线性拟合是最简单且常见的曲线拟合方法,其基本思想是通过一条直线拟合数据点,找到最佳拟合直线的参数。
在Matlab中,可以使用polyfit函数实现线性拟合。
该函数接受两个输入参数,第一个参数为数据点的x坐标,第二个参数为数据点的y坐标。
返回结果为一个一次多项式拟合模型的参数。
例如,我们有一组实验测量数据如下:x = [1, 2, 3, 4, 5];y = [3, 5, 7, 9, 11];通过polyfit函数进行线性拟合:coeff = polyfit(x, y, 1);其中,1表示要拟合的多项式的次数,这里我们选择了一次多项式(直线)。
coeff即为拟合得到的直线的参数,可以通过polyval函数将参数代入直线方程,得到对应x的y值。
y_fit = polyval(coeff, x);接下来,我们可以使用plot函数将原始数据点和拟合曲线都绘制在同一张图上:figure;plot(x, y, 'o', 'MarkerSize', 10); % 绘制原始数据点hold on;plot(x, y_fit); % 绘制拟合曲线xlabel('x');ylabel('y');legend('原始数据点', '拟合曲线');通过观察图像,我们可以初步判断拟合的效果如何。
如果数据点较为分散,直线拟合效果可能较差。
在此情况下,可以考虑使用更高次的多项式进行拟合。
二、多项式拟合多项式拟合是一种常见的曲线拟合方法,其基本思想是通过一个一定次数的多项式函数来拟合数据点。
半导体热敏电阻温度曲线的Matlab曲线拟合

半导体热敏电阻温度曲线的Matlab 曲线拟合摘要:为了便于快速地找到适用的曲线拟合方法,以半导体热敏电阻实验中温度曲线的曲线拟合为例,全面地总结了利用Matlab 程序进行曲线拟合的基本理论和具体方法,演示了lsqcurvefit 、nlinfit 和fit 三个非线性拟合指令的具体程序格式与操作步骤。
这些Matlab 指令程序可以有效地应对实验数据处理中各种复杂的曲线拟合问题。
关键词:曲线拟合;Matlab ;非线性拟合;最小二乘法中图分类号:G642.0文献标志码:A文章编号:1674-9324(2019)37-0066-03收稿日期:2018-11-24基金项目:国家自然科学基金项目(11604183)作者简介:董庆瑞(1975-),男(汉族),副教授,博士,研究方向为低维半导体物理。
在实验数据处理过程中,经常需要选择曲线类型来拟合原始数据,并以所得曲线方程来反映变量间的函数关系[1]。
随着计算机性能的提高和数值计算方法的发展,计算机软件在实验数据曲线拟合工作中发挥了越来越大的作用。
目前利用计算机数值计算进行曲线拟合是实验数据曲线拟合工作的必然选择。
虽然计算机语言或曲线拟合软件在实验数据的曲线拟合过程中得到了广泛运用,但对其具体操作知识的系统总结却不全面。
本文以半导体热敏电阻实验中实验数据的曲线拟合为例,总结了各种Matlab 拟合指令的具体用法。
一、半导体热敏电阻实验半导体材料具有显著的热电特性,半导体热敏电阻的温度系数为负值,近似满足下式:R=R 0exp[B (1T -1T 0)](1)式中R 是温度为T 时的电阻,T 为绝对温度,B 为温度系数,R 0为温度T 0时的电阻。
半导体热电特性综合实验仪HJZ-1B 的恒定电流为20μA ,仪器电压窗口显示硅热敏电阻两端电压值,单位是mV ,仪器温度窗口显示硅热敏电阻的温度值,单位是℃。
实验仪可以通过计算机来控制,数据导出到Excel 表格,格式如图1所示。
matalab曲线拟合

matalab曲线拟合MATLAB曲线拟合是指在一定条件下,利用数学模型和算法对实验数据进行拟合,以进而得出数据特征和规律的过程。
通过MATLAB曲线拟合,可以在大量数据中筛选出潜在的相关性和规律性,更好地理解实验数据,提高研究结果的分析和预测能力,为科学研究和工业应用提供理论和实践基础。
本文将探讨MATLAB曲线拟合的相关概念、方法和应用。
一、曲线拟合的概念曲线拟合是一种数学方法,利用一定的数学模型和算法对实验数据进行拟合,以得出数据之间的相互关系和规律。
在MATLAB中,曲线拟合具有很高的灵活性和适用性,可以应用于各种不同类型的数据,如线性数据、非线性数据和多项式数据等。
一般来说,拟合函数的形式和参数值将根据数据的特征和目标而变化,以实现最优的拟合效果。
常见的曲线拟合方法包括线性回归、非线性回归、多项式拟合和曲线拟合等,具体如下:1.线性回归线性回归是最简单的曲线拟合方法之一,它试图利用直线函数来拟合数据点,以揭示数据之间的线性关系。
MATLAB中提供了静态和动态线性回归模型,可以通过最小二乘法、梯度下降法等算法来确定最优的拟合函数。
线性回归只适用于线性数据,而非线性回归则可用于拟合更复杂的数据。
MATLAB中提供了非线性函数和指数函数等多种非线性拟合方法,可以根据数据分布和需求进行选择。
3.多项式拟合多项式拟合是一种常见的曲线拟合方法,可以用于拟合多项式数据。
MATLAB中常用的多项式拟合函数包括polyfit和polyval等,它们可以帮助用户通过调整曲线阶数、曲线拟合类型等参数来实现最优的拟合效果4.曲线拟合曲线拟合是将实验数据拟合到特定类型的曲线上,以确定数据之间的关系。
MATLAB中提供了许多曲线拟合函数,如spline、pchip、csape等,它们可以帮助用户根据数据的特点选择最合适的曲线拟合方法。
曲线拟合广泛应用于各种领域,如工程、物理、生物、金融和地质等领域。
下面是一些常见的应用实例:1.金融数据分析:通过曲线拟合模型,可以预测股票价格趋势、货币汇率和股票波动等金融数据的变化。
matlab 曲线拟合

matlab 曲线拟合
Matlab曲线拟合是一项十分重要的数学运算,它可以帮助我们在解决复杂的数学问题时有效地为我们提供帮助。
它能够帮助我们对实际数据进行分析和拟合,以达到最佳的拟合效果。
首先,我们可以使用Matlab来分析数据,并从中提取有用的信息。
使用Matlab的统计功能,可以进行假设检验、相关性检验和线性回归分析等。
这些步骤可以帮助我们发现数据中有趣的特征,并为进一步操作做好准备。
接下来,我们就可以开始拟合曲线了。
Matlab有很多内置的曲线拟合函数,比如指数拟合函数、多项式拟合函数和指数多项式拟合函数等,我们可以根据自己的需求来选择最合适的拟合函数。
只要在Matlab中输入相应的坐标点,就能够计算出适合的拟合函数,这让我们的工作变得更加简单高效。
最后,在曲线拟合的分析过程中,我们可以利用Matlab的图形功能来可视化结果。
Matlab提供多种图形类型,比如散点图、折线图、柱状图和三维图等,通过这些图形可以对拟合结果进行直观地分析,以便更好地理解曲线拟合的结果。
总之,Matlab曲线拟合提供了一种强大的数学解决方案,有助于我们快速有效地拟合曲线,并获得更好的分析结果。
使用Matlab,我们可以更加轻松高效地处理数学运算,并辅助我们开展更为有效的研究。
- 1 -。
在Matlab中进行数据拟合和曲线拟合的方法

在Matlab中进行数据拟合和曲线拟合的方法在科学研究或工程应用中,数据拟合和曲线拟合是常见的计算任务之一。
Matlab作为一种强大的数值计算软件,提供了丰富的工具和函数,方便我们进行数据拟合和曲线拟合的操作。
本文将介绍在Matlab中进行数据拟合和曲线拟合的几种方法。
一、线性回归线性回归是最简单的数据拟合方法之一,常用于建立变量之间的线性关系模型。
在Matlab中,可以使用polyfit函数进行线性回归拟合。
该函数可以根据输入数据点的横纵坐标,拟合出一条直线,并返回直线的斜率和截距。
例如,以下代码演示了如何使用polyfit函数进行线性回归拟合:```matlabx = [1, 2, 3, 4, 5];y = [2, 3, 4, 5, 6];coefficients = polyfit(x, y, 1);slope = coefficients(1);intercept = coefficients(2);```在上述代码中,数组x和y分别表示数据点的横纵坐标。
polyfit函数的第三个参数1表示拟合的直线为一阶多项式。
函数返回的coefficients是一个包含斜率和截距的数组,可以通过coefficients(1)和coefficients(2)获取。
二、多项式拟合在实际应用中,线性模型并不适用于所有情况。
有时,数据点之间的关系可能更复杂,需要使用更高阶的多项式模型来拟合。
Matlab中的polyfit函数同样支持多项式拟合。
我们可以通过调整多项式的阶数来拟合不同次数的曲线。
以下代码展示了如何使用polyfit函数进行二次多项式拟合:```matlabx = [1, 2, 3, 4, 5];y = [2, 6, 10, 16, 24];coefficients = polyfit(x, y, 2);a = coefficients(1);b = coefficients(2);c = coefficients(3);```在上述代码中,polyfit的第三个参数2表示拟合的多项式为二阶。
matlab曲线拟合方法大全

(2)排除法和区间排除法 排除法是对数据中的异常值进行排除。 区间排除法是采用一定的区间去排除那些用 于系统误差导致偏离正常值的异常值。 在曲线拟合工具中单击Exclude按钮,可以 打开Exclude对话框
Exclusion rule name指定分离规则的名称 Existing exclusion rules列表产生的文件 名,当你选择一个文件名时,可以进行如下操 作: Copy 复制分离规则的文件; Rename重命名;delete 删去一个文件; View以图形的形式展示分离规则的文件。 Select data set 挑选需要操作的数据集; Exclude graphically允许你以图形的形式去 除异常值,排除个别的点用“×”标记。
0.0073
0.0193x 5 0.0110x 4 0.043x 3 0.0073x 2 0.2449x 0.2961
s=
R: [6x6 double] df: 0 normr: 2.3684e-016 mu = 0.1669 0.1499
自由度为 0 标准偏差为 2.3684e-016
(1)平滑数据 打开拟合工具箱,单击Data按钮,打开 Data对话框,选择Smooth选项卡
Smooth选项卡各选项的功能:
.Original data set 用于挑选需要拟合的 数据集; .Smoothed data set平滑数据的名称; .Method用于选择平滑数据的方法,每一个 相应数据用通过特殊的曲线平滑方法所计 算的结果来取代。平滑数据的方法包括: (ⅰ)Moving average 用移动平均值进 行替换; (ⅱ)Lowess局部加权散点图平滑数据, 采用线性最小二乘法和一阶多项式拟合得 到的数据进行替换;
如何使用MATLAB进行曲线拟合

如何使用MATLAB进行曲线拟合MATLAB是一种功能强大的数学软件,它提供了许多用于数据分析和曲线拟合的工具。
曲线拟合是一项常用的数学技术,它用于找到数据集中最符合实际情况的曲线。
在本文中,我们将探讨如何使用MATLAB进行曲线拟合,以及一些常见的曲线拟合方法。
在开始之前,让我们先了解一下曲线拟合的概念。
曲线拟合是通过将已知数据点拟合到合适的曲线上来预测未知数据点的技术。
它可以用于数据分析、模型建立、趋势预测等许多领域。
MATLAB提供了多种曲线拟合的方法,其中最常见的是最小二乘拟合。
最小二乘拟合是一种通过最小化观测数据的平方误差来确定参数的方法。
在MATLAB 中,可以使用"polyfit"函数进行最小二乘拟合。
该函数可以拟合多项式曲线和线性曲线。
例如,我们有一组数据点x和对应的y,我们想要拟合一个一次多项式曲线y= ax + b。
我们可以使用"polyfit"函数来找到最佳拟合,并返回系数a和b。
```matlabx = [1, 2, 3, 4, 5];y = [2, 3, 4, 5, 6];p = polyfit(x, y, 1);a = p(1);b = p(2);```在上面的代码中,"polyfit"函数的第一个参数是x值,第二个参数是y值,第三个参数是拟合多项式的阶数。
在这个例子中,我们使用一次多项式即阶数为1。
除了最小二乘拟合,MATLAB还提供了其他一些常用的曲线拟合方法,例如多项式拟合、指数拟合和对数拟合。
这些方法可以通过更改"polyfit"函数的第三个参数来使用。
另一个常用的曲线拟合方法是通过曲线拟合工具箱中的"fit"函数进行非线性拟合。
非线性拟合是指目标函数和参数之间是非线性关系的拟合。
与最小二乘拟合不同,非线性拟合能够拟合更复杂的曲线和模型。
例如,我们有一组数据点x和对应的y,我们想要拟合一个指数曲线y = ae^bx。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
半导体热敏电阻温度曲线的Matlab曲线拟合作者:董庆瑞来源:《教育教学论坛》2019年第37期摘要:为了便于快速地找到适用的曲线拟合方法,以半导体热敏电阻实验中温度曲线的曲线拟合为例,全面地总结了利用Matlab程序进行曲线拟合的基本理论和具体方法,演示了lsqcurvefit、nlinfit和fit三个非线性拟合指令的具体程序格式与操作步骤。
这些Matlab指令程序可以有效地应对实验数据处理中各种复杂的曲线拟合问题。
关键词:曲线拟合;Matlab;非线性拟合;最小二乘法中图分类号:G642.0; ; ;文献标志码:A; ; ;文章编号:1674-9324(2019)37-0066-03在实验数据处理过程中,经常需要选择曲线类型来拟合原始数据,并以所得曲线方程来反映变量间的函数关系[1]。
随着计算机性能的提高和数值计算方法的发展,计算机软件在实验数据曲线拟合工作中发挥了越来越大的作用。
目前利用计算机数值计算进行曲线拟合是实验数据曲线拟合工作的必然选择。
虽然计算机语言或曲线拟合软件在实验数据的曲线拟合过程中得到了广泛运用,但对其具体操作知识的系统总结却不全面。
本文以半导体热敏电阻实验中实验数据的曲线拟合为例,总结了各种Matlab拟合指令的具体用法。
一、半导体热敏电阻实验半导体材料具有显著的热电特性,半导体热敏电阻的温度系数为负值,近似满足下式:二、曲线拟合的理论方法函数近似通常采用两种方法:插值法和拟合法。
插值方法要求所求得的近似函数通过所有数据点,由于实验所给出的数据本身存在误差,因此要求插值曲线通过所有的插值点必定会使插值函数保留这个误差。
拟合方法并不要求拟合曲线必须通过所有的数据点,只要求拟合的近似函数能够反映实验数据的整体趋势,并使拟合数据整体的误差最小。
2.多项式拟合。
曲线拟合中的多项式拟合属于线性最小二乘问题,关键步骤是求解联立线性方程组,具体数学理论推导可参看相关文献[2]。
在实际物理问题中,这些方程组是无解的,但可以通过数值计算方法获得其近似解。
3.非线性拟合。
因为拟合函数是非线性的,所以无法如线性最小二乘法一样用求函数极值法来得到拟合参数,而需要在最小二乘法的基础上采用复杂的优化算法来求解,常用的算法是搜索算法和迭代算法[1]。
搜索算法是按一定的规则选择若干组参数值,计算它们的目标函数值并比较大小,选出使目标函数值最小的参数值。
不同的参数值选择规则构成不同的搜索算法。
迭代算法的原则是从参数的一個初始猜测值出发,然后产生一系列的参数点,若这个参数序列收敛到使目标函数极小的参数点,则认为参数的收敛值就是所求参数点。
4.拟合方式比较。
前面部分介绍的方法可以通过计算机语言进行编程来实现。
Matlab也内置了现成的相关指令,在使用中无需花费时间去编程,只需要按照规定的格式调用即可。
Matlab曲线拟合工具箱和Origin也集成了进行曲线拟合的软件,将数据导入软件后,可以通过操作界面对拟合过程进行设置。
程序拟合可以实现软件拟合的全部功能,相较而言软件拟合的功能有所限制。
在需要进行多次重复拟合的场合,软件拟合要求对操作界面进行多次重复操作,而程序拟合却可避免这种重复操作,从而提高效率。
除了处理单纯的曲线拟合工作外,拟合程序还可以嵌入复杂的数据处理程序中去发挥作用。
三、用Matlab指令进行曲线拟合常用的Matlab曲线拟合指令有多项式拟合指令polyfit、非线性拟合指令nlinfit、非线性拟合指令lsqcurvefit、曲线拟合指令fit。
下面以半导体热敏电阻温度曲线的拟合过程为例来说明这些指令的用法。
半导体热敏电阻温度曲线是一个指数函数,属于非线性拟合问题,但可以经过数学推导化简成线性拟合问题,并利用多项式拟合指令polyfit处理。
本文的目的是介绍实验数据曲线拟合的普遍方法,所以仍将其按非线性拟合问题来处理,下面具体给出lsqcurvefit、nlinfit和fit三个指令的拟合过程。
1.外部数据的输入。
首先需要读取实验仪器生成的Excel数据文件并保存到Matlab的变量中,具体程序如下:t=xlsread('data.xls',1,'A2:A62');V=xlsread('data.xls',1,'B2:B62');T=t+273.16;; %调整温度单位。
R=V*e-3/(20*e-6);; ;%由电压计算电阻。
2.指令lsqcurvefit拟合。
指令lsqcurvefit属于Matlab的优化工具箱,利用最小二乘法,从初始猜测值开始求参数,将原始数据点拟合到非线性函数,具体格式为:x=lsqcurvefit(fun,x0,xdata,ydata),其中:xdata、ydata是原始数据点;fun(x,xdata)是拟合函数,也就是公式(1);x是拟合函数系数;x0是系数初始猜测值,其初始设置可能会影响结果。
如拟合结果不理想,可以改变初始值x0后再重新拟合。
具体Matlab程序如下:x0=[2600,1000];fun=@(x,T)x(1)*exp(x(2)*(1./T-1/300));x=lsqcurvefit(fun,x0,T,R);R0=x(1);B=x(2);disp(['R=',num2str(R0),'*exp(',num2str(B),…'*(1./T-1/T0))']);计算结果如下:R=2230.4327*exp(3407.2165*(1/T-1/T0))拟合曲线和原始数据的对比如图2所示,结果显示拟合曲线与原始数据完全一致。
如果对拟合效果要求较高,可以通过Matlab帮助系统,查阅表征拟合效果的具体参数。
3.指令nlinfit拟合。
指令nlinfit属于Matlab的统计和机器学习工具箱,采用迭代最小二乘法估算拟合系数。
函数nlinfit是非线性拟合的通用函数,适用面比函数lsqcurvefit更广,例如可以做加权最小二乘拟合。
具体格式如下:x=nlinfit(xdata,ydata,fun,x0)与指令lsqcurvefit类似,不同的x0可能会得到不同的结果。
具体Matlab程序如下:x0=[2000,100];fun=@(x,T)x(1)*exp(x(2)*(1./T-1/300));x=nlinfit(T,R,fun,x0);R0=x(1);B=x(2);disp(['R=',num2str(R0),'*exp(',num2str(B),…'*(1/T-1/T0))']);计算结果如下:R=2230.4327*exp(3407.2165*(1/T-1/T0))这与指令lsqcurvefit的拟合结果完全一致。
初始值x0设为[2000,100],初始值的改变没有影响拟合结果。
4.指令fit拟合。
指令fit屬于Matlab的曲线拟合工具箱,其功能与曲线拟合工具箱软件cftool类似。
具体格式如下:fitobject=fit(xdata,ydata,afitType)aFittype=fittype(expression,Name,Value)其中参数具体含义可查看Matlab帮助系统。
与指令lsqcurvefit和nlinfit不同,指令fit不必设置拟合系数初始值。
具体Matlab程序如下:X=fittype('R0*exp(B*(1/T-1/300))',…'independent','T','coefficients',{'R0','B'});Y=fit(T,R,X);disp(['R=',num2str(Y.R0),…'*exp(',num2str(Y.B),'*(1/T-1/T0))']);计算结果如下:R=2230.4328*exp(3407.2159*(1/T-1/T0))拟合结果与前面两个指令的拟合结果几乎一致。
四、结论采用计算机数值计算方法,可以进行高精度、高效率的实验数据曲线拟合工作。
本文以半导体热敏电阻实验的曲线拟合过程为例,全面总结了利用Matlab程序进行数据曲线拟合的基本理论和具体方法。
具体介绍三个Matlab指令的使用方法和程序格式。
应用Matlab程序进行曲线拟合,不但可以将数据拟合成各种函数,而且便于将其代码集成到复杂的实验数据处理程序中去,从而有助于完成高效、精确的实验数据处理工作。
参考文献:[1]刘金远,段萍,鄂鹏.计算物理学[M].科学出版社,2012.[2]彭芳麟.计算物理基础[M].北京:高等教育出版社,2010.Curve Fitting of Temperature Curve of Semiconductor Thermistor Based on MatlabDONG Qing-rui(School of Physics and Electronics,Shandong Normal University,Ji'nan,Shandong 250014,China)Abstract:To find an appropriate curve-fitting method quickly,taking the curve fitting of the temperature curve of a semiconductor thermistor as an example,the basic theory and method of curve fitting using Matlab programs are summarized comprehensively.The program format and operation steps of three non-linear fitting instructions,lsqcurvefit,nlinfit and fit,are demonstrated.These MATLAB instruction programs can effectively deal with various complex curve fitting problems in experimental data processing.Key words:curve fitting;Matlab;nonlinear fitting;least-square method。