matlab 曲线拟合,matlab如何进行曲线拟合?
本文目录索引
- 1,matlab如何进行曲线拟合?
- 2,【MATLAB】如何用最小二乘法拟合直线?
- 3,用MATLAB怎么将数据拟合成直线?
- 4,matlab 里拟合函数 几种对比。
- 5,MATLAB曲线拟合
- 6,matlab曲线拟合怎么写
- 7,matlab怎么画拟合曲线啊,急!!
- 8,matlab中如何进行曲线拟合
- 9,用MATLAB怎么实现曲线拟合?
- 10,如何利用MATLAB对数据进行曲线拟合
1,matlab如何进行曲线拟合?
您好,这样的:一、 单一变量的曲线逼近
Matlab有一个功能强大的曲线拟合工具箱 cftool ,使用方便,能实现多种类型的线性、非线
性曲线拟合。下面结合我使用的 Matlab R2007b 来简单介绍如何使用这个工具箱。
假设我们要拟合的函数形式是 y=A*x*x + B*x, 且A>0,B>0 。
1、在命令行输入数据:
》x=[110.3323 148.7328 178.064 202.8258033 224.7105 244.5711 262.908 280.0447
296.204 311.5475]
》y=[5 10 15 20 25 30 35 40 45 50]
2、启动曲线拟合工具箱
》cftool
3、进入曲线拟合工具箱界面“Curve Fitting tool”
(1)点击“Data”按钮,弹出“Data”窗口;
(2)利用X data和Y data的下拉菜单读入数据x,y,可修改数据集名“Data set name”,然
后点击“Create data set”按钮,退出“Data”窗口,返回工具箱界面,这时会自动画出数
据集的曲线图;
(3)点击“Fitting”按钮,弹出“Fitting”窗口;
(4)点击“New fit”按钮,可修改拟合项目名称“Fit name”,通过“Data set”下拉菜单
选择数据集,然后通过下拉菜单“Type of fit”选择拟合曲线的类型,工具箱提供的拟合类
型有:
Custom Equations:用户自定义的函数类型
Exponential:指数逼近,有2种类型, a*exp(b*x) 、 a*exp(b*x) + c*exp(d*x)
Fourier:傅立叶逼近,有7种类型,基础型是 a0 + a1*cos(x*w) + b1*sin(x*w)
Gaussian:高斯逼近,有8种类型,基础型是 a1*exp(-((x-b1)/c1)^2)
Interpolant:插值逼近,有4种类型,linear、nearest neighbor、cubic spline、shape-
preserving
Polynomial:多形式逼近,有9种类型,linear ~、quadratic ~、cubic ~、4-9th degree ~
Power:幂逼近,有2种类型,a*x^b 、a*x^b + c
Rational:有理数逼近,分子、分母共有的类型是linear ~、quadratic ~、cubic ~、4-5th
degree ~;此外,分子还包括constant型
Smoothing Spline:平滑逼近(翻译的不大恰当,不好意思)
Sum of Sin Functions:正弦曲线逼近,有8种类型,基础型是 a1*sin(b1*x + c1)
Weibull:只有一种,a*b*x^(b-1)*exp(-a*x^b)
选择好所需的拟合曲线类型及其子类型,并进行相关设置:
——如果是非自定义的类型,根据实际需要点击“Fit options”按钮,设置拟合算法、修改
待估计参数的上下限等参数;
——如果选Custom Equations,点击“New”按钮,弹出自定义函数等式窗口,有“Linear
Equations线性等式”和“General Equations构造等式”两种标签。
在本例中选Custom Equations,点击“New”按钮,选择“General Equations”标签,输入函
数类型y=a*x*x + b*x,设置参数a、b的上下限,然后点击OK。
2,【MATLAB】如何用最小二乘法拟合直线?
x=[1 2 3 4 5 6];
y=[2.1 3.9 6.1 8.2 10.3 12];
nh1=polyfit(x,y,2);%这里是二次拟合,你也可以先画出大概图形 估计它是几次曲线然后再判断是1 2 还是3.。。等。
m=1:.5:6;%m是根据散点x来定的。
nh2=polyval(nh1,m);
plot(x,y,'+',m,nh2)
这是拟合图形
用最小二乘法求值就是用最小二乘法所导出的正规方程组的矩阵形式来求。
根据题意求一次拟合系数如下:
for i=1:6
for j=1:2
A(i,j)=i.^(j-1)
end
end
K=A'*A;
Final=K'*A'*y'
求出的第一个数为b,第二个是k
程序没运行过 大概思想是这样的
3,用MATLAB怎么将数据拟合成直线?
matlab 自带有cftool toolbox。在command window里面输入 cftool,回车就能打开工具箱了。如下图: 可以看到左边有x data, y data, z data; 如果是二维拟合,那么只需要x,y, 三维拟合就需要增加z data。 点击中间的interpolant,下拉是拟合的方式选择: 种类非常之多,选择完之后,就可以看到拟合的公式,均方根误差,拟合出来的图。不同的拟合方式性能不一样,自己可以根据自己的需要选择。引导到这里,剩下的自己尝试下就能出结果了。举例:
4,matlab 里拟合函数 几种对比。
不管是什么程序(matlab或是excel),你必须得告许程序目标拟合公式的形式。这里的形式,是指你的公式是多项式型、对数型、三角形或其它的形式,但是这个公式里面有待定的系数,而这个系数就是通过拟合得到的。
还有就是数据拟合,一般采用最小二乘的方法,这种方法并不是所有形式的公式都可以拟合。如果你的公式比较复杂,比如上说是一个积分形式,并且这个积分还不能显示的积出来,需要数值积分才可以积出来的话,用最小二乘法就不行了,这时,matlab是没有现成的函数来进行拟合的,这时就需要自己编程序来实现,比如可以运用“黄金分割法”、“Powell优化”等方法来实现。
但,如你所提的问题,多项式是可以拟合的,多项式拟合也是最基本的数据拟合。可是呢,你又不知这个多项式是多少次的,这时候就需要根据你对已有数据观察加以判断了。你可以先假定是N次的,然后根据拟合的效果看是否需要更改。数据拟合并没有标准答案,只要你拟合出来的曲线和已有的数据符得相对比较好就行了。
最后,希望我的回答可以帮助你。也希望你能采纳我的回答。
5,MATLAB曲线拟合
㏒yi= α + βFi+ a㏒Ci+b㏒Ei+c㏒Gi+d㏒Oi+ εi,
想要拟合这个曲线,求出α这些变量的值
已知的值是YI = [107055,121584,129938,137793,143638,150678,155491]
FI = [259.66,259.66,259.66,259.66,259.66,259.66,259.66]
EI = [0.5852,0.5878,0.6,0.6006,0.5947,0.5699,0.6015]
CI = [2.9273,3.4404,3.738,4.004,4.0614,4.0831,4.2976]
GI = [0.04158,0.08989,0.08596,0.09545,0.09911,0.10166,0.10693]
OI = [0.02697,0.02372,0.02319,0.02227,0.02263,0.02079,0.02007]
6,matlab曲线拟合怎么写
x=[26.3 33.5 39.1 43.1 47.0 50.0 54.5 56.8 64.9 72.0 77.0];
y=[8.85 8.17 7.49 7.16 6.81 6.58 6.21 5.91 5.48 5.11 5.98];
%多项式拟合
n=1;
A=polyfit(x,y,n); %n是给定的多项式的次数,拟合出来的结果A是系数向量
y1=polyval(A,x); %计算出拟合的y值
plot(x,y,'k*',x,y1,'r-'); %画出数据对比图,黑点是原始数据,红线是拟合曲线
%指定函数拟合
f=fittype('a*e^(b*x)+c'); %引号里的是你的函数模型,默认是以x为自变量,其余为待定参数
fity=fit(x,y,f) %曲线拟合,会给出拟合结果
%再根据给出的结果计算出新的y值,画图神马的
7,matlab怎么画拟合曲线啊,急!!
在输入栏分别输入x=[...............],y=[.........................]
matlab的开始菜单start->toolboxes->cirve fitting->cirve fitting tool,
然后点data选择x和y数据,对应你自己的数据就行了,
然后点cirve fitting tool界面的fitting按钮,里面好几个可以拟合的函数。可以自动生成曲线,得到系数,分析误差。有问题可以继续追问
8,matlab中如何进行曲线拟合
您好,这样的:一、 单一变量的曲线逼近
Matlab有一个功能强大的曲线拟合工具箱 cftool ,使用方便,能实现多种类型的线性、非线
性曲线拟合。下面结合我使用的 Matlab R2007b 来简单介绍如何使用这个工具箱。
假设我们要拟合的函数形式是 y=A*x*x + B*x, 且A>0,B>0 。
1、在命令行输入数据:
》x=[110.3323 148.7328 178.064 202.8258033 224.7105 244.5711 262.908 280.0447
296.204 311.5475]
》y=[5 10 15 20 25 30 35 40 45 50]
2、启动曲线拟合工具箱
》cftool
3、进入曲线拟合工具箱界面“Curve Fitting tool”
(1)点击“Data”按钮,弹出“Data”窗口;
(2)利用X data和Y data的下拉菜单读入数据x,y,可修改数据集名“Data set name”,然
后点击“Create data set”按钮,退出“Data”窗口,返回工具箱界面,这时会自动画出数
据集的曲线图;
(3)点击“Fitting”按钮,弹出“Fitting”窗口;
(4)点击“New fit”按钮,可修改拟合项目名称“Fit name”,通过“Data set”下拉菜单
选择数据集,然后通过下拉菜单“Type of fit”选择拟合曲线的类型,工具箱提供的拟合类
型有:
Custom Equations:用户自定义的函数类型
Exponential:指数逼近,有2种类型, a*exp(b*x) 、 a*exp(b*x) + c*exp(d*x)
Fourier:傅立叶逼近,有7种类型,基础型是 a0 + a1*cos(x*w) + b1*sin(x*w)
Gaussian:高斯逼近,有8种类型,基础型是 a1*exp(-((x-b1)/c1)^2)
Interpolant:插值逼近,有4种类型,linear、nearest neighbor、cubic spline、shape-
preserving
Polynomial:多形式逼近,有9种类型,linear ~、quadratic ~、cubic ~、4-9th degree ~
Power:幂逼近,有2种类型,a*x^b 、a*x^b + c
Rational:有理数逼近,分子、分母共有的类型是linear ~、quadratic ~、cubic ~、4-5th
degree ~;此外,分子还包括constant型
Smoothing Spline:平滑逼近(翻译的不大恰当,不好意思)
Sum of Sin Functions:正弦曲线逼近,有8种类型,基础型是 a1*sin(b1*x + c1)
Weibull:只有一种,a*b*x^(b-1)*exp(-a*x^b)
选择好所需的拟合曲线类型及其子类型,并进行相关设置:
——如果是非自定义的类型,根据实际需要点击“Fit options”按钮,设置拟合算法、修改
待估计参数的上下限等参数;
——如果选Custom Equations,点击“New”按钮,弹出自定义函数等式窗口,有“Linear
Equations线性等式”和“General Equations构造等式”两种标签。
在本例中选Custom Equations,点击“New”按钮,选择“General Equations”标签,输入函
数类型y=a*x*x + b*x,设置参数a、b的上下限,然后点击OK。
9,用MATLAB怎么实现曲线拟合?
MATLAB软件提供了基本的曲线拟合函数的命令. 1 多项式函数拟合:a=polyfit(xdata,ydata,n) 其中n表示多项式的最高阶数,xdata,ydata为将要拟合的数据,它是用数组的方式输入.输出参数a为拟合多项式 的系数 多项式在x处的值y可用下面程序计算. y=polyval(a,x) 2 一般的曲线拟合:p=curvefit(‘Fun’,p0,xdata,ydata) 其中Fun表示函数Fun(p,data)的M函数文件,p0表示函数的初值.curvefit()命令的求解问题形式是 若要求解点x处的函数值可用程序f=Fun(p,x)计算. 例如已知函数形式 ,并且已知数据点 要确定四个未知参数a,b,c,d. 使用curvefit命令,数据输入 ;初值输 ;并且建立函数 的M文件(Fun.m).若定义 ,则输出 又如引例的求解,MATLAB程序: t=[l:16]; %数据输人 y=[ 4 6.4 8 8.4 9.28 9.5 9.7 9.86 10.2 10.32 10.42 10.5 10.55 10.58 10.6] ; plot(t,y,’o’) %画散点图 p=polyfit(t,y,2) (二次多项式拟合)计算结果:p=-0.0445 1.0711 4.3252 %二次多项式的系数 由此得到某化合物的浓度y与时间t的拟合函数。
10,如何利用MATLAB对数据进行曲线拟合
您好,这样的:一、 单一变量的曲线逼近
Matlab有一个功能强大的曲线拟合工具箱 cftool ,使用方便,能实现多种类型的线性、非线
性曲线拟合。下面结合我使用的 Matlab R2007b 来简单介绍如何使用这个工具箱。
假设我们要拟合的函数形式是 y=A*x*x + B*x, 且A>0,B>0 。
1、在命令行输入数据:
》x=[110.3323 148.7328 178.064 202.8258033 224.7105 244.5711 262.908 280.0447
296.204 311.5475]
》y=[5 10 15 20 25 30 35 40 45 50]
2、启动曲线拟合工具箱
》cftool
3、进入曲线拟合工具箱界面“Curve Fitting tool”
(1)点击“Data”按钮,弹出“Data”窗口;
(2)利用X data和Y data的下拉菜单读入数据x,y,可修改数据集名“Data set name”,然
后点击“Create data set”按钮,退出“Data”窗口,返回工具箱界面,这时会自动画出数
据集的曲线图;
(3)点击“Fitting”按钮,弹出“Fitting”窗口;
(4)点击“New fit”按钮,可修改拟合项目名称“Fit name”,通过“Data set”下拉菜单
选择数据集,然后通过下拉菜单“Type of fit”选择拟合曲线的类型,工具箱提供的拟合类
型有:
Custom Equations:用户自定义的函数类型
Exponential:指数逼近,有2种类型, a*exp(b*x) 、 a*exp(b*x) + c*exp(d*x)
Fourier:傅立叶逼近,有7种类型,基础型是 a0 + a1*cos(x*w) + b1*sin(x*w)
Gaussian:高斯逼近,有8种类型,基础型是 a1*exp(-((x-b1)/c1)^2)
Interpolant:插值逼近,有4种类型,linear、nearest neighbor、cubic spline、shape-
preserving
Polynomial:多形式逼近,有9种类型,linear ~、quadratic ~、cubic ~、4-9th degree ~
Power:幂逼近,有2种类型,a*x^b 、a*x^b + c
Rational:有理数逼近,分子、分母共有的类型是linear ~、quadratic ~、cubic ~、4-5th
degree ~;此外,分子还包括constant型
Smoothing Spline:平滑逼近(翻译的不大恰当,不好意思)
Sum of Sin Functions:正弦曲线逼近,有8种类型,基础型是 a1*sin(b1*x + c1)
Weibull:只有一种,a*b*x^(b-1)*exp(-a*x^b)
选择好所需的拟合曲线类型及其子类型,并进行相关设置:
——如果是非自定义的类型,根据实际需要点击“Fit options”按钮,设置拟合算法、修改
待估计参数的上下限等参数;
——如果选Custom Equations,点击“New”按钮,弹出自定义函数等式窗口,有“Linear
Equations线性等式”和“General Equations构造等式”两种标签。
在本例中选Custom Equations,点击“New”按钮,选择“General Equations”标签,输入函
数类型y=a*x*x + b*x,设置参数a、b的上下限,然后点击OK。