MATLAB建立回归模型 您所在的位置:网站首页 matlab绘制线性回归方程图 MATLAB建立回归模型

MATLAB建立回归模型

2024-04-11 05:11| 来源: 网络整理| 查看: 265

终于考完数值分析和数理统计了,回来更新MATLAB 回归分析 在MATLAB的绘图里面其实有工具箱可以直接拟合数据,不过我们还是来看下代码简单拟合的方式。 1.一元线性回归 例如 有下列两组数据 x=1:10; y=[2650,1942,1493,1086,766,539,485,291,224,202]; 我们先用线性回归的思路,先画出数据的散点图

clear all clc %做x和y的散点图% x=1:10; y=[2650,1942,1493,1086,766,539,485,291,224,202]; for i=1:10 plot(x(i),y(i),'ok'); hold on end xlabel('x'); ylabel('y');

我们可以从图中看出不是成线性的,而是近似和对数函数相似,所以我们使用对数函数进行拟合

x=1:10; y=[2650,1942,1493,1086,766,539,485,291,224,202]; z=zeros(size(y)); N=length(y); for i=1:N z(i)=log(y(i)); plot(x(i),z(i),'ok'); hold on end xlabel('x'); ylabel('y');

实际运行之后可以看粗已经近似与一条直线,故我们再编写代码直接求出回归系数:`

x=1:10; y=[2650,1942,1493,1086,766,539,485,291,224,202]; z=zeros(size(y)); N=length(y); for i=1:N z(i)=log(y(i)); end [p,s]=polyfit(x,z,1)

一元线性回归到这里结束 我们接下来看下多元线性回归

2.多元线性回归 在回归分析中,有两个或者两个以上的自变量,就称为多元回归。多元线性回归的基本原理和基本计算过程与一元线性回归相同。在MATLAB中使用函数regerss(),可以实现多元线性回归。调用格式为

[b,bint,r,rint,status]=regress(y,x,alpha)

例如有以下数据 x1=[1.376, 1.375, 1.387, 1.401, 1.412, 1.428, 1.445, 1.477]; x2=[0.450,0.475,0.485,0.500,0.535,0.545,0.550,0.575]; x3=[2.170,2.554,2.676,2.713,2.823,3.088,3.122,3.262]; x4=[0.8922, 1.1610,0.5346,0.9589, 1.0239, 1.0499,1.1065, 1.1387]; y=[5.19, 5.30,5.60,5.82,6.00,6.06,6.45,6.95];

这可以直接理解为一个矩阵方程x为系数,y为函数值,与正交二项式的线性拟合方式类似,MATLAB求解即可

clear all clc x1=[1.376, 1.375, 1.387, 1.401, 1.412, 1.428, 1.445, 1.477]; x2=[0.450,0.475,0.485,0.500,0.535,0.545,0.550,0.575]; x3=[2.170,2.554,2.676,2.713,2.823,3.088,3.122,3.262]; x4=[0.8922, 1.1610,0.5346,0.9589, 1.0239, 1.0499,1.1065, 1.1387]; y=[5.19, 5.30,5.60,5.82,6.00,6.06,6.45,6.95]; save data x1 x2 x3 x4 y load data %取出数据 Y=[y']; x=[ones(size(x1')),x1',x2',x3',x4']; % x=[ones(size(x1')),x1',x2',x3',x4']; [b,bint,r,rint,stats]=regress(Y,x)

写到这里,谢谢观看



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有