数值分析---函数逼近与曲线拟合

合集下载

数值分析Ch3函数逼近与曲线拟合

数值分析Ch3函数逼近与曲线拟合
与正交,权函数等概念。
正交,这就需要引进范数与赋范线性空间,内积
3.1 函数逼近的基本概念
• 定义 设集合 S 是数域 P 上的线性空间,元 素 x1 , x2 , , xn S ,若存在不全为零的数 1 , 2 , , n P ,使得 1 x1 2 x2 n xn 0 则称 x1 , x2 , , xn 线性相关,否则,若仅对
数 值 分 析
Computational Method
Chapter 3 函数逼近
第三章 函数逼近与曲线拟合 设函数 y f x 的离散数据(有误差)为
x y

x0 y0
x1 y1
x2 y2

xn yn
希望找到简单函数 Px 整体上有 是某度量, 0 是指定精度。
f x Px
1 x1
2 x2 x 2 , 1 1 1 , 1 x , x , 3 2 2 3 x3 3 1 1 2 , 2 1 , 1
xn , 1 xn , 2 xn , n1 1 2 n1 n xn 1 , 1 2 , 2 n1 , n1 k 1 xk , i i ( k 1,2,, n) 简写为: k x xk i 1 i , i

x

2

(连续) f x Ca, b
b
常见范数:
f x 1 f x dx • 1范数: a ,
• 2-范数:
f x 2
2 f x dx a b
1 2
f x max f x • 范数: , a ,b

曲线拟合实验报告[优秀范文5篇]

曲线拟合实验报告[优秀范文5篇]

曲线拟合实验报告[优秀范文5篇]第一篇:曲线拟合实验报告数值分析课程设计报告学生姓名学生学号所在班级指导教师一、课程设计名称函数逼近与曲线拟合二、课程设计目的及要求实验目的: ⑴学会用最小二乘法求拟合数据的多项式,并应用算法于实际问题。

⑵学会基本的矩阵运算,注意点乘与叉乘的区别。

实验要求: ⑴编写程序用最小二乘法求拟合数据的多项式,并求平方误差,做出离散函数与拟合函数的图形;⑵用MATLAB 的内部函数polyfit 求解上面最小二乘法曲线拟合多项式的系数及平方误差,并用MATLAB的内部函数plot作出其图形,并与(1)结果进行比较。

三、课程设计中的算法描述用最小二乘法多项式曲线拟合,根据给定的数据点,并不要求这条曲线精确的经过这些点,而就是拟合曲线无限逼近离散点所形成的数据曲线。

思路分析 : 从整体上考虑近似函数)(x p 同所给数据点)(i iy x , 误差i i iy x p r -=)(的大小,常用的方法有三种:一就是误差i i iy x p r -=)(绝对值的最大值im ir≤≤ 0max ,即误差向量的无穷范数;二就是误差绝对值的与∑=miir0,即误差向量的 1成绩评定范数;三就是误差平方与∑=miir02的算术平方根,即类似于误差向量的 2 范数。

前两种方法简单、自然,但不便于微分运算,后一种方法相当于考虑 2 范数的平方,此次采用第三种误差分析方案。

算法的具体推导过程: 1、设拟合多项式为:2、给点到这条曲线的距离之与,即偏差平方与:3、为了求得到符合条件的 a 的值,对等式右边求偏导数,因而我们得到了:4、将等式左边进行一次简化,然后应该可以得到下面的等式5、把这些等式表示成矩阵的形式,就可以得到下面的矩阵:⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡∑∑∑∑∑∑∑∑∑∑∑=====+==+====niininiiknikinikinikinikiniiniinikiniiyyyaax x xx x xx x11i11012111111211 1an MMΛM O M MΛΛ 6.将这个范德蒙得矩阵化简后得到⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡n kkn nkkyyyaaax xx xx x M MΛM O M MΛΛ21102 21 1111 7、因为 Y A X = * ,那么 X Y A / = ,计算得到系数矩阵,同时就得到了拟合曲线。

数值分析第三章

数值分析第三章
a≤ x≤b b ∫a | f ( x ) | dx,
称为1 − 范数 , 称为 2 − 范数 .
(
b 2 ∫a f ( x )dx
),
1 2
三、内积与内积空间
R n中向量x及y定义内积 : ( x, y ) = x1 y1 + L + x n y n .
定义3 上的线性空间, 定义3 设X是数域 K ( R或C)上的线性空间,对 ∀u, v ∈ X, 中一个数与之对应, 并满足条件: 有K中一个数与之对应,记 为( u, v ),并满足条件: (1) ( u,v ) = (v , u), ∀u,v ∈ X ; (2) (αu,v ) = α ( u,v ), α ∈ R; (3) ( u + v , w ) = ( u,w ) + (v,w ), ∀u,v,w ∈ X ; (4) ( u, u) ≥ 0, 当且仅当 u = 0时, , u) = 0. (u 则称( u, v )为X上的u与v的内积. 定义了内积的线性空间 称 的共轭, 为内积空间. (v , u)为( u,v )的共轭,当 K = R时 (v , u) = ( u,v ).
2)
j =1
∑ α ju j = 0 ⇔ ( ∑ α ju j , ∑ α ju j ) = 0
j =1 n j =1
n
n
n
⇔ ( ∑ α j u j , uk ) = 0, k = 1,L, n.
j =1
∴ G非奇异 ⇒ u1 , u2 ,L, un线性无关 (反证法 );反之亦然 .
在内积空间X上可以由内积导出一种范数, 即对u ∈ X , 记 || u ||= (u , u ), Cauchy − Schwarz不等式得出. (1.10) 易证它满足范数定义的正定性和齐次性, 而三角不等式由

实验二函数逼近与曲线拟合

实验二函数逼近与曲线拟合

《数值分析》课程设计实验报告实验二函数逼近与曲线拟合一、问题提出从随机的数据中找出其规律性,给出其近似表达式的问题,在生产实践和科学实验中大量存在,通常利用数据的最小二乘法求得拟合曲线。

在某冶炼过程中,根据统计数据的含碳量与时间关系,试求含碳量与时间t 的拟合曲线。

二、实验步骤先写出线性最小二乘法的M文件function c=lspoly(x,y,m)% x是数据点的横坐标组成的向量,y是纵坐标组成的向量% m是要构成的多项式的次数,c是多项式由高到低次的系数所组成的向量n=length(x);b=zeros(1:m+1);f=zeros(n,m+1);for k=1:m+1f(:,k)=x.^(k-1);enda=f'*f;b=f'*y';c=a\b;c=flipud(c);方法一:近似解析表达式为:y(t)=a1t+a2t2+a3t3第二步在命令窗口输入:lspoly([0,5,10,15,20,25,30,35,40,45,50,55],[0,1.27,2.16,2.86,3.44 ,3.87,4.15,4.37,4.51,4.58,4.02,4.64],2)回车得到:ans =0.0000-0.00520.26340.0178即所求的拟合曲线为y=-0.0052t2+0.2634t+0.0178在编辑窗口输入如下命令:>>x=[0,5,10,15,20,25,30,35,40,45,50,55];y=[0,1.27,2.16,2.86,3.44, 3.87,4.15,4.37,4.51,4.58,4.02,4.64];>> t=0:0.1:55;>> z=-0.0052*t.^2+0.2634*t+0.0178;>> plot(x,y,'ro',t,z);grid命令执行得到如下图(图2-1)0102030405060拟合多项式与数据点的关系方法二:假设近似表达式为:y(t)=c0+c1t+c2t2第一步在命令窗口输入:>>lspoly([0,5,10,15,20,25,30,35,40,45,50,55],[0,1.27,2.16,2.86,3. 44,3.87,4.15,4.37,4.51,4.58,4.02,4.64],2)回车得到:ans =-0.00240.20370.2305即所求的拟合曲线为y=-0.0024t2+0.2037t+0.2305在编辑窗口输入如下命令:>>x=[0,5,10,15,20,25,30,35,40,45,50,55];y=[0,1.27,2.16,2.86,3.44,3.87,4.15,4.37,4.51,4.58,4.02,4.64];>> t=0:0.1:55;>> z=-0.0024*t.^2+0.2037*t+0.2305;>> plot(x,y,'ro',t,z);grid命令执行得到如下图(图2-2)拟合多项式与数据点的关系三、实验结论在利用数据的最小二乘法求拟合曲线时,选取合适的近似表达式很重要,应通过不断的试验找出较为合适的近似表达式,这样才能尽可能的提高拟合精度。

5函数逼近与曲线拟合.docx

5函数逼近与曲线拟合.docx

第5章函数逼近与曲线拟合上一章讨论的是函数插值问题,通常都是用一个多项式来代替一个已知的函数,它们在 给定的插值基点上有相同的函数值,是对原函数的一-种近似。

然而,在实际应用中插值问题 仍有明显的缺点:对于有解析式的函数而言,在其它点上误差可能很大,如龙格现象;对于 离散(表)函数而言,给定的数据点本身是有误差的,刚性地让插值函数通过这些点不仅没 有意义,而且会影响对原函数的近似程度。

另外,泰勒展示也是对连续函数的一种低阶近似, 它在展开点附近误差较小,但在展开点远处,误差会很大。

本章讨论在新的函数谋旁度最条件下的函数近似问题,对连续函数称之为函数逼近问题, 对于离散函数称之为dii 线拟合问题。

主要内容有:函数最佳逼近的概念,正交多项式,最佳 均方逼近少最小二乘曲线拟合问题等。

5.1函数最佳逼近的概念希望能有一种方法寻求出一个近似多项式,使它在整个区间上既均匀的逼近/(%),所需 的计算呆又小,这就是函数逼近要解决的问题。

为了刻划“均匀逼近”,设P n (x)是定义在区 间[a,b ]上原函数/(x)的近似多项式。

我们用||/(x) -p n (x)||来度量p n (x)与/(x)近似逼近 程度。

这样,自然地会有下面两种不同的度暈标准:fM- p n (x)使丿IJ 这个度量标准的函数逼近称为均方逼近或平方逼近;/W 一 p n (x) = max f(x) 一 p n (x) 使用这个度量标准的函数逼近称为一致逼近或均匀逼近o关于一致逼近的问题,在数学分析中有以下结论。

设函数/(X )在区间[a,b ]上连续,若£>0,则存在多项式P(x)使|/(x)-P(x)|<£,在区间[a,b ]上一致成立。

对于函数插值而 言,如果插值余项也能满足对任意的£〉0, \R n (x)\ = \f(x)-p n M\<e 都成立的话,贝闹 值多项式P n M 是/(Q 的一致逼近多项式。

实验指导书_函数逼近

实验指导书_函数逼近

实验指导书_函数逼近与曲线拟合曲线拟合:由一组实验数据},,2,1),,{(n i y x i i =,选择一个较简单的函数)(x f (如多项式),在一定准则下,最接近这组数据.函数逼近:已知一个较为复杂的连续函数],[),(b a x x y ∈,要求选择一个较简单的函数)(x f ,在一定准则下最接近)(x y .掌握内容:切比雪夫零点插值、最佳平方逼近、曲线拟合的最小二乘法的Matlab 实现一、切比雪夫零点插值1.算法原理设1[,],()+∈n n f C a b L x 是以,0,1,,22-+=+= k k b a a bx t k n 为插值节点的Lagrange 插值多项式,其中21cos,0,1,,2(1)π+==+ k k t k n n 是Chebyshev 多项式1()n T x +的零点,此时插值误差最小,误差(余项)估计公式为:1(1)21()()()()max ()2(1)!+++≤≤-=-≤+n n n n n a x bb a R x f x L x f x n2.实例例1(P64例4) 求()x f x e =在[0,1]上的四次Lagrange 插值多项式4()L x ,插值节点用5()T x 的零点,并估计误差401max ().x x e L x ≤≤-首先编写Lagrange 插值主程序,并保存为lagrange.mfunction[L ,C, l ,L1]= lagrange (X,Y)%输入的量:n+1个节点(xi,yi)的横坐标向量X ,纵坐标向量Y ;%输出的量:n 次拉格朗日插值多项式L 及其系数向量C ,基函数l 及其系数矩阵L1 m=length(X); L=ones(m,m); for k=1: m V=1; for i=1:m if k~=iV=conv(V ,poly(X(i)))/(X(k)-X(i)); end endL1(k,:)=V; l(k,:)=poly2sym (V); endC=Y*L1; L=Y*l; l=vpa(l,4); L=vpa(L,4);然后编写如下程序,并保存为lc_P64eg4.m%P64eg4求Lagrange- Chebyshev 多项式的程序lc_P64eg4.m %X 为插值节点%L 为Lagrange- Chebyshev 多项式的表达式%C 为按降幂排列的Lagrange- Chebyshev 多项式的系数 %R 为误差限 clear;format short g s=1;for k=0:4X(k+1)=(1+cos((2*k+1)*pi/10))/2; Y(k+1)=exp(X(k+1)); s=s*(k+1); end X,[L ,C, l ,L1]= lagrange(X,Y); L, C,R=2.71828/(s*2^9)x=linspace(X(1), X(5),50); y=polyval(C,x); y1=exp(x);plot(X,Y,'r*',x,y,'r-') figure,plot(X,Y,'r*',x,y1,'b-') figure,plot(X,Y,'r*',x,y,'r-',x,y1,'b-')在Matlab 窗口中运行程序lc_P64eg4.m >> lc_P64eg4 X =0.97553 0.79389 0.5 0.20611 0.024472 L =.9988*x+.1403*x^3+.6942e-1*x^4+.5098*x^2+1.000 C =0.069416 0.14028 0.50978 0.99876 1 R =4.4243e-005图1.()xf x e 在[0,1]上的四次Lagrange- Chebyshev 插值多项式例2 (P65例5)设211()f x x =+,在[-5,5]上利用11()T x 的零点作插值点,构造10次拉格朗日插值多项式 10()L x ,并与等距节点的10()L x 近似()f x 作比较. 首先编写如下程序,并保存为lc_P65eg5.m%P64eg4求Lagrange- Chebyshev 多项式的程序lc_P65eg5.m%X 为Chebyshev 零点%L 为Lagrange- Chebyshev 多项式的表达式%C 为按降幂排列的Lagrange- Chebyshev 多项式的系数 %L1为等距节点多项式的表达式%C1为按降幂排列的等距节点多项式的系数 clear;format short for k=0:10X(k+1)=(10*cos((2*k+1)*pi/22))/2; Y(k+1)=1/(1+X(k+1)^2); end X,[L ,C, l ,L1]= lagrange(X,Y); L,C,x=linspace(X(1), X(11),100); y=polyval(C,x); y1=1./(1+x.^2);X1=linspace(-5,5,11); Y1=1./(1+X1.^2);[L1 ,C1, l1 ,L11]= lagrange(X1,Y1); L1,C1,X2=-5:0.1:5;Y2=polyval(C1,X2);plot(X,Y ,'r*',x,y,'r-',x,y1,'b-',X1,Y1,'O',X2,Y2,'k-') gtext('切比雪夫插值点r*') gtext('切比雪夫插值曲线r-') gtext('被插函数曲线b-') gtext('等距节点插值点o')gtext('等距节点插值多项式k-')在Matlab 窗口中运行程序lc_P65eg5.m,得如下图形结果(这里,数值结果略,请自己运行观察)图2. 211()f x x=+在[-5,5]上的插值多项式 10()L x 与10()L x二、最佳平方多项式逼近1.求定义在区间[a ,b ]上的已知函数最佳平方逼近多项式的算法(1)设已知函数()f x 的最佳平方逼近多项式为01()n n p x a a x a x =+++ ,由最佳平方逼近的定义有:010012(,,)(,,,,)n iF a a a i n a ∂==∂其中()20101(,,)()()b nn n aF a a a f x aa x a x dx =-+++⎰(2)求多项式()p x 系数的法方程:Ca D =,其中1211222111212()(),()(b bb bbn na aa a a bbb b b n n a aa aa b bb b b n n n n n a aa aa bbb bn n n n naaa a dx xdx x dx x dx f x dx xdx x dx x dx x dx xf x dx C D x dx x dxx dx x dx x f x dx x dx x dx x dx x dx x f x -+----+-⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥==⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎰⎰⎰⎰⎰⎰⎰⎰⎰⎰⎰⎰⎰⎰⎰⎰⎰⎰⎰)b a dx ⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎰2.求定义在区间[a ,b ]上的已知函数最佳平方逼近多项式的主程序function [coff,d]=ZJPF(func,n,a,b) %func:已知函数%n:最佳平方逼近多项式的最高次数 %a:逼近区间的左端点 %b:逼近区间的右端点%coff:按升幂排列的逼近多项式的系数 % d:法方程的右端项 C = zeros(n+1,n+1);var = findsym(sym(func)); func = func/var; for i=1:n+1C(1,i)=(power(b,i)-power(a,i))/i; %算法中的C 矩阵的第一行 func = func*var;d(i,1)=int(sym(func),var,a,b); %算法中的D 向量的第一行 endfor i=2:n+1C(i,1:n)=C(i-1,2:n+1); f1 = power(b,n+i); f2 = power(a,n+i);C(i,n+1)=(f1-f2)/(n+i); %形成C 矩阵 endcoff = C\d; %求解逼近多项式的系数3.例题(教材P68例6)设211()f x x =+,求[0,1]上的一次最佳平方逼近多项式.首先编写被逼近函数的M 文件,并保存为funcp68eg6.m function f=funcp68eg6() syms xf=sqrt(1+x^2);然后编写如下程序,并保存为p68_eg6.m %p68_eg6.m clear;[coff,d]=ZJPF(funcp68eg6,1,0,1); coff=vpa(coff)x = findsym(sym(funcp68eg6)); func=funcp68eg6*funcp68eg6;PFWC=vpa(int(sym(func),x,0,1)-coff'*d,4)运行结果>> p68_eg6 coff =[ .9343200492928959528618412015402] [ .4269470508068461683106156461091] PFWC = .12e-2三、曲线拟合的最小二乘法1. 多项式拟合及其MATLAB 程序面对一组数据,,,2,1),,(n i y x i i = 用线性最小二乘法作曲线拟合时,如果选取一组函数02(),(),,()m x x x ϕϕϕ 为)(,,,,12n m x x x m < ,则拟合曲线为多项式11++++=m m m a x a x a y .一般m = 2,3, 不宜过高.对于指数曲线,拟合前需作变量代换,化为系数参数的线性函数.2. 用MATLAB 作线性最小二乘拟合的多项式拟合用MATLAB 作线性最小二乘拟合的多项式拟合有现成程序. 调用格式为: a=polyfit(x,y,m)其中输入参数 x ,y 为要拟合的数据,是长度自定义的数组,m 为拟合多项式的次数,输出参数a 为拟合多项式:11++++=m m m a x a x a y的系数向量a ),,,(11+=m m a a a .(注意:按降幂排列)3. 多项式在x 处的值y 的计算: y=polyval(a,x)例 给出一组数据点),(i i y x 列入下表中,试用线性最小二乘法求拟合曲线,.解(1)首先根据给出的数据点),(i i y x ,用下列MATLAB 程序画出散点图. 在MATLAB 工作窗口输入程序>> x=[-2.9 -1.9 -1.1 -0.8 0 0.1 1.5 2.7 3.6];y=[53.94 33.68 20.88 16.92 8.79 8.98 4.17 9.12 19.88]; plot(x,y,'r*'), legend('数据点(xi,yi)') xlabel('x'), ylabel('y'),title('例7.4.1的数据点(xi,yi)的散点图')运行后屏幕显示数据的散点图,见图3.(2)因为数据的散点图3的变化趋势与二次多项式很接近,所以选取一组函数2,,1x x ,令3221)(a x a x a x f ++=,其中k a 是待定系数)3,2,1(=k .(3)用作线性最小二乘拟合的多项式拟合的MATLAB 程序求待定系数k a)3,2,1(=k .输入程序>> a=polyfit(x,y,2)运行后输出按拟合多项式的系数a =2.8302 -7.3721 9.1382故拟合多项式为2138.91372.72830.2)(2+-=x x x f .(4)编写下面的MATLAB 程序估计其误差,并做出拟合曲线和数据的图形.输入程序>> xi=[-2.9 -1.9 -1.1 -0.8 0 0.1 1.5 2.7 3.6];y=[53.94 33.68 20.88 16.92 8.79 8.98 4.17 9.12 19.88]; n=length(xi); f=2.8302.*xi.^2-7.3721.*xi+9.1382 x=-2.9:0.001:3.6;F=2.8302.*x.^2-7.3721.*x+8.79; fy=abs(f-y); fy2=fy.^2; Er=sqrt((sum(fy2)/n)), plot(xi,y,'r*', x,F,'b-'),legend('数据点(xi,yi)','拟合曲线y=f(x)') xlabel('x'), ylabel('y'), 运行后屏幕显示数据),(i i y x 与拟合函数f 的均方根误差E 2及其数据点(x i ,y i )和拟合曲线y =f (x )的图形,见图4.图3图4。

数值分析实验报告中北大学

数值分析实验报告中北大学

实验类别:数值分析专业:信息与计算科学班级:学号:姓名:中北大学理学院实验二 函数逼近与曲线拟合【实验内容】从随机的数据中找出其规律性,给出其近似表达式的问题,在生产实践和科学实验中大量存在,通常利用数据的最小二乘法求得拟合曲线。

在某冶炼过程中,根据统计数据的含碳量与时间关系,试求含碳量y 与时间t 的拟合曲线。

【实验方法或步骤】1、用最小二乘法进行曲线拟合;2、近似解析表达式为;33221)(t a t a t a t ++=ϕ3、打印出拟合函数)(t ϕ,并打印出)(j t ϕ与)(j t y 的误差,12,,2,1 =j ;4、另外选取一个近似表达式,尝试拟合效果的比较;5、* 绘制出曲线拟合图。

#include "stdio.h" #include "conio.h" #include "stdlib.h" #include "math.h"#define N 12//N 个节点 #define M 2//M 次拟合 #define K 2*Mvoid zhuyuan (int k,int n,float a[M+1][M+2]) {int t,i,j;float x,y;x=fabs(a[k][k]);t=k;for (i=k+1;i<=n;i++)if (fabs(a[i][k])>x){x=fabs(a[i][k]);t=i;}for (j=k;j<=n+1;j++){y=a[k][j];a[k][j]=a[t][j];a[t][j]=y;}}void xiaoyuan(int n,float a[M+1][M+2]){int k,i,j;for(i=0;i<n;i++){zhuyuan(i,n,a);for (j=i+1;j<=n;j++)for (k=i+1;k<=n+1;k++)a[j][k]=a[j][k]-a[j][i]*a[i][k]/a[i][i];}}void huidai(int n,float a[M+1][M+2],float x[M+1]){int i,j;x[n]=a[n][n+1]/a[n][n];for (i=n-1;i>=0;i--){ x[i]=a[i][n+1];for (j=i+1;j<=n;j++)x[i]=x[i]-a[i][j]*x[j];x[i]=x[i]/a[i][i];}}void main(){float x_y[N][2],A[N][K+1],B[N][M+1],AA[K+1],BB[M+1],a[M+1][M+2],m[M+1]; int i,j,n;printf("请输入%d个已知点:\n",N);for(i=0;i<N;i++){printf("(x%d y%d):",i,i);scanf("%f %f",&x_y[i][0],&x_y[i][1]);}for(i=0;i<N;i++){A[i][0]=1;for(j=1;j<=K;j++)A[i][j]=A[i][j-1]*x_y[i][0];for(j=0;j<=M;j++)B[i][j]=A[i][j]*x_y[i][1];}for(j=0;j<=K;j++)for(AA[j]=0,i=0;i<N;i++)AA[j]+=A[i][j];for(j=0;j<=M;j++)for(BB[j]=0,i=0;i<N;i++)BB[j]+=B[i][j];for(i=0;i<M+1;i++){a[i][M+1]=BB[i];for(j=0;j<=M;j++)a[i][j]=AA[i+j];}n=M;printf("正规系数矩阵为:\n");for(i=0;i<=n;i++){for(j=0;j<=n+1;j++)printf("%f ",a[i][j]);printf("\n");}xiaoyuan(n,a);huidai(n,a,m);printf("拟合曲线方程为:\ny(x)=%g",m[0]); for(i=1;i<=n;i++){printf(" + %g",m[i]);for(j=0;j<i;j++){printf("*X");}}}p3=polyfit(x,y,3);y3=polyval(p3,x);e3=norm(y-y3);t=0:5:60;pt3=polyval(p3,t);plot(t,pt3);plot(t,pt3);title('3次拟合函数')>>3次拟合函数实验三 数值积分与数值微分【实验内容】选用复合梯形公式,复合Simpson 公式,Romberg 算法高斯算法计算(1) )5343916.1(sin 44102≈-=⎰I dx x I(2) )9460831.0,1)0((sin 10≈==⎰I f dx xxI (3) dx x e I x⎰+=1024 ;(4) dx x x I ⎰++=1021)1ln( 【实验前的预备知识】1、 深刻认识数值积分法的意义;2、 明确数值积分精度与步长的关系;3、 根据定积分的计算方法,可以考虑二重积分的计算问题。

曲线拟合实验报告材料

曲线拟合实验报告材料

数值分析课程设计报告学生姓名学生学号所在班级指导教师一、课程设计名称函数逼近与曲线拟合二、课程设计目的及要求实验目的:⑴学会用最小二乘法求拟合数据的多项式,并应用算法于实际问题。

⑵学会基本的矩阵运算,注意点乘和叉乘的区别。

实验要求:⑴编写程序用最小二乘法求拟合数据的多项式,并求平方误差,做出离散函数( )和拟合函数的图形;⑵用MATLAB 的内部函数polyfit 求解上面最小二乘法曲线拟合多项式的系数及平方误差,并用MATLAB 的内部函数plot 作出其图形,并与(1)结果进行比较。

三、课程设计中的算法描述用最小二乘法多项式曲线拟合,根据给定的数据点,并不要求这条曲线精确的经过这些点,而是拟合曲线无限逼近离散点所形成的数据曲线。

思路分析:从整体上考虑近似函数)(x p 同所给数据点)(i i y x ,误差i i i y x p r -=)(的大小,常用的方法有三种:一是误差i i i y x p r -=)(绝对值的最大值i mi r ≤≤0max ,即误差向量的无穷范数;二是误差绝对值的和∑=mi i r 0,即误差向量的1范数;三是误差平方和∑=mi i r 02的算术平方根,即类似于误差向量的2范数。

前两种方法简单、自然,但不便于微分运算,后一种方法相当于考虑2范数的平方,此次采用第三种误差分析方案。

算法的具体推导过程: 1.设拟合多项式为:2.给点到这条曲线的距离之和,即偏差平方和:3.为了求得到符合条件的a 的值,对等式右边求 偏导数,因而我们得到了:4.将等式左边进行一次简化,然后应该可以得到下面的等式5.把这些等式表示成矩阵的形式,就可以得到下面的矩阵:⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡∑∑∑∑∑∑∑∑∑∑∑=====+==+====n i i n i n i i k n i k i ni k ini k i n i k i ni in i ini k ini iy y y a a x xx x xxx x 11i 110121111112111a n6. 将这个范德蒙得矩阵化简后得到⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡n k k n n k k y y y a a a x x x x x x 21102211111 7.因为Y A X =*,那么X Y A /=,计算得到系数矩阵,同时就得到了拟合曲线。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2 1 2
于是
1 5 1 5 17 2 2 ( x) x ( x ) x x 9 7 4 7 252
2
3)几种常用的正交多项式
• 勒让德多项式 当区间[-1,1],权函数ρ(x) ≡1时,由 {1,x,…,xn,…}正交化得到的多项式就称为 勒让德多项式,并用P0(x),P1(x),…,Pn(x),… 表示. 其简单的表达式为
全体,按函数的加法和数乘构成连续函数 空间---- C[a, b]
3.1 函数逼近的基本概念
1)线性无关
设集合S是数域P上的线性空间,元素
x1,x2,…,xn∈S,如果存在不全为零的数
a1,a2,…,an∈P,使得
a1 x1 a2 x2 ... an xn 0,
则称x1,x2,…,xn线性相关.
( x , 0 )
2
1
0
于是
1
1 1 ( x) x 4
1 x ln xdx 9
2
1 1 2 1 1 7 2 (1 , 1 ) ( ln x)( x ) dx (ln x)( x x )dx 0 0 4 2 16 144
1 5 ( x , 1 ) ( ln x) x ( x )dx 0 4 144
且有以下常用公式
p 0 ( x) 1 p1 ( x ) x p 2 ( x ) (3 x 2 1) / 2 p 3 ( x ) (5 x 3 3 x ) / 2 p 4 ( x ) (35x 4 30x 2 x ) / 8 p 5 ( x ) (63x 5 70x 3 15x ) / 8 p 6 ( x ) ( 231 x 6 315x 4 105x 2 5) / 16
b a 2 n
其中 0 ( x) 1,
(n 1,2,.....)
并且( x n ( x), n ( x))= x ( x) ( x)dx.
{ ( x )} (5)设 n 0 是在[a, b]上带权ρ(x)的正交多项式 序列, 则 n ( x) (n≥1)的n个根都是在区间(a,
切比雪夫多项式的性质
(1)递推关系
Tn 1 ( x ) 2 xTn ( x ) Tn 1 ( x ) T0 ( x ) 1 T1 ( x ) x T2 ( x ) 2 x 2 1 T3 ( x ) 4 x 3 3 x T4 ( x ) 8 x 4 8 x 2 1 T5 ( x ) 1 6x 5 2 0x 3 5 x T6 ( x ) 3 2x 6 4 8x 4 1 8x 2 1
若 Ak 1, 则称之为标准正交函数族。
设 n ( x) 是[a, b]上首相系数an≠0的n次多 项式, ρ(x)为[a,b]上的权函数,如果多项式序列 { ( x )} { n ( x)}0 满足关系式(2),则称多项式序 n 0 为在[a,b]上带权ρ(x)正交,称 n ( x) 为[a, b]上带 权的 n 次正交多项式.
0 ( x) 1,
n ( x) x
n
n 1
j ( x) j 0 ( j ( x), j ( x))
( x , j ( x))
n
(n 1,2,...).
如此得到的正交多项式有如下性质: (1) n ( x) 是具有最高次项系数为1的n次多项式
(2)任何n次多项式Pn(x)∈Hn均可表示为 0 ( x), 1 ( x),..., n ( x) 的线性组合. ( j ( x), k ( x)) 0, 且 k ( x) (3)当k≠j时, 与任一次数小于k的多项式正交. (4)成立递推关系
2)范数的定义 设S为线性空间,x∈S,若存在唯一实数 || || 满足条件: (1)‖x‖≥0;当且仅当x=0时,‖x‖=0; (正定性) (2)‖αx‖=|α|‖x‖,α∈R; (齐次性) (3)‖x+y‖≤‖x‖+‖y‖,x,y∈S. (三角不等式) 则称 || || 为线性空间S上的范数, S与 || || 一起称为赋范线性空间,记为X.
a
(1)
则称f(x)与g(x)在[a,b]上带权正交. 若函数族
0 ( x), 1 ( x), , n ( x),
b
满足关系
j k; 0, ( j , k ) ( x) j ( x)k ( x)dx a Ak 0, j k ;
(2)
则称 k ( x) 是[a, b]上带权 ρ(x)正交函数族 ;
n1 ( x) ( x an ) n ( x) n n1 ( x)
(n 0,1,...)
-1 (x) 0, n ( x n ( x), n ( x)) /( n ( x), n ( x)), n ( n ( x), n ( x)) /( n1 ( x), ( n1 ( x))
b)内的单重实根.
例题:利用 Gram-schmidt 方法构造 [0,1] 上带权 1 ( x ) ln 的前3个正交多项式 0 , 1 , 2 x
解:利用正交化公式来求
( x ) ln 1 ln x x
0 ( x) 1
( x 0 ) 1 ( x) x 0 ( 0 0 )
段低次多项式等.
数学上常把在各种集合中引入某一些不同的确 定关系称为集合以某种空间结构赋予,并将这 样的集合称为空间。
例1、按向量的加法和数乘构成实数域 R 上的线性空间--- R n 例2、对次数不超过 n 的实系数多项式,按 加法和数乘构成数域上的多项式线性 空间---- H n
例3、所有定义在 [a,b] 集合上的连续函数
| (u, v) | (u, u )(v, v).
称为柯西-施瓦次不等式 .
• 魏尔斯特拉斯定理 设f(x)∈C[a, b],则对任何ε>0,总存在一个代数多项 式p(x),使 || f ( x) p( x) || <

在[a, b]上一致成立 。
•定理:设X为一个内积空间,u1,u2,…,un∈X,矩阵
(u1 , u1 ) (u2 , u1 ) (u1 , u2 ) (u2 , u2 ) G (u , u ) (u , u ) 2 n 1 n (un , u1 ) (un , u2 ) (un , un )
称为格拉姆矩阵,则G非奇异的充分必要条件是 u1,u2,…,un线性无关 。
m n; 0, 1 1 Pn ( x) Pm ( x)dx 2 , m=n. 2n 1
(2)奇偶性
(3)递推关系
pn ( x) (1) pn ( x)
n
(n 1) pn1 ( x) (2n 1) xpn ( x) npn1 ( x) n (1,2)
sin kx cos kx 0,


2 si n kx




2 cos kx 0,
实际上,这就是付里叶(Fourier)逼近的基函数.
2)如何构造正交多项式 • 只要给定区间[a, b]及权函数,均可由一组线性无 关的幂函数{1,x,…, xn,…},利用逐个正交化手法 构造出正交多项式序列 {n ( x)}0 :
零. 但在实际应用中,有时不要求具体某些点
误差为零,而要求考虑整体的误差限制 ,这就
引出了拟合和逼近的概念.
什么是函数逼近
对函数类A中给定的函数 f(x),记作f(x)∈A, 要求在另一类简单的便于计算的函数类 B 中求函数 p(x)∈B ,使 p(x)与 f(x)的误差在 某种意义下最小.函数类A通常是区间[a, b] 上的连续函数,记作C[a, b],称为函数逼近空 间;而函数B通常为n次多项式,有理函数或分
例如、 三角函数系:1,cosx sinx cos2x,sin2x,…是 区间[-π,π]上的正交函数系,因为



si nkx si n jxdx 0,
( j k)
( j k)
cos kx cos jxdx 0,


sin kx cos


jxdx 0,
(2) c2=|c|2;
(3) +g22+g2 (4) (,g)2 g2
权函数
考虑到(x)在区间[a,b]上各点的函数值比重不同,
常引进加权形式的定义
( f , g ) ( x) f ( x) g ( x)dx
p0 ( x) 1, 1 dn 2 n Pn ( x) n {( x 1) } n 2 n! dx (n 1,2,)
• 最高项系数为1的勒让德多项式为
n n ! d ~ 2 n P ( x ) [( x 1 ) ]. n n ( 2n)! dx
• 勒让德多项式的性质
(1)正交性
(1)(,g)=(g,);
(2)(c,g)=c(,g); (3)(1+2,g)=(1,g)+(2,g);
若(,g)=0,称(x)与g(x)正交 ,记为g .
利用内积可以定义函数的平方模
f
2
(f, f)

b
a
f 2 ( x)dx
函数的平方模满 足 (1) 20,而且2=0(x)=0;
2 2 ( x ) ( x 1 ) 2 0 2 ( x) x 0 1 ( x) ( 0 0 ) (11 )
1 1 ( 0 , 0 ) ln dx ln xdx 1 0 0 x 1
( x, 0 )
1
0
1 x ln xdx 4
第3章 函数逼近与曲线拟合
本章基本内容 • 函数逼近的基本概念 • 正交多项式—Lagrange and Chebyshev • 最佳一致逼近多项式 • 最佳平方逼近多项式 • 曲线拟和的最小二乘法
相关文档
最新文档