西京学院数学软件实验任务书
实验十八实验报告
一、实验名称: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)/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;
第二篇:数学实验“线性方程组高斯消去法”实验报告(内含matlab程序)
西京学院数学软件实验任务书
实验一实验报告
一、实验名称:线性方程组高斯消去法。
二、实验目的:进一步熟悉理解Guass消元法解法思路,提高matlab编程能力。
三、实验要求:已知线性方程矩阵,利用软件求解线性方程组的解。
四、实验原理:
消元过程:
设,令乘数,做(消去第i个方程组的)操作×第1个方程+第i个方程(i=2,3,.....n)
则第i个方程变为
这样消去第2,3,。。。,n个方程的变元后。原线性方程组变为:
这样就完成了第1步消元。
回代过程:
在最后的一方程中解出,得:
再将的值代入倒数第二个方程,解出,依次往上反推,即可求出方程组的解:
其通项为
五、实验内容:
function maintest2
clc
clear all
A=[1 3 4;2 4 5;1 4 6];%系数矩阵
b=[1 7 6]'%常数项
num=length(b)
for k=1:num-1
for i=k+1:num
if A(k,k)~=0
l=A(i,k)/A(k,k);
A(i,:)=A(i,:)-A(k,:).*l;
b(i)=b(i)-b(k)*l;
end
end
end
A
b
%回代求x
x(num)=b(num)/A(num,num);
for i=num-1:-1:1
sum=0;
for j=i+1:num
sum=sum+A(i,j)*x(j);
end
x(i)=(b(i)-sum)/A(i,i);
end
x
End
六、实验结果:
A =
1.0000 3.0000 4.0000
0 -2.0000 -3.0000
0 0 0.5000
b =
1.0000
5.0000
7.5000
x =
16 -25 15