每次比赛都需要查一下,这次直接总结到自己的博客中。

以这个为例子:

2.线性方程的相关计算

x=[1,2,3,4,5]';%参数矩阵
X=[ones(5,1),x];%产生一个5行一列的矩阵,后接x矩阵
Y=[3.95,5.23,7.6,9.48,11.89]';
[b,bint,r,rint,stats]=regress(Y,X)
%b为方程相关系数
%r表示残差
%rint表示置信区间
%stats适用于检验回归模型的统计量

 

得到

b =

    1.5910
2.0130 bint = 0.4482 2.7338
1.6684 2.3576 r = 0.3460
-0.3870
-0.0300
-0.1630
0.2340 rint = -0.0946 0.7866
-1.3318 0.5578
-1.6413 1.5813
-1.5888 1.2628
-0.6578 1.1258 stats = 0.9914 345.6401 0.0003 0.1172

 

stats计算的结果,分别表示复相关系数r^2=0.9914,检验回归方差显著性的统计量F=345.6401,对应所得F统计量的概率P=0.003,估计误差方差=0.1172。

r^2越接近1,回归效果越显著;p<0.05表明方程成立。

rcoplot(r,rint)%残差图制作,红色表示异常点(不经过x=0)

  

预测及作图

z=b(1)+b(2)*x
plot(x,Y,'k+',x,z,'r')

  

z =

    3.6040
5.6170
7.6300
9.6430
11.6560

  

  

3.非线性方程的相关计算

x=[1,2,3,4,5]';%参数矩阵,并转置
y=[5.49,15.13,40.98,109.20,296.96]';
beta0=[1.9635 1.02097]';%待定参数的初始值
[beta,r,J]=nlinfit(x,y,@modelfun,beta0);%非线性方程回归命令
beta,r,J

  

创建modelfunc.m函数

function yhat=modelfun(beta,x)
%UNTITLED Summary of this function goes here
% Detailed explanation goes here
yhat=beta(1)*exp(beta(2)*x);
end

  

当然对于函数的建立也可以直接在主代码中使用函数

x=[1,2,3,4,5]';%参数矩阵
y=[5.49,15.13,40.98,109.20,296.96]';
beta0=[1.9635 1.02097]';%待定参数的初始值
modelfu=inline('beta(1)*exp(beta(2)*x)','beta','x');
[beta,r,J]=nlinfit(x,y,modelfu,beta0);%非线性方程回归命令
beta,r,J

  

beta =

    2.0389
0.9962 r = -0.0311
0.1792
0.4944
-0.4322
0.0837 J = 1.0e+03 * 0.0027 0.0055
0.0073 0.0299
0.0199 0.1215
0.0538 0.4385
0.1456 1.4844

  

beta为估计出的回归系数    r表示残差    J表示Jacobian矩阵     modelfun:匿名函数(内联函数)  beta0表示回归系数的初值

待定参数的初始值

beta0的计算需要代入两组x,y的值进行计算,这样有助于MATLAB快速确定计算范围

预测和预测误差估计

[Y,DELTA]=nlpredci('modelfun', x,beta,r,J)

  

Y =

    5.5211
14.9508
40.4856
109.6322
296.8763 DELTA = 0.1977
0.3981
0.7093
0.9588
1.2499

  

获取 x 处的预测值 Y 及预测值的显著性为 1-alpha 的置信区间 Y±DELTA

作图

plot(x,y,'*',x,Y,'-or')

  

 

MATLAB线性回归方程与非线性回归方程的相关计算的更多相关文章

  1. Andrew Ng机器学习算法入门((六):多变量线性回归方程求解

    多变量线性回归 之前讨论的都是单变量的情况.例如房价与房屋面积之前的关系,但是实际上,房价除了房屋面积之外,还要房间数,楼层等因素相关.那么此时就变成了一个多变量线性回归的问题.在实际问题中,多变量的 ...

  2. 线性结构和非线性结构、稀疏数组、队列、链表(LinkedList)

    一.线性结构和非线性结构 线性结构: 1)线性绪构作为最常用的数据结构,其特点是数据元素之间存在一对一的线性关系 2)线性结构有两种不同的存储结构,即顺序存储结构和链式存储结构.顺序存储的线性表称为顺 ...

  3. Android 线性布局(LinearLayout)相关官方文档 - 指南部分

    Android 线性布局(LinearLayout)相关官方文档 - 指南部分 太阳火神的漂亮人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用 ...

  4. Android 线性布局(LinearLayout)相关官方文档 - 布局參数部分

    Android 线性布局(LinearLayout)相关官方文档 - 布局參数部分 太阳火神的漂亮人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商 ...

  5. Java数据结构介绍(线性结构和非线性结构)

    数据结构包括:线性结构和非线性结构. 线性结构 数据元素之间存在一对一的线性关系 包括顺序存储结构和链式存储结构.顺序存储的线性表称为顺序表,顺序表中的存储元素是连续的 链式存储的线性表称为链表,链表 ...

  6. IP地址分类及其相关计算问题

    IP地址分类及其相关计算问题 公网IP和子网IP 公网IP: • A类:1.0.0.0 到 127.255.255.255 主要分配 给大量主机而局域网网络数量较少的大型网络 • B类:128.0.0 ...

  7. 大数据学习day23-----spark06--------1. Spark执行流程(知识补充:RDD的依赖关系)2. Repartition和coalesce算子的区别 3.触发多次actions时,速度不一样 4. RDD的深入理解(错误例子,RDD数据是如何获取的)5 购物的相关计算

    1. Spark执行流程 知识补充:RDD的依赖关系 RDD的依赖关系分为两类:窄依赖(Narrow Dependency)和宽依赖(Shuffle Dependency) (1)窄依赖 窄依赖指的是 ...

  8. 图像处理 Matlab实现线性点运算、非线性点运算、点运算与直方图、直方图均衡化

    今天,我们学习了直方图.于是乎,回来我就用matlab代码实现一下.昨天受到道路检测老师课上一个内容的影响(对于道路裂缝的检测,我突发奇想,如果对于道路图像进行操作,是否能够让裂缝与道路分离,使得图像 ...

  9. matlab 万能实用的非线性曲线拟合方法

    ——转载网络 在科学计算和工程应用中,经常会遇到需要拟合一系列的离散数据,最近找了很多相关的文章方法,在这里进行总结一下其中最完整.几乎能解决所有离散参数非线性拟合的方法 第一步:得到散点数据 根据你 ...

随机推荐

  1. 关于setVisibility的几个常量

    在xml文件中,view控件一般都会有android:visibility这个属性 android:visibility:gone|cisible|invisible 在代码中,可以通过方法setVi ...

  2. C++中四种强制类型转换区别详解

    C++即支持C风格的类型转换,又有自己风格的类型转换.C风格的转换格式很简单,但是有不少缺点的: 1.转换太过随意,可以在任意类型之间转换.你可以把一个指向const对象的指针转换成指向非const对 ...

  3. 关于C#中的算术运算

    使用中间变量交换两个int型变量的值: ; ; a = a+b; b = a-b; a = a-b; 相信大家很容易写出来,但考虑到边界值情况时会有一些有趣的事情. 我们知道有一个int.MaxVal ...

  4. 使用metasploit进行栈溢出攻击-1

    攻击是在bt5下面进行,目标程序是在ubuntu虚拟机上运行. 首先,需要搞明白什么是栈溢出攻击,详细内容请阅读 http://blog.csdn.net/cnctloveyu/article/det ...

  5. 【Python发展】pandas和koalas

    1.pandas介绍 Python 数据科学在过去几年中爆炸式增长, pandas 已成为生态系统的关键.当数据科学家得到一个数据集时,他们会使用 pandas 进行探索.它是数据处理和分析的终极工具 ...

  6. Javascript之入门篇(一)

    上一篇学习了什么是JavaScript语言及其作用和特有的特点等,本篇将详细介绍JavaScript一些入门使用方式. 对于初学者来讲,由于JavaScript是嵌入到HTML页面里面的,首先创建一张 ...

  7. 【Python OpenGL】【2】第一个三角形(Pyopengl)

    根据顶点缓存来生成图元(Python OpenGL) 原文(英文链接)http://ogldev.atspace.co.uk/www/tutorial03/tutorial03.html __auth ...

  8. loj #6235. 区间素数个数 min_12.5筛

    \(\color{#0066ff}{ 题目描述 }\) 求 \(1\sim n\) 之间素数个数. \(\color{#0066ff}{输入格式}\) 一行一个数 n . \(\color{#0066 ...

  9. P4199 万径人踪灭 FFT + manacher

    \(\color{#0066ff}{ 题目描述 }\) \(\color{#0066ff}{输入格式}\) 一行,一个只包含a,b两种字符的字符串 \(\color{#0066ff}{输出格式}\) ...

  10. 数据结构19: BF算法(普通模式匹配算法)

    判断两个串之间是否存在主串与子串的关系,这个过程称为串的模式匹配. 在串的模式匹配过程,子串 T 通常被叫做“模式串”. 普通的模式匹配(“BF”算法) 判断两个串是否存在子串与主串的关系,最直接的算 ...