matlab最佳平方逼近.docx
最佳平方逼近试验
任 兵 ( 200820302025)
、问题叙述
求函数f(x)=exp(x)在[-1,1]上的二、三次最佳平方逼近多项式。 二、问题分析
由教材定义6.5有:对于给定的函数f(x)^C[a,b]如果存在
S *(x) Spar{ 0(x), ι(X)Jn ) n (x)}
使得
a P(X) [f (X) — S * (X)『dx = m? L P (X) I f (X) - s(x) f dx
则称S (X)是f (X )在集合Spar{ 0(x), ι(x)JH ) n (x)}中的最佳平方逼近函数。
n
显然,求最佳平方逼近函数S *(x)
a *j
?j (x)的问题可归结为求它的系数
j =0
a ;,a ;,…,a ;,使多元函数
取得极小值,也即点(a 0,a 1*, , a ;)是I (a o ,…,a ∏)的极点。由于I (a o , a ι, a n )是关于a o )a ι,…,a ∏的二次函数,利用多元函数取得极值的必要条件,
I (a °, a ι,
“gw 二a%”
.:I 0
-Z a k
(k = 0, 1,2,…,n)
^=
2
af f(X
)「
n
a j
j -0
'j
(X ^i k (X)d ^0
得方程组
∏
b
Σ a j a P(X^k (X^j (x)dx
j =0 a
b
=a ?
(x)f(x) k (x)dx, (k=0,1,2, ,n)
如采用函数内积记号
b
(d j)= a「(x) t(x)「j(x)dx.
q
(f,
那么,方程组可以简写为
n
X ( I, j)a^(f, k) (k =0,1,2川I, n) .................. (1)
j=o
这是一个包含n + 1个未知元a o, aι,…,a∏的n + 1阶线性代数方程组,写成矩阵
形式为Array
(2)
此方程组叫做求a j
显然,其系数行列式就是克莱姆行列式Gn = Gn Cah…,;:n)o由于S 「1,…,-n线性无关,故Gn = 0 ,于是上述方程组存在唯一解
a k =a:(k =0,1,…,n)。从而肯定了函数f (x)在SParn o(x), 1(x)J∣∣, ∏(X)}中如果存在最佳平方逼近函数,则必是
n
S*(x)八a* j(x) .............................................. .??(3)
j=0
三、实验程序
1、最佳平方逼近算法
(1)输入被逼近函数f(x)和对应的逼近区间[a,b]并选择逼近函数系{为(X)} 和
权函数;
(2)解方程组(1)或(2),其中方程组的系数矩阵和右端的项由式(3)得至V;
(3)由式(3)得到函数的最佳平方逼近。
2、将上述算法编写成MATLAB程序共需三个程序:
(1) 第一个程序(函数名:squar_approx.m)
计算最佳逼近函数的系数,源代码如下:function S=SqUar_approx(a,b ,n) %定义
逼近函数
global i;global j; %全局变量
if nargin<3 n=1;end %判断
Phi2=zeros(n+1); %生成一个n+1*n+1 大小的全0 矩阵数组
for i=0:n
for j=0:n;
Phi2(i+1,j+1)=quad(@rho_phi,a,b); %求rho_phi 积分
end
end
PhiF=zeros(n+1,1); %生成一个n+1*n 大小的全0矩阵数组for i=0:n
PhiF(i+1)=quad(@fun_phi,a,b); % 求fun_Phi 积分
end
s=Phi2\PhiF;
( 2)第二个程序(函数名:rho_phi.m)
代码如下:
function y=rho_phi(x) global i;global j;
y=(rho(x).*phi_k(x,i)).*phi_k(x,j);
(3)第三个程序(函数名:fun_phi.m)
function y=fun_phi(x) global i;
y=(rho(x).*phi-k(x,i)).*obj(x);
四、试验结果
f(x)=exp(x) 在[-1,1]上的二、三次最佳平方逼近多项式。
(1)编写下面三个函数:外部函数;多项式函数;被逼近函数;
function y=rho(x) %外部函数
y=1;
function y=phi_k(x,k) %多项式函数
if k==0 y=ones(size(x));
else
y=x.^
k;
end function y=obj(x) %被逼近函数y=exp(x)
(2)当求的是二次逼近时得到如下结果
>> clear
>> S=squar_approx(-1,1,2)
0.9963
1.1036
0.5367
绘制两者的图形:
>> fun='exp(x):
>> fplot(fu n,[-1,1])
>> hold On
>> xi=-1:0.1:1;
>> yi=polyval(S,xi);
>> plot(xi,yi,'r:')
得到如下结果:
(3) 当求的是三次逼近时得到如下结果
>> S=SqUar_approx(_1,1,3)
0.9963
0.9980
0.5367
0.1761
绘制图形如下:
>> fun='exp(x)';
>> fplot(fu n, [-1,1])
>> hold On
>> xi=-1:0.1:1;
>> yi=polyval(S,xi);
>> plot(xi,yi,'r:')
得到如下所得图形:
五?试验结论
在该次实验中较顺利的达到了预期的结果。从试验结果看出三次逼近没有二次逼近效果理想,验证了最佳平方逼近理论。
矩阵理论作业6:两种算法求三次最佳平方逼近多项式
两种算法求()f x 的三次最佳平方逼近多项式 摘 要 对于一个较复杂的函数,往往需要求一个简单多项式来逼近。本文选取两种基函数,用两种算法计算一个函数()=exp()sin()f x x x ?在[0,]2x π∈上的三次最佳平方逼近多项式及其逼近误差,然后应 用matlab 进行计算作图并对比两种方法的逼近结果。 关键字:三次 最佳平方 逼近 两种算法 引言 多项式的一个重要应用就是可以用来逼近一个区间上的连续函数,往往许多复杂的函数需要用各种方法来进行多项式逼近。本文参考矩阵理论讲义 [1] 对函数()=e x p ()s i n (f x x x ?在[0,]2 x π ∈上进行三次最佳平方逼近,求其逼近 误差,并在matlab 中编程计算和绘图以验证和比较逼近结果的准确性。 求最佳平方逼近的多项式 ()=exp()sin()f x x x ?,[0,]2 x π ∈求三次的 最佳平方逼近多项式(内积中的权函数()=1x ρ)。 用两种算法实现,一是设{} 23 =1,,,span x x x Φ, 二是设为{}0123=(),(),(),()L x L x L x L x Φ,其中 (),0,1,2,3i L x i =是勒让德多项式。 第一种算法: {}23=1,,,span x x x Φ,由矩阵形式 (1) 根据[,]C a b 上内积定义 ((),())()()()b a f x g x x f x g x dx ρ=? (2) 其中权函数 ()=1x ρ,在[0,]2 x π ∈上计算得 23402345 1345624567 3 2.9052/2/8/24/6 4 3.2781/8/24/64/160 4.0294/24/64/160/384 5.2035/64/160/384/896a a a a ππππππππππππππππ??????????????????=?????????????? ????(3)解得待定系数00.0201a =,10.7658a =, 2 1.5765a =,20.0708a =-。即 23()0.02010.7658 1.57650.0708x x x x ?=++- (4) 误差2()0.0100x δ (5) 第二种算法: {}0123=(),(),(),()L x L x L x L x Φ,其中 (),0,1,i L x i =是勒让德多项式,其表达式为:
数学“Chebyshev多项式最佳一致逼近,最佳平方逼近”分析方案(内含matlab程序)
西京学院数学软件实验任务书 实验十八实验报告 一、实验名称:Chebyshev多项式最佳一致逼近,最佳平方逼近。
二、实验目的:进一步熟悉Chebyshev多项式最佳一致逼近,最佳平方逼近。 三、实验要求:运用Matlab/C/C++/Java/Maple/Mathematica等其中一种语言完成程序设计。 四、实验原理: 1.Chebyshev多项式最佳一致逼近: 当一个连续函数定义在区间上时,它可以展开成切 比雪夫级数。即: 其中为次切比雪夫多项式,具体表达式可通过递 推得出: 它们之间满足如下正交关系: 在实际应用中,可根据所需的精度来截取有限项数。切 比雪夫级数中的系数由下式决定:
2.最佳平方逼近: 求定义在区间上的已知函数最佳平方逼近多项式的 算法如下。 设已知函数的最佳平方逼近多项式为 ,由最佳平方逼近的定义有: 其中 形成多项式系数的求解方程组 其中
五、实验内容: %Chebyshev多项式最佳一致逼近 function f=Chebyshev(y,k,x0> syms t。 T(1:k+1>=t。 T(1>=1。 T(2>=t。 c(1:k+1>=0.0。 c(1>=int(subs(y,findsym(sym(y>>,sym('t'>>*T(1>/s qrt(1-t^2>,t,-1,1>/pi。 c(2>=2*int(subs(y,findsym(sym(y>>,sym('t'>>*T(2> /sqrt(1-t^2>,t,-1,1>/pi。
f=c(1>+c(2>*t。 for i=3:k+1 T(i>=2*t*T(i-1>-T(i-2>。 c(i>=2*int(subs(y,findsym(sym(y>>,sym('t'>>*T(i> /sqrt(1-t^2>,t,-1,1>/pi。 f=f+c(i>*T(i>。 f=vpa(f,6>。 if(i==k+1> if(nargin==3> f=subs(f,'t',x0>。 else f=vpa(f,6>。 end end End %最佳平方逼近
matlab最佳平方逼近教学内容
m a t l a b最佳平方逼近
最佳平方逼近试验 任 兵(200820302025) 一、问题叙述 求函数f(x)=exp(x)在[-1,1]上的二、三次最佳平方逼近多项式。 二、问题分析 由教材定义6.5有:对于给定的函数],[)(b a C x f ∈,如果存在 *01(){(),(),,()}n S x Span x x x ???∈L 使得 []22 *()()()min ()()()b b a a a x b x f x S x dx x f x s x dx ρρ≤≤??-=-???? 则称S *(x )是f (x )在集合01{(),(),,()}n Span x x x ???L 中的最佳平方逼近函数。 显然,求最佳平方逼近函数)()(0 * * x a x S j n j j ??=∑=的问题可归结为求它的系数**1*0,,,n a a a Λ,使多元函数 dx x a x f x a a a I j n j j b a n 2 010)()()(),,,(??????-=∑?=?ρΛ 取得极小值,也即点(**1*0,,,n a a a Λ)是I (a 0, …,a n )的极点。由于I (a 0, a 1, …,a n ) 是关于a 0, a 1, …,a n 的二次函数,利用多元函数取得极值的必要条件, 0=??k a I (k = 0, 1, 2, …, n ) 即 []0)()()()(20=-??????-=??∑?=dx x x a x f x a I k j n j j b a k ??ρ 得方程组
),,2,1,0(,)()()()()()(0n k dx x x f x dx x x x a k b a j k b a n j j Λ==??∑=?ρ??ρ 如采用函数内积记号 ,)()()(),(,)()()(),(dx x x f x f dx x x x k q a k j k b a j k ?ρ???ρ????== 那么,方程组可以简写为 0(,)(,) (0,1,2,,)n k j j k j a f k n ???===∑L (1) 这是一个包含n + 1个未知元a 0, a 1, …, a n 的n + 1阶线性代数方程组,写 成矩阵形式为 000100010 1111101(,)(,)(,)(,)(,)(,)(,)(,)(,)(,)(,)(,)n n n n n n n n a f a f a f ??????????????????????????? ? ? ? ? ? ?= ? ? ? ? ? ????? ??L L M M L L L L L …………(2) 此方程组叫做求a j (j = 0, 1, 2, …, n )的法方程组。 显然,其系数行列式就是克莱姆行列式G n = G n (?0, ?1, …, ?n )。由于?0, ?1, …, ?n 线性无关,故G n ≠ 0,于是上述方程组存在唯一解 ),,1,0(*n k a a k k Λ==。从而肯定了函数f (x )在01{(),(),,()}n Span x x x ???L 中如果存在最佳平方逼近函数,则必是 * * 0()()n j j j S x a x ?==∑……………………………...(3) 三、实验程序 1、最佳平方逼近算法
matlab最佳平方逼近.docx
最佳平方逼近试验 任 兵 ( 200820302025) 、问题叙述 求函数f(x)=exp(x)在[-1,1]上的二、三次最佳平方逼近多项式。 二、问题分析 由教材定义6.5有:对于给定的函数f(x)^C[a,b]如果存在 S *(x) Spar{ 0(x), ι(X)Jn ) n (x)} 使得 a P(X) [f (X) — S * (X)『dx = m? L P (X) I f (X) - s(x) f dx 则称S (X)是f (X )在集合Spar{ 0(x), ι(x)JH ) n (x)}中的最佳平方逼近函数。 n 显然,求最佳平方逼近函数S *(x) a *j ?j (x)的问题可归结为求它的系数 j =0 a ;,a ;,…,a ;,使多元函数 取得极小值,也即点(a 0,a 1*, , a ;)是I (a o ,…,a ∏)的极点。由于I (a o , a ι, a n )是关于a o )a ι,…,a ∏的二次函数,利用多元函数取得极值的必要条件, I (a °, a ι, “gw 二a%” .:I 0 -Z a k (k = 0, 1,2,…,n) ^= 2 af f(X )「 n a j j -0 'j (X ^i k (X)d ^0 得方程组 ∏ b Σ a j a P(X^k (X^j (x)dx j =0 a b =a ? (x)f(x) k (x)dx, (k=0,1,2, ,n) 如采用函数内积记号
b (d j)= a「(x) t(x)「j(x)dx. q (f,
数值计算方法_最佳平方逼近
25 数值分析—最佳逼近 ━基于MATLAB的实现与分析 §1 引 言 所谓函数最佳逼近就是从指定的一类简单的函数中寻找一个和给定的函数“最贴近”的函数,从几何(空间)的角度看,函数最佳逼近就是从指定的一类简单的函数(点的集合)中寻找一个与给定的函数(定点)距离最短的函数(点)。 由于在函数空间中可以定义不同的距离,不同意义下的距离度量定义了不同的逼近准则。 令P 表示指定的一类简单的函数集合 1、函数最佳一致逼近: 基于的距离度量如下 ()[ ] ()()d f P f x P x x a b ,,=-∈max (1) 逼近准则: ()[] ()()x P x f P f d b a x P P -=∈P ∈P ∈,max min ,min (2) 2、函数最均方逼近: 基于的距离度量如下 ()()()[][] d f P f x P x dx a b ,= -?2 12 (3) 逼近准则 ()=P ∈P f d P ,min min P ∈P ()()[][]f x P x dx a b -?2 12 (4) 如果给定的是函数在若干点处的函数值:()()x f x i i ,,i =0,1,, n ,那么还有称为: 3、最小二乘逼近: 基于的距离度量如下 ()()()[] d f P f x P x i i i n ,=-???? ? ?=∑01 2 (5) 逼近准则 ()=P ∈P f d P ,min min P ∈P ()()[]f x P x i i i n -???? ? ?=∑01 2 (6)
26 4、插值逼近,其逼近准则为: ()()i i x f x P =, ()n i x P ,,, , 10=P ∈ (7) 对于函数最佳逼近问题而言,用于逼近的简单的函数集合一般选取次数不超过n 次的多项式函数全体 ()()()(){} P n k k x P x P x k n ==≤deg (8) 即用多项式函数逼近给定的函数,其原因在于只需对自变量做加法、减法和乘法运算就能得到函数值是多项式函数显著的特点之一,因此,从计算的角度来说多项式函数是最简单的。 §2 函数最均方逼近 函数最佳均方逼近准则 min P ∈P ()()[][ ] f x P x dx a b -?2 1 2 (9) 与下面的准则等价 min P ∈P ()()[]?? ????-?b a dx x P x f 2 (10) 为了讨论问题时方便,在下面的讨论中我们采用准则(10)。 一般人们习惯于把一个n 次多项式写成n x x ,,,1 的线性组合,即 ()n n n n n a x a x a x a x P ++++=--1110 (11) 的形式,但是,这种表现形式在有些场合并不好,为说明这一点,我们先采用式(11)。当我们选取n 次多项式做最佳均方逼近时,积分 ()()[]?-b a n dx x P x f 2 (12) 的结果依赖于n 次多项式()x P n 系数k a ,n k ,,1,0 =,即 ()()()[]?-=Φb a n n dx x P x f a a a 2 10,,, (13) 所以最佳平方逼近多项式()x P n *必须满足如下条件:
矩阵理论作业5:写出勒让德最佳平方逼近实现
()[,]f x C a b ∈的勒让德最佳平方逼近实现 摘 要 Legendre 多项式的一个重要应用就是可以用多项式逼近一个区间上的连续函数。本文对 ()[,]f x C a b ∈区间范围内的函数进行勒让德最佳平方逼近的实现,推导出逼近的表达式并应用实际 例子进行计算。matlab 中计算的结果表明逼近表达式是正确的。 关键字:勒让德 最佳平方 逼近 引言 在函数逼近论中,Legendre 多项式的一个重要应用就是可以用多项式逼近一个区间上的连续函数。Legendre 正交多项式的一个很重要的应用是计算函数的数值积分,本文参考矩阵理论讲义[1]对()[,]f x C a b ∈的勒让德最佳平方逼近形式进行了推导,并在matlab 中计算和验证逼近的结果的正确性。 勒让德最佳平方逼近的实现 根据定理2.1.9,如果()[1,1]f x C ∈-,则存 在0 ()()[]n i i n i p x w L x x == ∈∑P ,[1,1]x ∈-作为的 ()f x 的最佳平方逼近,即0ε?>,存在n 使得 () 1/2 1 2 1 ()()(()())f x p x f x p x dx ε--= -, 其中 1 1 1 112 1 ()()21()(),2 ()0,1,,i i i i f x L x dx i w f x L x dx L x dx i n ---+= = =??? 对于()[1,1]f x C ∈-,求积分的Gauss-Legendre 近似求积公式为: 1 1 ()()n i i i f x dx A f x -=≈∑? (1) 其中,0,1,2,,i x i n = 是1n +阶多项式 1()n L x +的零点,求积系数 1 1' 11() ,0,1,,()() n i i n i L x A dx i n x x L x +-+==-? (2) 根据这个定理我们来推导更一般的情况,当 ()[,]f x C a b ∈时,用变量替换的方法实现 ()b a f x dx ? 的勒让德最佳平方逼近。 设 22 b a b a x t -+= + (3) [,]x a b ∈则[1,1]t ∈-满足定理2.1.9。将t 关于x 的表达式 2a b t x b a b a += --- (4) 带入定理中即可得到所求。则定理可以叙述
matlab最佳平方逼近
最佳平方逼近试验 任 兵(200820302025) 一、问题叙述 求函数f(x)=exp(x)在[-1,1]上的二、三次最佳平方逼近多项式。 二、问题分析 由教材定义6.5有:对于给定的函数],[)(b a C x f ∈,如果存在 *01(){(),(),,()}n S x Span x x x ???∈ 使得 []22 * ()()()min ()()()b b a a a x b x f x S x dx x f x s x dx ρρ≤≤??-=-??? ? 则称S *(x )是f (x )在集合01{(),(),,()}n Span x x x ??? 中的最佳平方逼近函数。 显然,求最佳平方逼近函数)()(0** x a x S j n j j ??=∑=的问题可归结为求它的系数 * *1*0,,,n a a a ,使多元函数 dx x a x f x a a a I j n j j b a n 2 010)()()(),,,(?? ? ???-=∑? =?ρ 取得极小值,也即点(* *1*0,,,n a a a )是I (a 0, …,a n )的极点。由于I (a 0, a 1, …,a n )是关于a 0, a 1, …,a n 的二次函数,利用多元函数取得极值的必要条件, 0=??k a I (k = 0, 1, 2, …, n ) 即 []0 )()()()(20=-?? ????-=??∑?=dx x x a x f x a I k j n j j b a k ??ρ 得方程组 ) ,,2,1,0(, )()()()()()(0 n k dx x x f x dx x x x a k b a j k b a n j j ==??∑=?ρ??ρ 如采用函数内积记号