How to quickly save a matrix by adding rows?
1 view (last 30 days)
Show older comments
Dear All,
I calculate a row Ai and save it in my defined matrix A using the following way:
A = [A; Ai];
But I foud it took a lot of time. Is there a faster way?
Thanks a lot.
Benson
Accepted Answer
dpb
on 22 Jun 2021
Yes. Preallocate the array and index into it...without context it's conjecture what you have/are doing, but the general idea is
A=zeros(max(variable_i),size(A,2)); % preallocate A as array of zeros
for i=1:max(variable_i) % for the loop size each i
% whatever to compute Ai
...
A(i,:) = Ai; % store the new row in A
end
The above will not show degradation in speed as i increases.
0 Comments
More Answers (0)
See Also
Categories
Find more on Logical 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!