MATLAB 线性回归算法

来源:百度知道 编辑:UC知道 时间:2024/09/23 06:39:34
测定种子的发芽率和时间之间的关系 怎么用MATLAB回归算法来做呢?
横坐标天数 纵坐标是3组数据
1组 2组 3组
1天 1.99 2.00 1.00
2天 11.43 14.76 12.86
3天 44.29 50.00 50.00
4天 72.86 81.43 75.71
5天 87.61 89.51 87.61
6天 93.33 92.86 94.29
不需要把3组求平均 求出任何1组的就可以。麻烦你指点下

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)