使用matlab计算变上限积分,matlab含有变上限积分参数的非线性回归
从一个例子出发
已知数据
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]
散点图为
x、y满足的关系为:
y ( x ) = ∫ 0 x a d x 1 + b / x \ y(x)=\int_0^x \frac{adx} {1+b/x}y(x)=∫0x1+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; %自定义积分间隔,相当于把积分形式化为求和
Mn=1/Nn;
for i=1:N
for j=1:(x(i)*Nn)
y(i)=y(i)+p(1)*Mn/(1+p(2)/(Mn*j)); %求和代替积分
end
end
end
beta0是给定的初始值。
beta0=[0.5,0]; %自己选定的,或者说自己猜的
nlm1=fitnlm(x,y,@myfun,beta0); %注意@不要忘了
完整程序:
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]
plot(x,y,'-o')
ylim([0,50])
xlim([0,70])
xlabel('x','FontSize',20)
ylabel('y','FontSize',20)
hold on
beta0=[0.5,0];
nlm1=fitnlm(x,y,@myfun,beta0);
ynew=nlm1.predict(x);
plot(x,ynew)
function y=myfun(p,x)
N=size(x,1); %传入进来的是x向量
y=zeros(N,1); %需要计算每一个y分量
Nn=1e5; %自定义积分间隔,相当于把积分形式化为求和
Mn=1/Nn;
for i=1:N
for j=1:(x(i)*Nn)
y(i)=y(i)+p(1)*Mn/(1+p(2)/(Mn*j)); %求和代替积分
end
end
end
最后的结果:
nlm1的结果为:
nlm1 =
Nonlinear regression model:
y ~ myfun(b,X)
Estimated Coefficients:
Estimate SE tStat pValue
________ __________ __________ __________
b1 0.6704 0.015457 43.371 2.5239e-16
b2 -0.10095 6.8484e-07 -1.474e+05 9.6578e-66
Number of observations: 16, Error degrees of freedom: 14
Root Mean Squared Error: 0.955
R-Squared: 0.993, Adjusted R-Squared 0.992
F-statistic vs. zero model: 1.67e+03, p-value = 2.21e-17
使用matlab计算变上限积分,matlab含有变上限积分参数的非线性回归相关推荐
- matlab 计算指北角,用MATLAB如何计算出矩形区域内的最大值?
在MATLAB图像处理工具箱(Image Processing Toolbox)的GUI函数中,有一些用来在图像或坐标轴上选择矩形或椭圆区域的函数,使用示例如下: 第一行代码:显示matlab内置的一 ...
- spwm matlab 计算波表,利用MATLAB计算SPWM脉冲宽度与并应用STM32输出
先上一张spwm波形生成原理图: 首先利用MATLAB产生三角波与正弦波叠加: %% 产生正弦波与三角波叠加 y1=abs(sawtooth(a*2*pi*m,0.5));%三角波 y2=0.8*si ...
- matlab计算重心的函数,MATLAB计算出图像中多个物体的个数及重心.doc
MATLAB计算出图像中多个物体的个数及重心 计算出原始图像中物体的个数及每个物体的中心,并显示出来 I=imread('keshe17.bmp'); //主函数 figure(1),imshow(I ...
- matlab计算膜孔径分布,应用Matlab绘制活性炭吸附等温线和孔径分布图
第 31 卷 第 9 期 2012 年 9 月 实 验 室 研 究 与 探 索 RESEARCH AND EXPLORATION IN LABORATORY Vol. 31 No. 9 Sep. 20 ...
- matlab计算一个长式子,matlab求积分,式子太长
小弟遇到一式子, f(x)=6.02538E28*x^3*(-3.1542E-57/x^2+5.5256E47*(sin(1.4116*x)-1.4116*x*cos(1.4116*x))*exp(- ...
- matlab计算sinx近似值,《Matlab与数学实验》期末作业
<Matlab与数学实验>期末作业 深圳大学考试答题纸 (以论文.报告等形式考核专用) 二○一 四 -二○一 五 学年度第 一 学期 课程编号 1601600001 学 号 2013800 ...
- matlab计算结果为inf,matlab里的mean为什么计算结果是inf
matlab中的mean函数是什么意思啊,如何使用 在matlab中小编知道mean函数是分享均值的,可是mean(x,dim)中的dim是什么mean :平均值或数组的平均值 语法: M = mea ...
- matlab计算函数区域面积,matlab 中函数regionprops 求解区域面积的原理
在matlab图像处理中太有用了,regionprops用来度量图像区域属性的函数. 函数:regionprops.顾名思义:它的用途是get the properties of region,即用来 ...
- matlab计算macd_[原创]基于MATLAB的一个简单的交易策略(基于MACD)的Matlab代码
%%此程序用来计算MACD指标并对其有效性进行回测检验 %%原始数据命名为stk_clpr,且第一列为收盘价,第二列为交易日期 %% 计算相关指标(这里也可编一个函数),第一天初始化:DIFF=DEA ...
- matlab 计算结果为nan,matlab 计算 结果总是为Nan
本人刚刚接触matlab,对这些运算不是很懂 计算ni的位置(exp(-E_g./(2.*k.*T))+eps)这个值之前一直是0 加了eps后就有结果显示了 后面部分exp((alfa.*T)./ ...
最新文章
- 无锡朗贤获B+轮融资,辰韬资本、兴韬投资领投
- aspx文件、aspx.cs文件、aspx.designer.cs文件之讲解
- 全网最深刻的理解音频转码swr_convert(2019/10/29已补充修正)
- Oracle 原理: 过程和函数
- mysql 怎么登陆远程服务器_教你手机怎么远程连接云服务器
- 《Linux命令行与shell脚本编程大全 第3版》Linux命令行---55
- 2019-03-28 SQL Server Pivot
- thinkpad t460p恢复原厂系统以及设置的方式
- WordPress数据库管理中五个实用的phpMyAdmin技巧
- Responsive Web Design 简单介绍与优缺点、实作入门, 响应式设计
- mysql表空间不足_MySQL Innodb表空间不足的处理方法 风好大
- web前端入门到实战:CSS3两大实用属性,以及网页制作技巧
- centos删除文件不释放_Linux运维知识之linux centos下彻底删除文件 解决删除文件文件夹硬盘空间不释放不减少...
- Kafka开发--C#生产和消费消息
- python 序列化之JSON和pickle详解
- 有效解决RaycastTarget勾选过多的烦恼
- 在x86笔记本电脑上运行树莓派操作系统
- 世界首款前置前驱混动8挡自动变速器山东潍坊问世
- Python中杨辉三角的理解(廖雪峰教程例)
- Python二级考试试题汇总(史上最全)
热门文章
- CRAFT(Character Region Awareness for Text Detection)
- 皇子皮肤测试软件,买了皇子的SSG皮肤,说一下特效和手感,顺便说下皇子各个皮肤排名。...
- redhat指定ntp服务器,redhat 6.3 ntp 服务器
- Springboot毕设项目M11463家居网9m26y(java+VUE+Mybatis+Maven+Mysql)
- C++ QT开发人机象棋(棋子走法)
- google 身份验证器 谷歌服务器,整整10年!谷歌身份验证器终于带来数据转移服务 不用挨个解绑取消啦...
- vue-baidu-map 百度地图(定位替换图标,添加标签)
- spring boot基于Java的电影院售票与管理系统毕业设计源码011449
- RIGOL DS70000系列示波器在USB2.0一致性分析测试方案
- 3D数据基础——向量介绍与3D向量类的实现