函数逼近与曲线(面)拟合的MATLAB程序(8)
发布时间:2021-06-06
发布时间:2021-06-06
函数逼近与曲线(面)拟合的MATLAB程序
0.5191
Columns 15 through 16
0.3444 0.1642
a = 0.3828 0.4070 -0.3901 0.0765 -0.4598 0.5653 WE = 1.5769e-004
即,最佳逼近函数为
y=0.3828+0.4070*x-0.3901*x^2+0.0765*exp(x) -0.4598*cos(x) +0.5653*sin(x).
7.7 三角多项式逼近及其MATLAB程序
计算三角多项式的MATLAB主程序
function [A,B,Y1,Rm]=sanjiao(X,Y,X1,m)
n= length(X)-1;max1=fix((n-1)/2);
if m > max1
m=max1;
end
A=zeros(1,m+1);B=zeros(1,m+1);
Ym=(Y(1)+Y(n+1))/2; Y(1)=Ym; Y(n+1)=Ym; A(1)=2*sum(Y)/n; for i=1:m
B(i+1)=sin(i*X)*Y'; A(i+1)=cos(i*X)*Y';
end
A=2*A/n; B=2*B/n; A(1)=A(1)/2;Y1=A(1);
for k=1:m
Y1=Y1+A(k+1)*cos(k*X1)+ B(k+1)*sin(k*X1);
Tm=A(1)+A(k+1).*cos(k*X)+ B(k+1).*sin(k*X); k=k+1;
end Y;Tm; Rm=(sum(Y-Tm).^2)/n;
例7.7.1 根据[ , ]上的n 13,60,350个等距横坐标点xi 2i n(i 0,1,2, ,n)和函数f(x) 2sinx. 3
(1)求f(x)的6阶三角多项式逼近,计算均方误差;
(2)将这三个三角多项式分别与f(x)的傅里叶级数
3 nn 1f(x) ( 1)sinnx 2 n 19n 1
的前6项进行比较;
(3)利用三角多项式分别计算Xi= -2, 2.5的值;
(4)在同一坐标系中,画出函数f(x),n 13,60,350的三角多项式和数据点的图形.
解 (1)输入程序
>> X1=-pi:2*pi/13:pi;Y1=2*sin(X1/3);X1i=[-2,2.5];
[A1,B1,Y11,Rm1]=sanjiao(X1,Y1,X1i,6),
X2=-pi:2*pi/60:pi;Y2=2*sin(X2/3);
[A2,B2,Y12,Rm2]=sanjiao(X2,Y2,X1i,6)
X3=-pi:2*pi/350:pi;Y3=2*sin(X3/3);
[A3,B3,Y13,Rm3]=sanjiao(X3,Y3,X1i,6)
X1i=[-2,2.5];Y1=2*sin(X1i/3)
for n=1:6
bi=(-1)^(n+1)*18*sqrt(3)*n/(pi*(9*n^2-1))
end
(2)画图,输入程序
>>X1=-pi:2*pi/13:pi;Y1=2*sin(X1/3);
Xi=-pi:0.001:pi; f=2*sin(Xi/3);
[A1,B1,Y1i,R1m]=sanjiao(X1,Y1,Xi,6);X2=-pi:2*pi/60:pi;
下一篇:入党志愿书填写参考模板