MATLAB在非线性曲线拟合中的应用研究

来源 :电脑学习 | 被引量 : 0次 | 上传用户:yxhzhy
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:归纳总结了非线性曲线拟舍的方法、求解步骤和上机操作过程。
  关键词:曲线拟合 非线性 MATLAB
  中图分类号:TP311.131 文献标识码:B 文章编号:1002-2422(2008)01-0057-03
  
  1 曲线拟合的基本原理
  
  已知一组测定的数据(例如N个点(xi,yi)去求得自变量x和因变量y的一个近似解析表达式y=φ(x)。若记误差δi=φ(xi)-yi,i=1,2,…N,则要使误差的平方和最小,即要求:为最小,这就是常用的最小二乘法原理。
  
  例1:给出表1数据,试用最小二乘法求一次和二次拟合多项式。
  在MATLAB命令窗口中输入:
  clear;close;
  x=-1:0.25:1;
  y=[0.2209,0.3295,0.8826,1.4392,2.0003,2.5645,3.1334,3.7061,4.2836];
  p1=polyfit(x,y,1)
  p1=2.2516 2.0131
  p2=polyfit(x,y,2)
  p2=0.0313 2.2516 2.0001
  y1=polyval(p1,x);
  y2=polyval(p2,x);
  plot(x,y,‘ ’,x,y1,‘r:’,x,y2,‘k-.’)拟合多项式为:y*=2.0516 2.0131和y*=0.0313x2 2.2516x 2.20001。
  (2)非线性数据拟合函数lsqcurvefit调用格式为:
  c=lsqcurvefit(‘fun’,x0,xdata,ydata)
  其中‘fun’为拟合函数的M-函数文件名,x0为初始向量,xdata,ydata为参与曲线拟合的实验数据。函数返回值c为非线性函数fun的拟合系数。
  
  先编写一个M-函数文件Example2_1
  function f=Example2_1(c,tdata)
  f=c(1)*(exp(-c(2)*tdata)-exp(-c(3)*tdata));保存后,在命令窗口中输入:
  tdata=[0.25 0.5 0.75 1 1.5 2 2.5 3 3.5 4 4.5 5 6 7 8 9 1011 12 13 14 15 16];
  ydata=[30 68 75 82 82 77 68 68 58 51 50 41 38 35 28 2518 15 12 10 7 7 4];
  c0=[1 1 1];
  for i=1:50
  c=lBqcurvefit(“Example2_1”,c0,tdata,ydata);
  c0=c;
  end
  得到最优解为:c=114.2587 0.1852 2.0124
  从而得出拟合曲线:
  y*=114.2587(e-0.1852t-e-2.0124t)
  (3)
  2.2图形窗口形式
  (1)利用多项式拟合的交互图命令(GUI)polytool,调用格式为:polytool(x,y)
  其中x,y分别为实验数据构成的向量,例如利用poly-tool求解例1的MATLAB命令如下:
  x=-1:0.25:1;
  y=[-0.2209,0.3295,0.8826,1.4392,2.0003,2.5645,3.1334,3.7061,4.2836];
  polytool(x,y)
  打开多项式拟合的交互式界面,由于要拟合的函数为线性函数,因此在多项式拟合交互式界面中的Degree中输入1,点击导出数据Export,出现保存对话框Export toWorkspace,选中Pammetem(参数),Residuals(残差)后点击OK,在MATLAB的Workspace窗口中可以看到参数为:2.2516和2.0131,即拟合函数为y*=2.2516x 2.0131。同样如果拟合的函数为二次函数,则只要在Degree中输入2,其它步骤相同,可得拟合函数为:
  y*=0.0313x2 2.2516x 2.0001
  通过查看Residuals(残差)值,可以发现二次函数拟合的残差值比线性函数的要小一些,从拟合的效果看,可以选择二次函数作为拟合函数,但由于线性函数较简单,残差值也很小,从简单出发,也可选择线性函数作为拟合函数。
  (2)基本拟合界面
  MATLAB提供了一个方便简洁的拟合界面。具有拟合快速和操作简便的优势,只能拟合多项式。例如用基本拟合界面求解例1的过程如下:
  clear,dose;
  x=-1:0.25:1;
  y=[-0.2209,0.3295,0.8826,1.4392,2.0003,2.5645,3.1334,3.7061,4。2836];
  plot(x,y,‘ ’);
  在散点图的图形窗口上分别点击菜单档中的Tools Basic Fitting。在Plots Fits中分别选中linear、quadratic、Show equations、plot residuals、show norm of residuals,所得拟合直线方程为:y*=2.3x 2;拟合二次多项式为:y*=0.031x2 2.3x 2。
  (3)曲线拟合工具界面cftool
  曲线拟合工具界面cftool是一个可视化的图形界面,具有强大的图形拟合功能,下面通过一个具体例子来介绍 cftool的用法。
  例3某生化系学生为研究嘌呤霉素在某项酶促反应中对反应速度与底物浓度之间关系的影响,设计了一个实验,所得的实验数据见表3。根据问题的背景和数据建立一个合适的数学模型,来反映这项酶促反应的速度与底物浓度之间的关系。
  酶促反应的速度y与底物浓度x之间的关系可用下面两个简单模型描述:
  
  通过表4可以看出,有理函数(Michaelis-Menten模型)
   拟合数据比用指数函数y*=192.1(1-e-11.38x)拟合的效果好。
  
  3 结束语
   利用MATLAB的绘图功能和曲线拟合功能,可以很方便地进行多项式拟合和其它非线性曲线拟合,并可以通过比较剩余标准差和可决系数R2的大小,来对比不同曲线的拟合效果。从而在不知数学模型情况下,也能根据数据的散点图找出较优的曲线来拟合数据。
其他文献
【新目标英语七年级(上)Starter Units 1~3  STEP BY STEP 随堂通参考答案】  一、1~5 DDAAB  二、1. HB 2. kg 3. UN  4. 中国中央电视台  5. 英国广播公司  三、1. What 2. green 3. jacket  4. name 5. English 6. white  7. quilt 8. spell
If there’s one thing that most kids tend to have in common, it’s this: They want to be older. Even though their parents tell them not to wish away their youth2, they look forward to the day when they’
编 者 注  安徒生的童话《野天鹅》描述了主人公艾丽莎凭着自己的善良、勇敢、毅力来完成了善与恶的斗争,救了自己,也救了11位哥哥的故事。这个童话故事让艾丽莎成了儿童心中最受欢迎的形象之一。  1. Alice waked and walked out the cave, bruised the nettles,which burned her like the fire, with her bar
There was once upon a time a child who had Good Luck for his godfather.   从前有个孩子,他有一位教父名叫“好运”。  “I am not Fortune,” said Good Luck to the parents, “I have no gifts to him, but whenever he needs help I
ot many years ago, some American farmers began to complain about hawks (鹰) because the hawks were killing chickens. The farmers didn’t know what to do. They went to the government officials and asked
妈妈是不是看到我们的房间凌乱的时候说: 真是乱七八糟!  ① Look at the mess!看看这一团糟! ② What a mess!真是乱七八糟!  另外妈妈是不是也常说:“你的房间真像个猪窝!”这句话怎么说呢? 呵呵,猪圈就是pigsty。那么妈妈想说的“你的房间真像个猪窝!”就可以表达为“What a pigsty your room is!”  暑假里,我们可以向妈妈申请自己收拾
Kaavan the elephant is described as“the world’s loneliest elephant”. After spending years alone2 in a zoo in Pakistan, Kaavan arrived in Cambodia. He will have lots of elephant friends.  大象卡万被称作“世界上最孤
As long as we walk this earth, one thing we should all discover is this. The more you know, the more you know you don’t know. That’s a quote1 from Aristotle, the Greek philosopher who lived over 2,300
Philip had trouble2 holding onto things. His parents were always getting angry3 with him for losing his clothes, his toys, or his homework. They didn’t realize4 that it really wasn’t Philip’s fault5—h
A fool named Fool and a knave named Knave once set up house together2. It shows what fool the Fool is. Fool thinks it is lucky to meet Knave.  一个傻子叫福尔,一个无赖叫克莱夫,两人要把房子建到一起,这就显得傻子到底有多傻。而福尔却还在想,能遇到克莱夫是他的