您的位置:首页 > 编程语言 > MATLAB

7月25日MATLAB学习记录

2020-07-26 11:08 141 查看

一、一元线性回归

先放上一元线性回归方程的参数公式

x=[23.80 27.60 31.60 32.40 33.70 34.90 43.20 52.80 63.80 73.40];
y=[41.4 51.8 61.7 67.9 68.7 77.5 95.9 137.4 155.0 175.0];
plot(x,y,'r*');   %做散点图
xlabel('x(职工工资总额)','fontsize',12);   %横坐标名
ylabel('y(商品零售总额)','fontsize',12);   %纵坐标名 参数3位设置标签字体大小
set(gca,'linewidth',2);   %设置各轴线宽度
%采用最小二乘拟合
Lxx=sum((x-mean(x)).^2);
Lxy=sum((x-mean(x)).*(y-mean(y)));%mean为求平均数函数
b1=Lxy/Lxx;
b0=mean(y)-b1*mean(x);
y1=b1*x+b0;
hold on;%保持原图并接受此后绘制的新的曲线,叠加绘图
plot(x,y1,'linewidth',2);%参数4为设置线宽
m2=LinearModel.fit(x,y)   %采用LinearModel.fit函数线性回归
%用regress函数回归
Y=y';
X=[ones(size(x,2),1),x'];
[b,bint,r,rint,s]=regress(Y,X);%Y为因变量的列向量,X为1列和x列向量组成的矩阵

执行结果:

LinearModel.fit函数

regress函数


至于具体返回的参数究竟有什么含义还在学习中

知识点:一元线性回归公式,plot函数的简单使用,set设置轴线,x(y)label设置标签,hold on、hold off的作用,两种回归函数,LinearModel.fit,regress。

二、一元非线性回归(此处暂指幂对函数)

先上练习代码

clc;clear;
x=[1.5,4.5,7.5,10.5,13.5,16.5,19.5,22.5,25.5];
y=[7,4.8,3.6,3.1,2.7,2.5,2.4,2.3,2.2];
plot(x,y,'*');%作散点图
set(gca,'linewidth',2);%设轴线
xlabel('销售额x/万元','fontsize',2);
ylabel('流通费率y/万元','fontsize',2);%设xy标签
%对数形式非线性回归
m1=@(b,x)b(1)+b(2)*log(x);%@表示匿名函数
nonlinfit1=fitnlm(x,y,m1,[0.01;0.01])%参数1为自变量,参数二为因变量,参数三为要拟合的函数模型,参数4为初值
b=nonlinfit1.Coefficients.Estimate;%取出估计参数
Y1=b(1)+b(2)*log(x);
hold on
plot(x,Y1,'--k','linewidth',2);%k为黑色,双横杠为虚线,单横杠为折线,做出拟合曲线
%指数形式非线性回归
m2=@(b,x)b(1)*x.^b(2);%也可写成m2='y~b1*x^b2'
nonlinfit2=fitnlm(x,y,m2,[1;1])
b=nonlinfit2.Coefficients.Estimate;
Y2=b(1)*x.^b(2);
hold on
plot(x,Y2,'r','linewidth',2)
legend('原始数据','a+b*log(x)','a*x^b')%添加图例


对数形式回归结果

指数形式回归结果

一个重要参数R-Squared为拟合的决定系数,该值越大,拟合越优,故采取指数形式拟合

知识点:
1.@的使用
①匿名函数
匿名函数是函数句柄的一种特殊用法,这里所得到的函数句柄变量不指向特定的函数(即不指向函数M文件中的函数名),而是指向一个函数表达式(具体表达式)。
语法如下:
变量名=@(输入参数列表)运算表达式;
如:

m=@(x,y)x+2*y
c=m(1,2)

执行结果为5

②函数句柄
语法如下:
变量名= @ 函数名;
@的作用就是将一个函数的函数句柄赋值给等号左边的变量。在调用函数时就可以调用该句柄,可以实现同样的功能。
如:

%定义函数b
function y = b(x1,x2)
y=x1+2*x2;
end

%通过函数句柄调用
g=@b;
g(1,3)

2.fitnlm函数的使用
3.fitnlm求得的模型的参数的调用:xxx(模型变量).Coefficients.Estimate
4.决定系数R-Squared
5.图例的添加:legend
其他参数的具体含义将在后期进一步学习

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: