函数逼近与曲线(面)拟合的MATLAB程序(7)
发布时间:2021-06-06
发布时间:2021-06-06
函数逼近与曲线(面)拟合的MATLAB程序
end
end
c(j)=0;
for i=1:n
c(j)=c(j)+feval(f(j,:),X(i))*Y(i);
end
end
a=b\c;
WE=0;
for i=1:n
ff=0;
for j=1:m
ff=ff+a(j)*feval(f(j,:),X(i));
end
WE=WE+(Y(i)-ff)*(Y(i)-ff);
end
if nargin==3
return;
end
yy=[];
for i=1:m
l=[];
for j=1:length(xx)
l=[l,feval(f(i,:),xx(j))];
end
yy=[yy l'];
end
yy=yy*a; yy1=yy'; a=a';WE;
2例7.6.1 对数据X和Y, 用函数y 1,y x,y x进行逼近,用所得到的逼近函
数计算在x 6.5处的函数值,并估计误差.其中
X=(1 3 4 5 6 7 8 9); Y=(-11 -13 -11 -7 -1 7 17 29).
解 在MATLAB工作窗口输入程序
>> X=[ 1 3 4 5 6 7 8 9]; Y=[-11 -13 -11 -7 -1 7 17 29];
f=['fun0';'fun1';'fun2']; [yy,a,WE]=zjjfbj(f,X,Y,6.5)
运行后屏幕显示如下
yy =
2.75000000000003
a =
-7.00000000000010 -4.99999999999995 1.00000000000000
WE =
7.172323350269439e-027
2y cosx,y ex,y sinx例7.6.2 对数据X和Y,用函数y 1,y x,y x,
进行逼近,其中X=(0 0.50 1.00 1.50 2.00 2.50 3.00),Y=(0 0.4794 0.8415 0.9815 0.9126 0.5985 0.1645).
解 在MATLAB工作窗口输入程序
>> X=[ 0 0.50 1.00 1.50 2.00 2.50 3.00];
Y=[0 0.4794 0.8415 0.9815 0.9126 0.5985 0.1645];
f=['fun0';'fun1';'fun2';'fun3';'fun4';'fun5'];xx=0:0.2:3;
[yy,a,WE]=zjjfbj(f,X,Y, xx), plot(X,Y,'ro',xx,yy,'b-')
运行后屏幕显示如下(图略)
yy = Columns 1 through 7
-0.0005 0.2037 0.3939 0.5656 0.7141 0.8348 0.9236
Columns 8 through 14
下一篇:入党志愿书填写参考模板