Concatenate large matrices a bottleneck in function
2 views (last 30 days)
Show older comments
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 Comments
Sylvain
on 4 Nov 2020
can you post your code?
are you trying to do this ?
A=ones(100000,90);
B=2*ones(100000,90);
C = [A,B];
Answers (1)
Subhadeep Koley
on 4 Nov 2020
A = ones(100000,90);
B = 2*ones(100000,90);
result = horzcat(A, B);
1 Comment
Walter Roberson
on 4 Nov 2020
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
See Also
Categories
Find more on Creating and Concatenating Matrices in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!