matlab y=ax b拟合,用MATLAB对y=a*x^b模型函数的拟合

x=[0.64,0.13,0.064,0.04];Y=[100,500,1000,1500];f=inline('betafit(1).*x.^betafit(2)','betafit','x');[betafit,res]=lsqcurvefit(f,[0.02,0.0000002],x,Y);betafit',resyy=betafit(1).*x.^betafit(2);corr=corrcoef(Y,yy)figure(1)plot(x,yy,'b',x,Y,'r')直接运行,betafit就是,a和b的值 分别为 77.0556-0.9244www.mh456.com防采集。

x=[0.64,0.13,0.064,0.04];Y=[100,500,1000,1500];f=inline('betafit(1).*x.^betafit(2)','betafit','x');[betafit,res]=lsqcurvefit(f,[0.02,0.0000002],x,Y); betafit',resyy=betafit(1).*x.^betafit(2);corr=corrcoef(Y,yy)figure(1)plot(x,yy,'b',x,Y,'r')直接运行,betafit就是,a和b的值 分别为 77.0556 -0.9244

这是个非线性方程(有x*y项),考虑用非线性回归的nlinfit函数。beta=nlinfit(X,y,fun,beta0) 将函数表示成fun,X,Y是函数图像上的一系列点值向量,beta0是参数估计的初值。beta就是最终的估计

bf8b5c11270b01060907beebef887120.png

x=[4.22 4.55 4.81 5.04];y=[0.274 0.483 0.701 0.944]; fun=inline('a(1)*x.^a(2)','a','x');lsqcurvefit(fun,[1,1],x,y);a ns= 0.000048 6.0849a=0.00048b=6.0849

用 nlinfit()函数或lsqcurvefit()函数,可以求得其曲线拟合系数a,b。求解步骤: x=。y=。func=(a,x)a(1)*x^(-1)+a(2)*x^(-2)%a=a(1),b=a(2) x0=[1,1] a=nlinfit(x,y,func,x0) b=a(2),a=a(1)

64380cd7912397dd44fa29ea5b82b2b7d1a28759.jpg

X=[4.22 4.55 4.81 5.04];Y=[0.274 0.483 0.701 0.944];fun=inline('a(1)*X.^a(2)','a','X');lsqcurvefit(fun,[1,1],X,Y);a ns=0.000048 6.0849a=0.00048b=6.0849内容来自www.mh456.com请勿采集。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值