利用怎么matlab软件建立多元回归数学模型

2024-05-16 02:13

1. 利用怎么matlab软件建立多元回归数学模型

如何利用matlab软件建立多元回归数学模型的方法有:
1、多元回归数学模型是线性的,可以用regress()函数求得。例如
f(x1,x2,x3)=a1+a2*x1+a3*x2+a4*x3   %多元线性回归函数
求解方法:
x1=[。。。];x2=[。。。];x3=[。。。];
X=[ones(n,1) x1 x2 x3];
y=[。。。];
a = regress(y,X);   %ai为多元线性回归函数的拟合系数
2、多元回归数学模型是非线性的,可以用lsqcurvefit()或nlinfit()函数求得。例如
f(x1,x2,x3)=a1+a2*exp(x1)+a3*exp(x2)+a4*exp(x3) %多元非线性回归函数

求解方法:
x1=[。。。];x2=[。。。];x3=[。。。];y=[。。。];
x=[x1 x2 x3];
func=@(a,x)a(1)+a(2)*exp(x:1)+a(3)*exp(x:2)+a(4)*exp(x:3);%自定义函数
x0=[1 1 1]; %初值(根据问题来定)
a=lsqcurvefit(func,x0,x,y)   %ai为多元非线性回归函数的拟合系数
或   a= nlinfit(x,y,func,x0)

利用怎么matlab软件建立多元回归数学模型

2. 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

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

3. matlab回归拟合相关问题

把三段数据拼接到一起,然后做拟合就可以了,假设自变量都是t,三组数据是x1,x2,x3:

t=1:10;
x1=(1:10)+randn([1,10]);
x2=(1:10)+randn([1,10]);
x3=(1:10)+randn([1,10]);
t=[t,t,t];
x=[x1,x2,x3];
    
p=polyfit(t,x,2)
figure;hold on;
plot(t,x,'k*');
t=1:10;
f=polyval(p,t);
plot(t,f,'r');
legend('原始数据','二阶拟合');

效果图:

matlab回归拟合相关问题

4. 写出下列线性回归模型的matlab程序

给出的线性回归模型,可以用linprog()函数来求。由于问题是关于最大值线性回归模型,但可以将最大值问题转换为最小值问题,即 max f = min -f 。
所以你的问题可按下列方法来求解。
f=-[0.4;0.28;0.32;0.72;0.64;0.6];
A=[0.01,0.01,0.01,0.03,0.03,0.03;0.02,0,0,0.05,0,0;0,0.02,0,0,0.05,0;0,0,0.03,0,0,0.08];
b=[850;700;100;900];
lb=zeros(6,1);
[x,fval,exitflag]=linprog(f,A,b,[],[],lb)
运行结果

5. 用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作线性回归

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

1、首先打开matlab软件。

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

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

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

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

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

7. 如何用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线性回归分析

8. 如何用Matlab求自回归模型系数

用Matlab求自回归模型(拟合方程)系数的方法比较多,最常用的有
1、多元线性方程——可以用regress()函数
a=regress(y,X)
2、多元非线性方程——可以用nlinfit()函数或lsqcurvefit()函数
a=nlinfit(x,y,func,x0);
a=lsqcurvefit(func,x0,x,y)
说明:
x、y为已知对应的数据
func为自定义回归方程
x0为x的初值
a为自定义回归方程的系数
最新文章
热门文章
推荐阅读