当前位置:首页 >> 数学 >>

矩阵理论作业6:两种算法求三次最佳平方逼近多项式


两种算法求 f ( x) 的三次最佳平方逼近多项式
摘 要 对于一个较复杂的函数,往往需要求一个简单多项式来逼近。本文选取两种基函数,用两种算 法计算一个函数 f ( x)= exp( x) ? sin( x) 在 x ? [0, ? ] 上的三次最佳平方逼近多项式及其逼近误差, 然后应 2 用 matlab 进行计算作图并对比两种方法的逼近结果。 关键字:三次 最佳平方 逼近 两种算法 引言 多项式的一个重要应用就是可以用来逼近 一个区间上的连续函数,往往许多复杂的函数需 要用各种方法来进行多项式逼近。本文参考矩阵 根据 C[a, b] 上内积定义 理论讲义
[1]

(1)

x? in 对 函 数 f ( x) = e x p ( ) s x 在( )

x ? [0, ] 上进行三次最佳平方逼近,求其逼近 2
误差, 并在 matlab 中编程计算和绘图以验证和比 较逼近结果的准确性。 求最佳平方逼近的多项式

?

( f ( x), g ( x)) ? ? ? ( x) f ( x) g ( x)dx
a

b

(2)

其中权函数

? ? ( x ) =1, 在 x ? [0, ] 上 计 算 得
2

? ? /2 ?2 /8 ? 3 / 24 ? 4 / 64 ? ? a0 ? ? 2.9052 ? ? 2 ?? ? ? ? 3 4 5 ? ? / 8 ? / 24 ? / 64 ? /160 ? ? a1 ? ? ? 3.2781?(3) ?? 3 / 24 ? 4 / 64 ? 5 /160 ? 6 / 384 ? ? a2 ? ? 4.0294 ? ? 4 ?? ? ? ? 5 6 7 ?? / 64 ? /160 ? / 384 ? / 896 ? ? a3 ? ? 5.2035 ?

? f ( x)= exp( x) ? sin( x) ,x ? [0, ] 求三次的 2
最佳平方逼近多项式 (内积中的权函数 ? ( x)=1 ) 。
2 3 用两种算法实现,一是设 ? =span 1, x, x , x ,

解 得 待 定 系 数 a0 ? 0.0201 , a1 ? 0.7658 ,

a2 ? 1.5765 , a2 ? ?0.0708 。即
? ( x) ? 0.0201 ? 0.7658 x ? 1.5765 x 2 ? 0.0708 x3 (4)
误差 ? ( x) = (? ( x), ? ( x))= f ( x) 2 ? (?, f ) ? 0.0100 (5) 2 2 第二种算法:

?

?

二是设为 ? = ? L0 ( x), L1 ( x), L2 ( x), L3 ( x)? ,其中

Li ( x), i ? 0,1, 2,3 是勒让德多项式。
第一种算法:

? = ?L0 ( x), L1 ( x), L2 ( x), L3 ( x)? , 其 中

? =span ?1, x, x , x ? ,由矩阵形式
2 3

Li ( x) ,? i

0 , 1是勒让德多项式, , 2, 3 其表达式为:

Li ( x) ?

1 di [( x 2 ? 1)i ], i ? 0,1, 2,?, n (6) i i 2 i ! dx

[ pi^6/384,

pi^5/160, pi^4/64, pi^3/24, pi^2/8,

pi^3/24] pi^2/8 ] pi/2 ]

[ pi^5/160, pi^4/64, [ pi^4/64, B'= pi^3/24,

勒让德正交多项式有如下递推关系

L0 ( x) ? 1 , L1 ( x) ? x ,
Li ?1 ( x) ? 2i ? 1 i xLi ( x) ? Li ?1 ( x), i ? 1, 2,?, n ? 1? 7 ? i ?1 i ?1

(exp(pi/2)*(pi^3 - 12*pi + 24))/16 (exp(pi/2)*(pi/2 - 1)*(pi/2 + 1))/2 + 1/2 (pi*exp(pi/2))/4 - 1/2 exp(pi/2)/2 + 1/2

可得 L2 ( x) ?

3 2 1 5 3 x ? , L3 ( x) ? x3 ? x 2 2 2 2

求得结果,误差为 0.3020。 算例分析 在 matlab 中编程计算(程序见附录) ,第一 种方法的结果为 >>f=@(x)exp(x).*sin(x); >> [P,error]=polyappro(f,0,pi/2) 得到结果: P= -0.0708 error = 0.0100 1.5765 0.7658 0.0201

第二种方法,勒让德多项式逼近 >> f=inline('exp(x).*sin(x)'); >> [Y,error]=LegendreApproximation(f,4) 得到结果: error = 0.3020

结论 两种方法逼近的效果比较,第一种基函数逼 近的整体效果好,误差小,但是从图上可以看出 局部细节不是很准确;而第二种勒让德多项式逼 近的结果在前半部分非常好,但后边误差较大, 总体误差大。 可以看到 A= [ pi^7/896, pi^6/384, pi^5/160, pi^4/64] 参考文献
[1]矩阵理论讲义(矩阵论第二章),19-20.

附录

方法一:求内积 >> f=inline('sin(x).*exp(x)','x'); >> fy0=quad(f,0,pi/2) fy0 = 2.9052 >> f=inline('sin(x).*exp(x).*x','x'); >> fy1=quad(f,0,pi/2) fy1 = 3.2781 >> f=inline('x.^2.*sin(x).*exp(x)','x'); >> fy2=quad(f,0,pi/2) fy2 = 4.0294 >> f=inline('x.^3.*sin(x).*exp(x)','x'); >> fy3=quad(f,0,pi/2) fy3 = 5.2035 最佳平方逼近函数: function [poly,error]=polyappro(f,a,b) syms x P=[1,x,x.^2,x.^3]; %P=[1,x,1.5*x.^2-0.5,2.5*x.^3-1.5]; m=length(P); for i=1:m for j=1:m A(i,j)=int(P(m-i+1).*P(m-j+1),a,b); end B(i)=int(f*P(m-i+1),a,b); end poly=A\B'; poly=sym2poly(poly'); xx=a:0.01:b; yy=feval(f,xx); ypoly=polyval(poly,xx); polysym=poly2sym(poly); delta=f-polysym; error=sqrt(int(delta.*delta,a,b)); error=sym2poly(error); plot(xx,yy,xx,ypoly,'r-') end

fval=feval(f,xx); for i=1:n+1 w(i)=(2*(i-1)+1)/2*quad(@(x)f(x).* mfun('p',i-1,x),-1,1); YY(i,:)=w(i).*mfun('p',i-1,xx); Y=sum(YY); error=norm(fval-Y,'inf'); plot(xx,fval,xx,Y,'r'); end end

方法二:勒让德多项式 Function [Y,error]=LegendreApproximation(f,n) xx=0:0.01:0.5*pi;


相关文章:
最佳平方逼近多项式
班级 时间 2013 年 10 月 9 日 实验地点 一、实验目的及要求 指导教师 1、掌握最佳平方逼近的算法,能够根据给定的函数值表达求出二、三次最佳平 方逼近多项式...
数值分析,第6章,习题
1 第章测试卷 安全 14-1-1 和工商 14-1-1 红 6 整合版 三.解答题 ...x 求[-1,1]上的二次最佳平方逼近多项式 2 解:勒让德多项式: P ,P )/2...
数值分析第二次上机作业实验报告
数值分析第二次上机作业实验报告_理学_高等教育_教育...语言编写连续函数最佳平方逼近算法程序(函数式 M ...三.程序功能和使用说明 1.采用基于正交多项式的最佳...
矩阵理论作业5:写出勒让德最佳平方逼近实现
矩阵理论作业5:写出勒让德最佳平方逼近实现 隐藏>>...Legendre 正交多项式的一个很重要的应 用是计算函数...1 ( x) b?a b dx, ?a 2 a?b 2 (6) (...
MATLAB上机实验——最佳平方逼近
中国石油大学(北京)数值分析课程上机作业 一. 任务:...6. 程序输入: (1)待求的被逼近函数值的数据点 ...多项式作基的函数最佳平方逼近算法程序 LEASTP.m (...
最佳平方逼近方法
(inv(l)*y',3) p=0; for i=1:(n+1) p=p+c(i)*base(x,i); end p 四、算法实现 例 1.求 = 2 + 1在 0,1 上的一次最佳平方逼近多项式。...
数值分析_第三次上机
.88 6.求 f(x)=2x4+3x3-x2+1 在[-1,1]上的三次最佳一致逼近多项式...9.求函数 f(x)在指定区间上关于Φ (x)=span{1,x}的最佳平方逼近多项式。...
数值计算方法_最佳平方逼近
(6) 25 4、插值逼近,其逼近准则为: P?xi ? ?...2 dx (12) (13) 所以最佳平方逼近多项式 Pn* ?...0 , b ? 1 时,其系数矩阵就是著名的Hilbert(...
matlab最佳平方逼近
(x)在[-1,1]上的二、三次最佳平方逼近多项式。...最佳平方逼近算法 (1) 输入被逼近函数 f(x)和...系数矩阵和右端的项由式(3)得到; (3) 由式(3...
...实验“Chebyshev多项式最佳一致逼近,最佳平方逼近”...
数学实验“Chebyshev多项式最佳一致逼近,最佳平方逼近”...最佳平方逼近: 求定义在区间 [ t 算法如下。 设...(f,6); if(i==k+1) if(nargin==3) f=...
更多相关标签: