资源描述:
《非线性最小二乘数据拟合(高斯-牛顿法).ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、当变量之间为非线性相关时,可用非线性最小二乘数据拟合(高斯—牛顿法)。[beta,r,j]=nlinfit(x,y,′fun′,beta0)[ypred,delta]=nlpredci(FUN,inputs,beta,r,j)ci=nlparci(beta,r,j)nlintool(x,y,′fun′,beta0)nlinfit非线性拟合函数。beta是以x,y为数据返回的系数值。fun是系数向量和数组x的函数,返回拟合y值的向量。beta0为选取的初始值向量,r为拟合残差,j为Jacobian矩阵值。nlpredci非线性最小二乘预测置信区间。nlparci非线
2、性模型参数置信区间。ypred为预测值,delta为置信区间的半长值,inputs为矩阵。ci为b的误差估计。nlintool非线性拟合交互式图形工具。显示95%置信区间上下的两条红线和其间的拟合曲线。移动纵向虚线可显示不同的自变量及其对应的预测值。还可有其他参数。非线性拟合相关命令例题1:某筛分试验测得筛孔尺寸与累计产率间的关系如表所示,试建立模型。产率与筛孔关系筛孔/mm502513630.5产率/%1.51130557088此为一近似指数关系,即型。用MATLAB编程首先建立一个′ep′函数文件。functionf=ep(b,x);f=(b(1)*exp(-
3、b(2)*x)输入x=[502513630.5]’;y=[1.51130557088];b0=[11];%初始值[b,r,j]=nlinfit(x,y,′ep′,b0);b[yp,d]=nlperdci(′ep′,x,b,r,j);ci=nlparci(b,r,j)%输出预测值、残差及置信区间nlintool(x,y,′ep′,b0);%绘制非线性拟合曲线图3.14plot(x,r,′――′)%绘残差曲结果得b=91.41580.0855ci=90.208592.62310.08280.0883移动垂直于x轴的虚线可以显示y随x的变化。数学模型为y=91.4158
4、e-0.0855x例2已知浮煤累计灰分及产率为x和y,试进行非线性拟合。x=[3.467.339.4710.4811.1911.7912.7820.50];y=[10.6956.8476.8982.1584.7086.3288.45100];现采用含有双曲正切的函数拟合。f=100*(b(1)+b(2)*x+b(2)*b(3)*tanh(b(4)*(x-b(5))));输入x=x’;b0=[0.20-0.4-0.15];%初始值[b,r,j]=nlinfit(x,y,′mf′,b0);[yp,d]=nlpredci(′mf′,x,b,r,j);nlintool(x
5、,y,′mf′,b0)结果b=0.34140.0136-0.3797-0.33656.2948即y=100*(0.3414+0.0136x-0.3797tanh(-0.3365(x-6.2948)))由计算出的yy可知,拟合效果很好。第三讲线性规划线性规划问题是目标函数和约束条件均为线性函数的问题minsub.to:其中f、x、b、beq、lb、ub为向量,A、Aeq为矩阵。其它形式的线性规划问题都可经过适当变换化为此标准形式。补充知识:解方程或方程组用solve符号解代数方程solve(′eq1′,′eq2′,′eqn′,′var1,var2,…,varn′)e
6、qn为符与方程,varn为符号变量。解代数方程ax2+bx+c=0的根。symsabcxg=a*x^2+b*x+c;s=solve(g)s=[1/2/a*(-g+(g^2-4*2*c)^(1/2))][1/2/a*(-g+(g^2+4*2*c)^(1/2))]类似地,solve(′2*x^2+6*x+4′)得ans=[-2][-1]求解x2+xy+y=3,x为参数。solve(′x^2+x*y+y=3′,′x′)ans=[-1/2*y+1/2*(y^2-4*y+12)^(1/2)][-1/2*y-1/2*(y^2-4*y+12)^(1/2)]解au2+υ2=0,u
7、-υ=1。[u,v]=solve(′a*u^2+v^2=0′,′u-v=1′)u=[1/2/(a+1)*(-2*a+2*(-a)^(1/2))+1][1/2/(a+1)*(-2*a-2*(-a)^(1/2))+1]v=[1/2/(a+1)8(-2*a+2*(-a)^(1/2))][1/2/(a+1)8(-2*a-2*(-a)^(1/2))]2解线性方程组MATLAB用函数linsolve求解线性方程组Ax=b,要求A的列数等于b的行数;也可用矩阵除等方法求解。linsolve的语法格式为x=linsolve(A,b)例题解线性方程组a=[121;223;-1-30
8、];%ra