Calculate trends with regression for columns in MATLAB
3 次查看(过去 30 天)
显示 更早的评论
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.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/370390/image.jpeg)
0 个评论
采纳的回答
Abdolkarim Mohammadi
2020-10-3
编辑:Abdolkarim Mohammadi
2020-10-3
You can use parfor (parallel for loop) instead of for. The more CPU cores you have, the more speed you gain.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Performance Profiling 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!