Inverse einer (singulären) Blockmatrix

2 次查看(过去 30 天)
Hallo zusammen,
ich versuche folgende Gleichung zu lösen:
Q = A - B*(C^-1)*B'
Hier sollen A und B erstmal beliebige Matrizen sein, und C ist eine Matrix der Form
C = [C1, C2'; C2, 0], mit C1,C2 als Submatrizen von C.
Da C offensichtlich singulär ist bzw. badly scaled, kann ich diese Gleichung über inv(C) nicht lösen. Gibt es für dieses Problem eine geeignete Funktion oder Vorgehensweise in Matlab?
Beste Grüße und Danke im Voraus

回答(1 个)

Rajanya
Rajanya 2024-8-12
I understand you are not being able to calculate ‘Q’ in the above equation because ‘C’ is a singular matrix. You can use the ‘Moore-Penrose pseudoinverse’ for calculating the pseudo-inverse of singular matrices. In MATLAB, you can use the ‘pinv’ function to compute the pseudoinverse of a singular matrix. You can compute the aforementioned equation in the following way:
C_pinv = pinv(C)
Q = A B*C_pinv*B';
You can refer to the MATLAB documentation to know about the Moore-Penrose pseudoinverse:
Hope this answers your question.

标签

Community Treasure Hunt

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

Start Hunting!