inversing huge Y Matrix

조회 수: 16 (최근 30일)
Matthew Worker
Matthew Worker 2024년 5월 10일
편집: Rena Berman 2024년 5월 20일
Hello, I need to get Zbus for some short circuit study. The system is huge consisting of over 9000 buses. From psse, I found the ybus which is quite sparse and inversing it is giving me wrong results. Could anyone please tell me how to inverse such huge matrix to get zbus?
  댓글 수: 1
Steven Lord
Steven Lord 2024년 5월 10일
How exactly are Zbus and ybus related? [From your description is sounds like those are commonly used terms/variable names in your area of study, but please explain the relationship for those of us who aren't familiar with that area.]
How are you storing ybus? Is it a full matrix that has only a few non-zero elements (sparsely populated but not sparsely stored) or is it a sparse matrix (sparsely populated and sparsely stored)?
fullWithOnlyFewNonzero = eye(5)
fullWithOnlyFewNonzero = 5x5
1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>
sparseWithOnlyFewNonzeros = speye(5)
sparseWithOnlyFewNonzeros =
(1,1) 1 (2,2) 1 (3,3) 1 (4,4) 1 (5,5) 1
whos full* sparse*
Name Size Bytes Class Attributes fullWithOnlyFewNonzero 5x5 200 double sparseWithOnlyFewNonzeros 5x5 128 double sparse
Generally speaking, as John D'Errico said unless you absolutely positively explicitly need an inverse matrix you should not invert the matrix but should try an alternate approach. For example, if you're trying to solve a system of equations use the backslash operator \. [Yes, when you did this type of exercise in class while you were learning, you may have been told to invert. That's one of the cases where there's a difference between theory and practice.]

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

답변 (1개)

John D'Errico
John D'Errico 2024년 5월 10일
편집: John D'Errico 2024년 5월 10일
As always, I'll start by saying that computing the inverse of a matrix is a bad idea. And of course, you don't say what you think is "wrong", nor do you provide the matrix. (Just attach it to a comment in the form of a .mat file. Since it is sparse as you claim, it won't take much space anyway to store.)
First, you need to understand if the matrix is of full rank. If not, then you cannot find the "right" result, as there are infinitely many solutions, if you would find any solutions at all.
You also need to learn about things like condition numbers. But without seeing the matrix itself, this answer would then turn into a full course on numerical linear algebra. And, while you would surely benefit from that since you are trying to compute the inverse of a matrix, Answers is not the place to teach it. So post the matrix in a .mat file, attached to a comment, and we can see if we can help you more.
  댓글 수: 15
Sam Chak
Sam Chak 2024년 5월 12일
편집: Rena Berman 2024년 5월 20일
According to the Nodal Admittance Matrix on Wikipedia, for a three-bus network, the bus admittance matrix (Ybus) can be constructed as described. The bus impedance matrix (Zbus) can then be obtained by taking the inverse of Ybus. Is that what you have been doing for a sparse matrix Ybus?
%% admittances
y1 = -5i;
y12 = -1.25i;
y13 = -2.5i;
y2 = -2.5i;
y23 = -2.5i;
y3 = 0i;
%% Bus admittance matrix
Y11 = y1 + y12 + y13;
Y12 = -y12;
Y13 = -y13;
Y22 = y2 + y12 + y23;
Y23 = -y23;
Y33 = y3 + y13 + y23;
Ybus= [Y11, Y12, Y13;
Y12, Y22, Y23;
Y13, Y23, Y33]
Ybus =
0.0000 - 8.7500i 0.0000 + 1.2500i 0.0000 + 2.5000i 0.0000 + 1.2500i 0.0000 - 6.2500i 0.0000 + 2.5000i 0.0000 + 2.5000i 0.0000 + 2.5000i 0.0000 - 5.0000i
%% Bus impedance matrix
Zbus= inv(Ybus)
Zbus =
0.0000 + 0.1600i 0.0000 + 0.0800i 0.0000 + 0.1200i 0.0000 + 0.0800i 0.0000 + 0.2400i 0.0000 + 0.1600i 0.0000 + 0.1200i 0.0000 + 0.1600i 0.0000 + 0.3400i
Paul
Paul 2024년 5월 12일
Hi Sam,
Obviously, I can't say for sure, but I think that's the idea. In this comment I posted the equation for the Thevenin Impedance Distance between nodes. I played around for a little bit, and it wasn't clear to me how to compute the distance matrix from Ybus without first explicitly computing Zbus.

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

카테고리

Help CenterFile Exchange에서 H-Infinity Synthesis에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by