函数的一次最佳平方逼近
袁勇超,0818180208,R数学08-2班
一、算法理论
下面研究在区间a,b上一般的最佳平方逼近问题。对f(x)Ca,b及Ca,b中
span,,,S01n的一个子集,若存在(x),使
2
f-S22inff-SS22infSba(x)f(x)-S(x)dx,
S(x)Sf(x)Ca,b 则称是在子集中的最佳平方逼近函数。为了求(x),由
式可知,该为题等价于求多元函数。
2n)GG(1,x,x,,xn若用H表示行列式对应的矩阵,则
121(n1)112131(n2)H1(n1)1(n2)1(2n1),
H称为Hilbert矩阵。记
TTa(a,a,,a)d(d,d,d)01n01n ,, kd(f,x)(k0,1,,n), k其中
则方程 Had
aa (k0,1,,n)即为所求。 kk的解
二、算法框图
开始 f(x)闭区间连续函数
d0Re sult0 d1Re sult1 输出系数
a0,a1 三、算法程序
#include double function1(double x) { double s1; s1=1/sqrt(4+x*x);//替换函数 return s1; } double function2(double x) { double s2; s2=x/sqrt(4+x*x);//替换函数 return s2; } double ReiterationOfSimpson(double a,double b,double n,double f(double x)) { double h,fa,fb,xk,xj; h=(b-a)/n; fa=f(a); fb=f(b); double s1=0.0; double s2=0.0; for(int k=1;k { double a=0.0,b=1.0,Result[2]; int n=5; Result[0]=ReiterationOfSimpson(a,b,n,function1); Result[1]=ReiterationOfSimpson(a,b,n,function2); printf(\"d0=%f,d1=%f\\n\\n\ double x[2]={Result[0],Result[1]}; double a0,a1; a0=4*Result[0]-6*Result[1]; a1=12*Result[1]-4*Result[0]; printf(\"a0=%5.7f,a1=%5.7f\\n\\n\ } 四、算法实现 (一)设f(x)1/4x2,求0,1上的一次最佳平方逼近多项式。 解:运行程序 (1) 显示结果。 f(x)1(4xx),求0,1上的一次最佳平方逼近多项式。 (二)设 解:运行程序 (1)显示结果 因篇幅问题不能全部显示,请点此查看更多更全内容