Different performance using mldivide, how to speed up my application?

2 Ansichten (letzte 30 Tage)
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 Kommentare
Walter Roberson
Walter Roberson am 15 Jan. 2016
If nd is 1x4 then kd(nd,nd) would be addressing 16 locations, not 4 locations. Is that your intention?

Melden Sie sich an, um zu kommentieren.

Antworten (0)

Kategorien

Mehr zu Mathematics finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by