首页 > 解决方案 > 在 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?有没有办法在不使用函数的情况下计算回归?

提前致谢。

在此处输入图像描述

标签: matlabregressiontrend

解决方案


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

Total = zeros(c, 2);

代替:

Total = [];

推荐阅读