《Matlab讲解》教学资料:用Matlab作最小二乘曲线拟合

用 Matlab作最小二乘曲线拟合 1.用n次多项式作最小二乘拟合 已知 要从H(即:全体次数不高于n的多项式集合)中找一 y1…y 个S(x),使得在节点处的总误差∑(S(x)-y)达到最小。 Matlab命令格式:系数数组= polypi(节点数组,函数值数组,次数n) 例1:对函数C=C(1)测量得下面一组数据 3456789 C:4.54,4.99,535,565,590,6.10,6.26,639,6.50 试分别用1次、2次、6次多项式作拟合,并画图显示拟合效果。 hold on x0=1.9y0=[4.544.99,535,565,5906106.26639650]; for i=1: 9 plot(xo(), yo(i), + d al=polyfit(x0, y0, 1), a2=polyfit(x0, y0, 2), a6=polyfit(x0, y0, 6) x=0:0.1:10 I=polyval(al, x)'y2-polyval(a2, x), y6=polyval(a6, x) plot(,yl, x, y2, x, y6) hold off 为了准确判断拟合效果,需计算“节点处的总误差”:(续前面程序) wcl=sqrt(sum((polyval(al, XO)-yO). 2)) wc2=sqrt(sum((polyval(a2, x0)-yO). 2) wc6=sqrt(sum((polyval(a6, x0)-y0). 2)) 2.用一般函数作最小二乘拟合 已知 要用一个函数f(x)来近似代表y,此函数中含有几 y:yoy1…ym 个待定参数a1,a2,an,现在的任务是:确定参数的值,使得在节点处的总误差
用 Matlab 作最小二乘曲线拟合 1.用 n 次多项式作最小二乘拟合 已知 m m y y y y x x x x ... ... 0 1 0 1 : : ,要从 Hn (即:全体次数不高于 n 的多项式集合)中找一 个 S (x) n ,使得在节点处的总误差 = − m i n i i S x y 0 2 ( ( ) ) 达到最小。 Matlab 命令格式:系数数组=polyfit(节点数组,函数值数组,次数 n) 例 1:对函数 C=C(t)测量得下面一组数据: t : 1 2 3 4 5 6 7 8 9 C:4.54, 4.99, 5.35, 5.65, 5.90, 6.10, 6.26, 6.39, 6.50 试分别用 1 次、2 次、6 次多项式作拟合,并画图显示拟合效果。 clear hold on x0=1:9;y0=[4.54,4.99,5.35,5.65,5.90,6.10,6.26,6.39,6.50]; for i=1:9 plot(x0(i),y0(i),'+') end a1=polyfit(x0,y0,1),a2=polyfit(x0,y0,2),a6=polyfit(x0,y0,6) x=0:0.1:10; y1=polyval(a1,x);y2=polyval(a2,x);y6=polyval(a6,x); plot(x,y1,x,y2,x,y6) hold off 为了准确判断拟合效果,需计算“节点处的总误差”:(续前面程序) wc1=sqrt(sum((polyval(a1,x0)-y0).^2)) wc2=sqrt(sum((polyval(a2,x0)-y0).^2)) wc6=sqrt(sum((polyval(a6,x0)-y0).^2)) 2.用一般函数作最小二乘拟合 已知 m m y y y y x x x x ... ... 0 1 0 1 : : ,要用一个函数 f (x) 来近似代表 y ,此函数中含有几 个待定参数 a a an , ,..., 1 2 ,现在的任务是:确定参数的值,使得在节点处的总误差

(f(x)-y)2达到最小 用Maab计算:先按照f(x)建立一个函数文件,文件第一句格式为: function f=文件名(参数组,节点数组) 再用下面命令格式 参数组= Isqcurvefi函数文件名,参数组初值,节点数组,函数值数组) 例2:对例1中的数据,用函数y=a1+a2e作拟合,并画图显示拟合效 果,给出节点处总误差。 先建立并保存函数文件:文件名sp78hswj内容为 function f-syp78hswj(a, xO) f=a(1)+a(2)*exp(-a(3)*x0) 再下面主程序: hold x0=1.9y0=14.54499,535,565,590,6.10.6.26,6396.50; for 1=1: 9 plot(xo(), yo(i), + d fit('syp78hsw x0: 0. 2: 10; f-syp78hswj(a, x) plot(x, f) 78hswj(a, 0); sum((f-y0). 2) hold off 执行得:(a1,a2a3)=(69805-299110.2031) 节点处总误差wc=0.0076
= − m i i i f x y 0 2 ( ( ) ) 达到最小。 用 Matlab 计算:先按照 f (x) 建立一个函数文件,文件第一句格式为: function f=文件名(参数组, 节点数组) 再用下面命令格式: 参数组=lsqcurvefit(‘函数文件名’,参数组初值,节点数组,函数值数组) 例 2:对例 1 中的数据,用函数 a x y a a e 3 1 2 − = + 作拟合,并画图显示拟合效 果,给出节点处总误差。 先建立并保存函数文件:文件名 syp78hswj 内容为: function f=syp78hswj(a,x0) f=a(1)+a(2)*exp(-a(3)*x0); 再下面主程序: clear hold on x0=1:9;y0=[4.54,4.99,5.35,5.65,5.90,6.10,6.26,6.39,6.50]; for i=1:9 plot(x0(i),y0(i),'+') end cscz=[1,1,1]; a=lsqcurvefit('syp78hswj',cscz,x0,y0) x=0:0.2:10;f=syp78hswj(a,x);plot(x,f) f=syp78hswj(a,x0); wc=sqrt(sum((f-y0).^2)) hold off 执行得: ( , , ) (6.9805, 2.9911,0.2031) a1 a2 a3 = − 节点处总误差 wc=0.0076
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《Matlab讲解》教学资料:用Matlab求解非线性规划.doc
- 《Matlab讲解》教学资料:用Matlab解微分方程.doc
- 《Matlab讲解》教学资料:普兰廷卡的模态形而上学.doc
- 《Matlab讲解》教学资料:Matlab初步(讲稿)之一.doc
- 河北工业大学:《离散数学》课程PPT教学课件(讲稿)第七章 图.ppt
- 河北工业大学:《离散数学》课程PPT教学课件(讲稿)第二章 谓词逻辑.ppt
- 河北工业大学:《离散数学》课程PPT教学课件(讲稿)第一章 概述 Discrete Mathematics(主讲:郭永芳).ppt
- 河北工业大学:《离散数学》课程PPT教学课件(讲稿)第五章 代数系统.ppt
- 河北工业大学:《离散数学》课程PPT教学课件(讲稿)第四章 函数的概念.ppt
- 河北工业大学:《离散数学》课程PPT教学课件(讲稿)第三章 集合的概念及其表示法.ppt
- 网络信息安全教育认证培训(PPT讲稿)网络安全技术.ppt
- 重庆邮电大学:《C语言程序设计》课程作业讲评.doc
- 重庆邮电大学:《C语言程序设计》课程作业4 循环结构程序设计.doc
- 重庆邮电大学:《C语言程序设计》课程作业2 根据订票的张数和月份决定优惠折扣.doc
- 重庆邮电大学:《C语言程序设计》课程教学大纲 The C Language Programming Design.doc
- 重庆邮电大学:《C语言程序设计》课程PPT教学课件(讲稿)第九讲 文件.ppt
- 重庆邮电大学:《C语言程序设计》课程PPT教学课件(讲稿)第十讲 结构体.ppt
- 重庆邮电大学:《C语言程序设计》课程PPT教学课件(讲稿)第八讲 结构体.ppt
- 重庆邮电大学:《C语言程序设计》课程PPT教学课件(讲稿)第七讲 指针与数组.ppt
- 重庆邮电大学:《C语言程序设计》课程PPT教学课件(讲稿)第六讲 数组.ppt
- 《Matlab讲解》教学资料:调用 Matlab 软件初步.doc
- 《Matlab讲解》教学资料:调用 Matlab 软件.doc
- 《Matlab讲解》教学资料:Matlab初步(讲稿)之二.doc
- 《Matlab讲解》教学资料:Matlab初步(讲稿)之三.doc
- 《Matlab讲解》教学资料:Matlab初步(讲稿)之三之补充.doc
- 《Matlab讲解》教学资料:Matlab初步(讲稿)之四.doc
- 《C++》课程教学课件(讲稿)考核题目.doc
- 《C++》课程教学课件(讲稿)第一章 面向对象程序设计概述.ppt
- 《C++》课程教学课件(讲稿)第十章 异常处理.ppt
- 《C++》课程教学课件(讲稿)第十一章 输入/输出流.ppt
- 《C++》课程教学课件(讲稿)第十二章 Windows程序设计初步.ppt
- 兰州大学信息学与工程学院:《Windows SDK程序设计基础》Windows程序的基本结构(程建军).pdf
- 兰州大学信息学与工程学院:《Windows SDK程序设计基础》WinMain函数:Windows程序的入口点(程建军).pdf
- 《C++》课程教学课件(讲稿)第十三章 MFC程序设计举例.ppt
- 《C++》课程教学课件(讲稿)第六章 地址家族和名字解析(1/2).pdf
- 《C++》课程教学课件(讲稿)第六章 地址家族和名字解析(2/2).pdf
- 《C++》课程教学课件(讲稿)第二章 C++语言初步.ppt
- 《C++》课程教学课件(讲稿)第三章 类与对象.ppt
- 《C++》课程教学课件(讲稿)第四章 对象的初始化与销毁:构造函数与析构函数.ppt
- 《C++》课程教学课件(讲稿)第五章 运算符重载.ppt