Matlab:回归分析(1)
1.多元线性回归

%数据的输入
x = [ ];
y = [ ];
%转换为列向量
X = [ones(,) x'];
Y = y';
%回归分析及检验
[b, bint, r, rint, states] = regress(Y, X, 0.05);
b, bint, states
%作散点图和回归之后的图
z = b() + b()*x';
figure()
plot(x', Y, 'k+')
hold on
plot(x', z, 'r')
%作残差图
figure()
rcoplot(r, rint)
结果:



2.可线性化的一元非线性回归

根据数据散点图

配曲线,此题配的是倒指数曲线y = a*exp(b/x)其中a>0
function f = volum(beta, x)
f = beta() * exp(beta() ./ x);
%输入数据
x = :;
y = [6.42 8.20 9.58 9.5 9.7 9.93 9.99 10.49 10.59 10.60 10.80 10.60 10.90 10.76];
%拟定回归系数的初值
beta0 = [ ]';
%求回归系数
[beta, r, J] = nlinfit(x', y', 'volum', beta0);
beta
%预测及作图
[Y, delta] = nlpredci('volum', x', beta, r, J);
%散点图
plot(x, y, 'k+')
hold on
%拟合图
plot(x, Y, 'r')
结果

3.多项式回归

方法一:直接做二次多项式回归
t=/:/:/;
s=[11.86 15.67 20.60 26.69 33.71 41.93 51.13 61.49 72.90 85.44 99.08 113.77 129.54 146.48];
%二次多项式回归
[p, S] = polyfit(t, s, );
p
结果:
p =489.2946 65.8896 9.1329
即为二次多项式系数 cba
方法二:化为多元线性回归
t = /:/:/;
s = [11.86 15.67 20.60 26.69 33.71 41.93 51.13 61.49 72.90 85.44 99.08 113.77 129.54 146.48];
%化为多元线性回归
T = [ones(, ), t', (t.^2)'];
[b, bint, r, rint, states] = regress(s', T, 0.05);
b, states
%预测及作图
%参数p和S必须由多项式回归函数polyfit求出
[p, S] = polyfit(t, s, );
Y = polyconf(p, t, S);%预测值
plot(t, s, 'k+', t, Y, 'r')
结果:
b =
9.1329 65.8896 489.2946
states =
1.0e+007 *
0.0000 1.0378 0.0000 0.0000

b即为二次多项式系数abc
Matlab:回归分析(1)的更多相关文章
- Matlab:回归分析(2)
方法一:直接用多元二项式回归 %数据输入 x1 = [ ]; x2 = [ ]; %多元二项式回归函数 y = [ ]; X = [x1' x2']; Y = y'; rstool(X, Y, 'pu ...
- MATLAB一元线性回归分析
MATLAB一元线性回归分析应用举例 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ huigui.m function [b,bint,r,rint, ...
- MATLAB实现回归分析
下面是一道例题
- 在数学建模中学MATLAB
为期三周的数学建模国赛培训昨天正式结束了,还是有一定的收获的,尤其是在MATLAB的使用上. 1. 一些MATLAB的基础性东西: 元胞数组的使用:http://blog.csdn.net/z1137 ...
- MATLAB统计工具箱 转
D:\Program Files\MATLAB\R2012b\toolbox\stats\stats MATLAB统计工具箱包括概率分布.方差分析.假设检验.分布检验.非参数检验.回归分析.判别分析. ...
- Matlab基本数学应用
基本线性代数 [R jb]=rref(A)将A化为行最简型矩阵.R为所得行最简型矩阵,jb是一个向量显示每行首非0元所在列号. inv(A)求方阵A的逆,注意结果可能出现错误.当结果中出现Inf和Na ...
- MATLAB安装libsvm工具箱的方法
支持向量机(support vector machine,SVM)是机器学习中一种流行的学习算法,在分类与回归分析中发挥着重要作用.基于SVM算法开发的工具箱有很多种,下面我们要安装的是十分受欢迎的l ...
- Matlab多项式回归实现
多项式回归也称多元非线性回归,是指包含两个以上变量的非线性回归模型.对于多元非线性回归模型求解的传统解决方案,仍然是想办法把它转化成标准的线性形式的多元回归模型来处理. 多元非线性回归分析方程 如果自 ...
- 如何在matlab里安装libsvm包
有时我们需要用到SVR(支持向量回归)方法,而 matlab 自带的svm工具箱不能做回归分析,于是有了安装libsvm包的打算. 中间遇到一些困难,比如找不到编译器等等,经过一下午和一晚上的努力,在 ...
随机推荐
- yii phpexcel <转>
原文详情参见 这里 1.下载phpexcel,将压缩包中的classes复制到protected/extensions下并修改为PHPExcel. 2.修改YII配置文件config/main.php ...
- Linux开发工具之gdb(下)
三.gdb调试(下) 01.查看运行时数据 print - 查看变量值 ptype - 查看类型 print array - 查看数组 print *array@len - 查看动态内存 print ...
- java定时器,Spring定时器和Quartz定时器
一.java定时器的应用 其实java很早就有解决定时器任务的方法了,java提供了了类java.util.TimerTask类基于线程的方式来实现定时任务的操作,然后再提供java.util.Tim ...
- MSChart使用之双Y轴使用
protected void SearchChart() { Chart1.ChartAreas.Clear(); Chart1.Series.Clear(); ChartArea _ChartAre ...
- 关于C#编程中引用与值类型赋值的一些容易犯错的地方
值类型与引用类型的区别在于:值类型在赋值的时候是拷贝值,引用类型在赋值的时候的拷贝引用.记住这一个原则,我们再来分析一些具体情况: PointStruct pt1 = ,); PointStruct ...
- 动态插入图片到 svg 中
动态插入图片到 svg 中使用 createElementNS 来创建svg标签,通过setAttributeNS 来设置属性, 要注意两点,创建的时候要有'http://www.w3.org/200 ...
- js 函数参数形式
1. var a = function(b,c){ console.log(arguments);}a("1","cc"); -> ["1&q ...
- onresize的定义方式
1.直接在html中定义如<body onresize="doResize()"/> 2.直接给onresize赋值给window和body的onresize赋值如wi ...
- linux ulimit的使用,如何产生core文件,调试段错误
---恢复内容开始--- 下面先简单介绍下ulimit命令: 1. limit -a 可以查看系统各种资源的限制,如: core文件大小,数据段的大小等. $ ulimit -a core file ...
- Linux 0.11下信号量的实现和应用
Linux 011下信号量的实现和应用 生产者-消费者问题 实现信号量 信号量的代码实现 关于sem_wait和sem_post sem_wait和sem_post函数的代码实现 信号量的完整代码 实 ...