How to quickly do the calculation?
显示 更早的评论
Dear All,
I have a code to calculate an array using several arrays. The code is as follows:
Ieq1 = Haltmr(mmm(jbb2),IndBus(solvedbuses))*v(IndBus(solvedbuses));
Where Haltmr is a complex 6000x3000 sparse matrix, v is a complex 3000 column vector, mmm (for example, 20 rows in Haltmr) is a selected rows from Haltmr and jbb2 ( 5 rows in mmm) is the part of mmm, and IndBus is the order of columns in Haltmr, and solvebuses ( 15 indecies) is a part of the columns.
I am wondering if there is a faster way to do the calculation.
Thanks.
Benson
3 个评论
Steven Lord
2021-6-30
That's impossible to answer without seeing what Haltmr, mmm, jbb2, IndBus, solvedbuses, and v are. Which of those are variables (and what sizes and types are they?) and for those that are functions what are those functions do?
dpb
2021-6-30
All depends on what the definitions of the quantities are -- are they variables or functions? It's indeterminate in isolation.
dpb
2021-6-30
sparse saves memory; the cost is execution speed to decode.
If you have enough memory, you could try moving to full storage; H is "only" 138 MB on machines these days with GB memory.
I didn't try to see if could do something with the matrix algebra...
采纳的回答
更多回答(0 个)
类别
在 帮助中心 和 File Exchange 中查找有关 Resizing and Reshaping Matrices 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!