Concatenate large matrices a bottleneck in function
2 次查看(过去 30 天)
显示 更早的评论
Hi,
I have a function that concatenates two matrices, size of 100000 X 90 for an outcome of 100000 X 180.
This is a significant bottleneck as the function has to repeat many times.
Pre-allocating the outcome does not seem to make any difference, and using cat() or [] also seems to make no difference.
Does anyone have suggestions on how to speed this up?
Thank you.
2 个评论
Sylvain
2020-11-4
can you post your code?
are you trying to do this ?
A=ones(100000,90);
B=2*ones(100000,90);
C = [A,B];
回答(1 个)
Subhadeep Koley
2020-11-4
A = ones(100000,90);
B = 2*ones(100000,90);
result = horzcat(A, B);
1 个评论
Walter Roberson
2020-11-4
The timing tests I tried show horzcat(A,B) and [A,B] and cat(2,A,B) to be indistinguishable in timing -- the differences were below random variation
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!