如何用matlab线性回归分析

2024-05-05 00:50

1. 如何用matlab线性回归分析

在matlab中regress()函数和polyfit()函数都可以进行回归分析。

(1)regress()函数主要用于线性回归,一元以及多元的。它可以提供更多的信息,残差之类的。

(2)polyfit()函数是利用多项式拟合。可以是线性也可以是非线性的。

regress()函数详解

[b,bint,r,rint,stats]=regress(y,X,alpha)

说明:b是线性方程的系数估计值,并且第一值表示常数,第二个值表示回归系数。bint是系数估计值的置信度为95%的置信区间,r表示残差,rint表示各残差的置信区间,stats是用于检验回归模型的统计量,有三个数值其中有表示回归的R2统计量和F以及显著性概率P值,alpha为置信度。

相关系数r^2越大,说明回归方程越显著;与F对应的概率P<alpha时候拒绝H0,回归模型成立。

y表示一个n-1的矩阵,是因变量的值,X是n-p矩阵,自变量x和一列具有相同行数,值是1的矩阵的组合。如:对含常数项的一元回归模型,可将X变为n-2矩阵,其中第一列全为1。

ONES(SIZE(A)) is the same size as A and all ones。

利用它实现X=[ones(size(x))x]

(2)polyfit()函数详解-------------摘自sina小雪儿博客

p=polyfit(x,y,n)

[p,s]= polyfit(x,y,n)

说明:x,y为数据点,n为多项式阶数,返回p为幂次从高到低的多项式系数向量p。x必须是单调的。矩阵s用于生成预测值的误差估计。(见下一函数polyval)

多项式曲线求值函数:polyval( )

调用格式: y=polyval(p,x)

[y,DELTA]=polyval(p,x,s)

说明:y=polyval(p,x)为返回对应自变量x在给定系数P的多项式的值。

[y,DELTA]=polyval(p,x,s) 使用polyfit函数的选项输出s得出误差估计Y
DELTA。它假设polyfit函数数据输入的误差是独立正态的,并且方差为常数。则Y DELTA将至少包含50%的预测值。

如何用matlab线性回归分析

2. 如何用matlab非线性回归分析

%把y=x^a两边取对数,就有log(y)=a*log(x),如果将log(y)看成是log(x)的函数,那么它们是线性的.这时是方程的个数是10000个,而未知数是1个(a),这可以用matlab的矩阵除法求解矛盾方程(用的是最小二乘法)
%下面是一个例子,我以a=1.45产生一套10000个的(x,y)序列,当然我加上了一些随机扰动.(你可以试一下,不加的话,肯定得到的是1.45)
>> a=1.45;
>> x=linspace(1,10,10000)'; %注意这里你要转成列向量求解
>> y=x.^a+0.5*rand(10000,1);
>> aa=log(x)\log(y)

3. matlab线性回归

n=[1.5464 1.5227 1.5092 1.4998]

λ=[404.7 435.8 546.1 577.0]

D=λ^2
D=【                 】
E=inv(D)
设L=n-a
b=L/D
b=(n-a)/D    b=n/D-a/D            

或者 n*(λ^2)=a*(λ^2)+b     
         令Q=n*(λ^2)
     Q=a*λ^2+b  
        Q已知,λ^2已知, b=Q-a*λ^2

你的系数加哪个位置的,可以继续参考解下来

matlab线性回归

4. 如何用matlab进行逐步回归法分析

1、首先打开matlab软件。

2、创建一个自己需要使用的数学模型,如图所示。

3、根据传递函数,绘制根轨迹图。

4、得到根轨迹图,利用rlocfind函数计算用户选定点的增益和其它闭环极点。

5、进行根轨迹分析,如图所示。

6、在逐步回归法分析工具界面查看它的bode图。

5. 求助MATLAB高手,归纳出回归方程

用Matlab的cftool工具箱进行拟合得到的结果为:
General model:
     f(x,y) = b0+b1*x^0.16+b2*y^0.017
Coefficients (with 95% confidence bounds):
       b0 =   1.405e+04  (1.134e+04, 1.676e+04)
       b1 =       -4709  (-5766, -3652)
       b2 =        -857  (-1715, 1.068)

Goodness of fit:
  SSE: 7.363e+04
  R-square: 0.9049
  Adjusted R-square: 0.889
  RMSE: 78.33
还有什么问题可以问我,望采纳,谢谢!

求助MATLAB高手,归纳出回归方程

6. MATLAB 线性回归算法

x=[
1.99
2.00
1.00;
11.43
14.76
12.86;
44.29
50.00
50.00;
72.86
81.43
75.71;
87.61
89.51
87.61;
93.33
92.86
94.29];
day=[1:6]';
%天数
%这里我想,应当是想得到发芽率与天数的关系,而跟组无关
%所以这里我将它们横向求平均。求出每天的平均出芽率
xx=sum(x,2)/size(x,2);
A=[day,ones(size(day))];
c=A\xx;
k=c(1);
b=c(2);
yy=k*day+b;
plot(day,xx,'r*',day,yy)
%红色的*点,是平均出芽率与天数的关系
%线是拟合出来的
%=====================================
%那我就拿第一组做试验
%实际上就是将xx=sum(x,2)/size(x,2)
%这句改成xx=x(:,1);
%第二组,你就改成xx=x(:,2);
x=[
1.99
2.00
1.00;
11.43
14.76
12.86;
44.29
50.00
50.00;
72.86
81.43
75.71;
87.61
89.51
87.61;
93.33
92.86
94.29];
day=[1:6]';
%天数
xx=x(:,1);
A=[day,ones(size(day))];
c=A\xx;
k=c(1);
b=c(2);
yy=k*day+b;
plot(day,xx,'r*',day,yy)

7. 用Matlab作线性回归

x=[
1.99 2.00 1.00;
11.43 14.76 12.86;
44.29 50.00 50.00;
72.86 81.43 75.71;
87.61 89.51 87.61;
93.33 92.86 94.29];

day=[1:6]'; %天数

%这里我想,应当是想得到发芽率与天数的关系,而跟组无关
%所以这里我将它们横向求平均。求出每天的平均出芽率

xx=sum(x,2)/size(x,2);

A=[day,ones(size(day))];
c=A\xx;

k=c(1);
b=c(2);
yy=k*day+b;

plot(day,xx,'r*',day,yy)
%红色的*点,是平均出芽率与天数的关系
%线是拟合出来的


%=====================================
%那我就拿第一组做试验
%实际上就是将xx=sum(x,2)/size(x,2)
%这句改成xx=x(:,1);  
%第二组,你就改成xx=x(:,2);


x=[
1.99 2.00 1.00;
11.43 14.76 12.86;
44.29 50.00 50.00;
72.86 81.43 75.71;
87.61 89.51 87.61;
93.33 92.86 94.29];

day=[1:6]'; %天数
xx=x(:,1);
A=[day,ones(size(day))];
c=A\xx;

k=c(1);
b=c(2);
yy=k*day+b;

plot(day,xx,'r*',day,yy)

用Matlab作线性回归

最新文章
热门文章
推荐阅读