matlab 分式拟合,第七讲matlab实现非线性拟合.ppt

其中 R2越趋近于1表明拟合效果越好. 如果是多项式函数,则称为多项式回归,此时的参数即多项式的系数;如果为指数函数、对数函数、幂函数或三角函数等,则称为非线性拟合.下面的图形给出了常见曲线与方程的对应关系: 在Matlab中实现可决系数的计算的例子: x=[2:16]; y=[6.42,8.2,9.58,9.5,9.7,10,9.93,9.99,10.49,10.59,10.6,10.8,10.6,10.9,10.76]; y1=x./(0.1152+0.0845*x); % 拟合曲线 R2=1-sum((y-y1).^2)/sum((y-mean(y)).^2) 幂函数 指数函数 双曲线函数 对数函数 指数函数 S形曲线 具有S形曲线的常见方程有: 罗杰斯蒂(logistic)模型: 龚帕兹(Gomperty)模型: 理查德(Richards)模型: 威布尔(Weibull)模型: 为了实现非线性拟合,首先要定义在线函数 1. inline 定义的函数:用于曲线拟合、数值计算 步骤:(1)建立M文件; (2)fun=inline('f(x) ', '参变量','x') 例1. 建立函数: a,b,c为待定的参数 fun=inline('b(1)*(1-b(2)*exp(-b(3)*x))','b','x'); 此处,将b看成参变量,b(1),b(2),b(3)为其分量. 若计算函数在x=0:0.1:1上的函数值,由于此时x为矩阵,只需将函数表达式中的某些量表示成向量有些*改成.*即可. 在实际问题中,有时散点图作出后未必是多项式的图形,可能像其他的曲线,这时可以猜测曲线类型,然后利用如下命令: [beta,r,J] = nlinfit(x,y,fun,beta0) 其中,x,y为原始数据,fun是在M文件中定义的函数,beta0是函数中参数的初始值;beta为参数的最优值,r是各点处的拟合残差,J为雅克比矩阵的数值. 例2. 已知如下数据,求拟合曲线 k=[ 0,47,93,140,186,279,372,465,558,651]; y=[18.98,27.35,34.86,38.52,38.44,37.73,38.43,43.87,42.77,46.22]; plot(k,y,'*') 根据右图,我们猜测曲线为: 现在利用最小二乘法确定最佳参数:b1,b2,b3 b0=[43,0.6,0.1]; %初始参数值 fun=inline('b(1)*(1-b(2)*exp(-b(3)*k))','b','k'); [b,r,j]=nlinfit(k,y,fun,b0); b %最佳参数 R=sum(r.^2) %误差平方和 b = 42.6643,0.5483,0.0099 即拟合曲线为: (图6.3) 拟合结果如右图所示,红色为拟合曲线图形,*为原始散点图. y1=42.6643*(1-0.5483*exp(-0.0099*k)); plot(k,y,'*',k,y1,'-or') 作图程序为: (图6.4) 练习:计算可决系数 例3.炼钢厂出钢时所用盛钢水的钢包,由于钢水对耐火材料的侵蚀,容积不断增大,我们希望找出使用次数与增大容积之间的函数关系.实验数据如下: 表4.2 钢包使用次数与增大容积 使用 次数 2 3 4 5 6 7 8 9 增大 容积 6.42 8.2 9.58 9.5 9.7 10 9.93 9.99 使用 次数 10 11 12 13 14 15 16 增大 容积 10.49 10.59 10.6 10.8 10.6 10.9 10.76 分别选择函数 拟合钢包容积与使用次数的关系 ,在同一坐标系内作出函数图形. x1=[2:16]; y1=[6.42,8.2,9.58,9.5,9.7,10,9.93,9.99,10.49,10.59,10.6,10.8,10.6,10.9,10.76]; b01=[0.1435,0.084]; %初始参数值 fun1=inline('x./(b(1)+b(2)*x)','b','x'); % 定义函数 [b1,r1,j1]=nlinfit(x1,y1,fun1,b01); y=x1./(0.1152+0.0845*x1); %根据b1写出具体函数 plot(x1,y1,'*',x1,y,'-or'); 下面给出分式函数拟合程序: 初始参数b0的计算, 由于确定两个参数值,因此我们选择已知数据中的两点(2,6.42

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值