正在加载图片...
(f(x)-y)2达到最小 用Maab计算:先按照f(x)建立一个函数文件,文件第一句格式为: function f=文件名(参数组,节点数组) 再用下面命令格式 参数组= Isqcurvefi函数文件名,参数组初值,节点数组,函数值数组) 例2:对例1中的数据,用函数y=a1+a2e作拟合,并画图显示拟合效 果,给出节点处总误差。 先建立并保存函数文件:文件名sp78hswj内容为 function f-syp78hswj(a, xO) f=a(1)+a(2)*exp(-a(3)*x0) 再下面主程序: hold x0=1.9y0=14.54499,535,565,590,6.10.6.26,6396.50; for 1=1: 9 plot(xo(), yo(i), + d fit('syp78hsw x0: 0. 2: 10; f-syp78hswj(a, x) plot(x, f) 78hswj(a, 0); sum((f-y0). 2) hold off 执行得:(a1,a2a3)=(69805-299110.2031) 节点处总误差wc=0.0076= − m i i i f x y 0 2 ( ( ) ) 达到最小。 用 Matlab 计算:先按照 f (x) 建立一个函数文件,文件第一句格式为: function f=文件名(参数组, 节点数组) 再用下面命令格式: 参数组=lsqcurvefit(‘函数文件名’,参数组初值,节点数组,函数值数组) 例 2:对例 1 中的数据,用函数 a x y a a e 3 1 2 − = + 作拟合,并画图显示拟合效 果,给出节点处总误差。 先建立并保存函数文件:文件名 syp78hswj 内容为: function f=syp78hswj(a,x0) f=a(1)+a(2)*exp(-a(3)*x0); 再下面主程序: clear hold on x0=1:9;y0=[4.54,4.99,5.35,5.65,5.90,6.10,6.26,6.39,6.50]; for i=1:9 plot(x0(i),y0(i),'+') end cscz=[1,1,1]; a=lsqcurvefit('syp78hswj',cscz,x0,y0) x=0:0.2:10;f=syp78hswj(a,x);plot(x,f) f=syp78hswj(a,x0); wc=sqrt(sum((f-y0).^2)) hold off 执行得: ( , , ) (6.9805, 2.9911,0.2031) a1 a2 a3 = − 节点处总误差 wc=0.0076
<<向上翻页
©2008-现在 cucdc.com 高等教育资讯网 版权所有