使用matlab计算变上限积分,matlab含有变上限积分参数的非线性回归

该博客通过一个实例展示了如何在MATLAB中使用fitnlm函数进行非线性回归,特别是处理包含变上限积分的问题。文章详细解释了自定义函数myfun来模拟积分过程,并提供了完整的MATLAB代码,最终得出的非线性回归模型系数估计值,显示出高拟合度。
摘要由CSDN通过智能技术生成

从一个例子出发

已知数据

y=[1.2 1.5 1.8 2.2 2.7 3.6 4.16 4.79 5.26 5.64 10.5 11.1 11.6 11.7 26.9 41.2 ]

x=[1.5 1.8 2.1 2.5 3 3.8 4.7 5.3 5.8 6.1 14.1 16.2 18.6 19.3 36.1 60.5]

散点图为

2ed8af04e0893f62ba96c23a272e2a98.png

x、y满足的关系为:

y ( x ) = ∫ 0 x a d x 1 + b / x \ y(x)=\int_0^x \frac{adx} {1+b/x}y(x)=∫0x​1+b/xadx​

使用fitnlm函数

函数的用法可以具体参考:

https://ww2.mathworks.cn/help/stats/fitnlm.html?requestedDomain=cn

这里使用:

mdl = fitnlm(x,y,modelfun,beta0)形式

其中modelfun是函数句柄,也就是我们需要自己定义的y与x之间的关系

这里使用function形式,也可以单独保存为一个.m文件

function y=myfun(p,x)

N=size(x,1); %传入进来的是x向量

y=zeros(N,1); %需要计算每一个y分量

Nn=1e5; %自定义积分间隔,相当

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值