最佳二次逼近多项式MATLAB代码,数学实验“Chebshev多项式最佳一致逼近,最佳平方逼近”实验报告(内含matlab程序).doc...

数学实验“Chebshev多项式最佳一致逼近,最佳平方逼近”实验报告(内含matlab程序)

西京学院数学软件实验任务书

课程名称数学软件实验班级数0901学号0912020107姓名李亚强实验课题Chebyshev多项式最佳一致逼近,最佳平方逼近实验目的熟悉Chebyshev多项式最佳一致逼近,最佳平方逼近实验要求运用Matlab/C/C++/Java/Maple/Mathematica等其中一种语言完成实验内容Chebyshev多项式最佳一致逼近,最佳平方逼近成绩教师

实验十八实验报告

实验名称:Chebyshev多项式最佳一致逼近,最佳平方逼近。

实验目的:进一步熟悉Chebyshev多项式最佳一致逼近,最佳平方逼近。

实验要求:运用Matlab/C/C++/Java/Maple/Mathematica等其中一种语言完成程序设计。

实验原理:

Chebyshev多项式最佳一致逼近:

当一个连续函数定义在区间上时,它可以展开成切比雪夫级数。即:

其中为次切比雪夫多项式,具体表达式可通过递推得出:

它们之间满足如下正交关系:

在实际应用中,可根据所需的精度来截取有限项数。切比雪夫级数中的系数由下式决定:

最佳平方逼近:

求定义在区间上的已知函数最佳平方逼近多项式的算法如下。

设已知函数的最佳平方逼近多项式为,由最佳平方逼近的定义有:

其中

形成多项式系数的求解方程组

其中

实验内容:

%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)/sqrt(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

%最佳平方逼近

function coff=ZJPF(func,n,a,b)

C=zeros(n+1,n+1);

var=findsym(sym(func));

func=func/var;

for i=1:n+1

C(1:i)=(power(b,i)-power(a,i))/i;

func=func*var;

d(i,1)=int(sym(func),var,a,b);

end

for i=2:n+1

C(i,1:n)=C(i-1,2:n+1);

f1=power(b,n+1);

f2=power(a,n+1);

C(i,n+1)=(f1-f2)/(n+i);

end

coff=C\d;

- 0 -

你可能感兴趣的:(最佳二次逼近多项式MATLAB代码,数学实验“Chebshev多项式最佳一致逼近,最佳平方逼近”实验报告(内含matlab程序).doc...)