Code Slows Down if I Preallocate Larger Variables?
정보
이 질문은 마감되었습니다. 편집하거나 답변을 올리려면 질문을 다시 여십시오.
이전 댓글 표시
Hello, I am using Matlab to explicitly integrate equations of motion for a finite element mesh. In the code I initialise all the history variables (such as displacement, velocity and acceleration) to store all the values at every node for every time step.
displace = zeros(gdl,n_inc+1); %
epsilon = zeros(gdl,n_inc+1); %
stress = zeros(gdl,n_inc+1); %
The point is: if I use a larger number of time steps (i.e. a smaller time increment), every single step takes much more to run. Is that avoidable somehow?
댓글 수: 7
Guillaume
2015년 6월 16일
if I use a larger number of time steps the same simulation takes much more to run.
Why would you expect different? repeat something more times == do it for longer.
However, I don't understand how it relates to the title of your question.
Alessandro
2015년 6월 16일
편집: Alessandro
2015년 6월 16일
Adam
2015년 6월 16일
Why wouldn't you expect different run times? If you halve the time step you double the number of values over which to calculate which will slow your code down by somewhere up to the order of a factor of 2, dependent on what the code is and how dependent its runtime is on that setting.
Alessandro
2015년 6월 16일
Adam
2015년 6월 16일
That depends on how the algorithm is coded. The profiler should tell you where the time is being spent.
profile on
...your code here...
profile off
profile viewer
Walter Roberson
2015년 6월 16일
32 bit MATLAB or 64 bit MATLAB?
Alessandro
2015년 6월 17일
답변 (0개)
이 질문은 마감되었습니다.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!