Different performance using mldivide, how to speed up my application?
3 次查看(过去 30 天)
显示 更早的评论
I use mldivide to solve a system's equation, eg fsol = kk \ fn. Depending on how I form the system's matrix,kk, I have a change in mldivide performance.
My code adresses fem analysis. kk is a sparse matrix. When I use kk(nd,nd) = kk(nd,nd) + k, where nd is 1x4 matrix, it is slower to form the kk matrix, but for some reason the fsol = kk \ fn runs much faster, than the case I use separate matrices to store the indices and values and form the kk matrix as kk= sparse(I,J,val).
It probably has something to do with memory allocation, but I have no idea how to solve the problem. Could someone give me some insight as to how to control the overall process?
Thank you.
2 个评论
Walter Roberson
2016-1-15
If nd is 1x4 then kd(nd,nd) would be addressing 16 locations, not 4 locations. Is that your intention?
回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!