在MATLAB中通过回归计算趋势值

问题描述

我有一个尺寸为19行和7541502列的矩阵。 我想使用回归获得每列的趋势。 使用MATLAB函数可以做到这一点,但需要很多时间。 编写的函数如下:

Data = Box1;
[r,c] = size(Data);
X = [1:r]'; Total = [];
for j = 1:c;
   Y = Data(:,j);
   [b1,bint1] = regress(Y,[ones(size(Y)) X]);
   Qs = [bint1(2,:),b1(2,:)];
   Total = [Total; Qs];
end

有没有一种方法可以在MATLAB中加速Mfile? 有没有一种不用函数就可以计算回归的方法吗?

谢谢。

enter image description here

解决方法

在进入for循环之前,尝试将Total初始化为正确的大小。

Total = zeros(c,2);

代替:

Total = [];