% % 使用指定函数对下述两变量进行曲线拟合 
% % y=a+k1*exp(m*t)+k2*exp(-m*t); 
% % 离散点: t=[0,4,8,40], 
% % y=[20.09,64.52,85.83,126.75]; 
% % t-自变量 y-因变量
 a,m,k1,k2为常数 
% % 用非线性回归nlinfit,如果数据点多些,效果会更好。
脚本:
clc;clear; t=[0 4 8 40];  
y=[20.09 64.52 85.83 126.75]; 
beta=nlinfit(t,y,@myfunc2,[1 1 1 1])
a=beta(1)
k1=beta(2)
k2=beta(3) 
m=beta(4) 
tt=0:1:40 
yy=a+k1*exp(m*tt)+k2*exp(-m*tt) 
plot(t,y,'o',tt,yy)
函数:
function y1=myfunc2(const,t) 
a=const(1); 
k1=const(2); 
k2=const(3); 
m=const(4);  
y1=a+k1*exp(m*t)+k2*exp(-m*t);
 %这些系数的顺序依次由外到内,从左至右
图像:
 

% %或者用以下代码,更为简捷。  

%  clc;clear;

%  t=[0 4 8 40]; 

% y=[20.09 64.52 85.83 126.75];

%  
myfunc=inline('beta(1)+beta(2)*exp(beta(4)*t)+beta(3)*exp(-beta(4)*t)','beta','t');

%   beta=nlinfit(t,y,myfunc,[1 1
1 1]); 

%  
a=beta(1),k1=beta(2),k2=beta(3),m=beta(4)  ;

%   %test the model

% tt=0:1:40  ;

% yy=a+k1*exp(m*tt)+k2*exp(-m*tt);

% plot(t,y,'o',tt,yy,'r')

nlinfit非线性回归拟合的更多相关文章

  1. 机器学习:形如抛物线的散点图在python和R中的非线性回归拟合方法

    对于样本数据的散点图形如函数y=ax2+bx+c的图像的数据, 在python中的拟合过程为: ##最小二乘法 import numpy as np import scipy as sp import ...

  2. matlab函数拟合

    1 函数拟合 函数拟合在工程(如采样校正)和数据分析(如隶属函数确定)中都是非常有用的工具.我这里将函数拟合分为三类:分别是多项式拟合,已知函数类型的拟合和未知函数类型的拟合.matlab中关于函数的 ...

  3. 非线性回归支持向量机——MATLAB源码

    支持向量机和神经网络都可以用来做非线性回归拟合,但它们的原理是不相同的,支持向量机基于结构风险最小化理论,普遍认为其泛化能力要比神经网络的强.大量仿真证实,支持向量机的泛化能力强于神经网络,而且能避免 ...

  4. 机器学习:R语言中如何使用最小二乘法

    详细内容见上一篇文章:http://www.cnblogs.com/lc1217/p/6514734.html 这里只是介绍下R语言中如何使用最小二乘法解决一次函数的线性回归问题. 代码如下:(数据同 ...

  5. 机器学习:scipy和sklearn中普通最小二乘法与多项式回归的使用对

    相关内容连接: 机器学习:Python中如何使用最小二乘法(以下简称文一) 机器学习:形如抛物线的散点图在python和R中的非线性回归拟合方法(以下简称文二) 有些内容已经在上面两篇博文中提到了,所 ...

  6. 从时序异常检测(Time series anomaly detection algorithm)算法原理讨论到时序异常检测应用的思考

    1. 主要观点总结 0x1:什么场景下应用时序算法有效 历史数据可以被用来预测未来数据,对于一些周期性或者趋势性较强的时间序列领域问题,时序分解和时序预测算法可以发挥较好的作用,例如: 四季与天气的关 ...

  7. R语言中如何使用最小二乘法

    R语言中如何使用最小二乘法 这里只是介绍下R语言中如何使用最小二乘法解决一次函数的线性回归问题.         代码如下: > x<-c(6.19,2.51,7.29,7.01,5.7, ...

  8. 2层感知机(神经网络)实现非线性回归(非线性拟合)【pytorch】

    import torch import numpy import random from torch.autograd import Variable import torch.nn.function ...

  9. MATLAB实例:多元函数拟合(线性与非线性)

    MATLAB实例:多元函数拟合(线性与非线性) 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 更多请看:随笔分类 - MATLAB作图 之前写过一篇博 ...

随机推荐

  1. jquery加载单文件vue组件

    /**注册组件 */ function registerComponent(name){ dm[name] = {}; Vue.component(name + '-component', funct ...

  2. 转载 Python 操作 MySQL 的正确姿势 - 琉璃块

    Python 操作 MySQL 的正确姿势 收录待用,修改转载已取得腾讯云授权 作者 |邵建永 编辑 | 顾乡 使用Python进行MySQL的库主要有三个,Python-MySQL(更熟悉的名字可能 ...

  3. 引入background和background-size不显示图片

    .bgLeft { position: absolute; left: -95px; background: url("../images/logo_1.png") left to ...

  4. nexus开机启动

    在/etc/init.d目录下创建nexus文件 #!/bin/bash #chkconfig: #description:nexus3 #processname:nexus3 export JAVA ...

  5. MySQL wait_timeout参数设置与网上常见错误小纠

    discard connection com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link fail ...

  6. JAVA实现多线程处理批量发送短信、APP推送

    /** * 推送消息 APP.短信 * @param message * @throws Exception */ public void sendMsg(Message message) throw ...

  7. 微信小程序 三元运算 checked

    预期效果: 根据用户性别,显示radio group,并将相应radio checked 代码如下: <view class="form-line">    <v ...

  8. 如何高效的算出2x8的值

    原文出自:https://blog.csdn.net/seesun2012 位移算法,如何高效的算出2*8的值,为什么8<<1,4<<2,2<<3,1<< ...

  9. gradle 构建的 Spring Boot 使用 logback

           文章讲的是配置和使用,入门请看文档先. what 目的: 可以实现log不同级别的日志记录,例如info 在一个文件夹内,另一个级别的在另一个文件夹内. how 配置依赖项 //log ...

  10. 记一次Ubuntu 16.04 server安装中的坑

    最近博主搞了一台迷你主机,又刚好有时间去折腾,所以我打算把这台机子打造成一台迷你服务器,用来跑跑爬虫.挂挂网站 介于我我这台机子的配置比较垃圾(intel J1900+4G+64G),跑起Window ...