曲线拟合的线性最小二乘法及其MATLAB程序(2)

2019-04-22 13:55

y=[359.26 165.60 59.17 41.66 25.92 22.37 13.47

12.87 11.87 6.69 14.87 24.22];

Y=log(y); a=polyfit(x,Y,1); B=a(1);A=a(2); b=B,a=exp(A) n=length(x); X=8:-0.01:1; Y=a*exp(b.*X); f=a*exp(b.*x); plot(x,y,'r*',X,Y,'b-'), xlabel('x'),ylabel('y') legend('数据点(xi,yi)','拟合曲线y=f(x)')

title('例3.4.1 的数据点(xi,yi)和拟合曲线y=f(x)的图形') fy=abs(f-y); fy2=fy.^2; Ew=max(fy), E1=sum(fy)/n, E2=sqrt((sum(fy2))/n)

bx运行后屏幕显示y?ae的系数b =0.624 1,a =2.703 9,数据(xi,yi)与拟合函数f的最大误差Ew =67.641 9,平均误差E1=8.677 6和均方根误差E2=20.711 3及其数据点(xi,yi)和拟合曲线f(x)?2.7039e

0.6241x的图形(略).

3.5 函数逼近及其MATLAB程序

最佳均方逼近的MATLAB主程序

function [yy1,a,WE]=zjjfbj(f,X,Y,xx)

m=size(f);n=length(X);m=m(1);b=zeros(m,m); c=zeros(m,1); if n~=length(Y)

error('X和Y的维数应该相同') end

for j=1:m for k=1:m b(j,k)=0; for i=1:n

b(j,k)=b(j,k)+feval(f(j,:),X(i))*feval(f(k,:),X(i));

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例3.5.1 对数据X和Y, 用函数y?1,y?x,y?x进行逼近,用所得到的逼近函

110.

数计算在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

y?cosx,y?e,例3.5.2 对数据X和Y,用函数y?1,y?x,y?x2,y?sinx进行逼近,其中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

0.9771 0.9926 0.9691 0.9069 0.8080 0.6766

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).

x 111.


曲线拟合的线性最小二乘法及其MATLAB程序(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:华为公司治理与内部控制

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: