Solving linear equations with large times

2 vues (au cours des 30 derniers jours)
剑豪 戴
剑豪 戴 le 18 Fév 2022
Commenté : 剑豪 戴 le 20 Fév 2022
I am new to using matlab. I have a simple linear equation of Ax=B in loops;
where A is a complex matrix (1000x1000), and A will be changed with the parameters f, delta_p and delta_dopp in my code, i.e. A=A(f, delta_p, delta_dopp); B is a simple invariant column matrix (1000x1).
Cause I need to solve the linear equation almost about ~10^6 times. And matirx A is changing inside the loops (f, delta_p, delta_dopp are cycle indicators). When I using x=A\B solving the eqution, it should take me a lot of time. For example, it takes me one hour running 5e4 times.
I hope that someone can suggest a faster and better method? (Especially for the x=A\B method).
This is distribution of matrix A:
Thanks a lot!
  6 commentaires
KSSV
KSSV le 18 Fév 2022
剑豪 戴
剑豪 戴 le 18 Fév 2022
Thanks a lot!

Connectez-vous pour commenter.

Réponse acceptée

Hiro Yoshino
Hiro Yoshino le 18 Fév 2022
It seems that your matrix is sparse - it would be worth while using some techniques for sparse matrix operetions where you can find methods for linear problems.
  4 commentaires
Hiro Yoshino
Hiro Yoshino le 20 Fév 2022
put in one lines before A = C as follows:
A = zeros(size(C));
剑豪 戴
剑豪 戴 le 20 Fév 2022
Thanks!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Linear Algebra dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by