Solving linear equations with large times

조회 수: 2 (최근 30일)
剑豪 戴
剑豪 戴 2022년 2월 18일
댓글: 剑豪 戴 2022년 2월 20일
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
KSSV
KSSV 2022년 2월 18일
剑豪 戴
剑豪 戴 2022년 2월 18일
Thanks a lot!

댓글을 달려면 로그인하십시오.

채택된 답변

Hiro Yoshino
Hiro Yoshino 2022년 2월 18일
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
Hiro Yoshino
Hiro Yoshino 2022년 2월 20일
put in one lines before A = C as follows:
A = zeros(size(C));
剑豪 戴
剑豪 戴 2022년 2월 20일
Thanks!

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Sparse Matrices에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by