Calculate trends with regression for columns in MATLAB

2 vues (au cours des 30 derniers jours)
ali karbalaee
ali karbalaee le 3 Oct 2020
Commenté : ali karbalaee le 3 Oct 2020
I have a matrix with dimensions of 19 rows and 7541502 columns. I want to get the trend of each column using regression. This is possible by using MATLAB function but requires a lot of time. The written function is as follows:
Data = box1;
[r, c] = size(Data);
X = [1:r]'; Total = nan(c,3);
for j = 1:c;
Y = Data(:, j);
[b1, bint1] = regress(Y, [ones(size(Y)) X]);
Qs = [bint1(2, :), b1(2, :)];
Total = [Total; Qs];
end
Is there a way to speed up Mfile in MATLAB? Is there a way to calculate regression without using functions?
Thanks in advance.

Réponse acceptée

Abdolkarim Mohammadi
Abdolkarim Mohammadi le 3 Oct 2020
Modifié(e) : Abdolkarim Mohammadi le 3 Oct 2020
You can use parfor (parallel for loop) instead of for. The more CPU cores you have, the more speed you gain.

Plus de réponses (0)

Catégories

En savoir plus sur Performance Profiling dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by