full rank left annihilator matrix

16 次查看(过去 30 天)
Suppose I have a matrix A and I want to find the full rank left annihilator matrix B such that B*A=0. I am using MATLAB.
syms x1 x2 x3 x4 Cdc Cb Lcpl Vfc
A=[Vfc/(x1*Cdc), x4/(x1*Cdc), -x3/Cdc;
0 0 0;
0 0 x1/Lcpl;
0 -1/Cb 0];

采纳的回答

John D'Errico
John D'Errico 2021-11-23
编辑:John D'Errico 2021-11-23
Are you asking to find a MATRIX B that will kill off A when you left multiply B*A?
syms x1 x2 x3 x4 Cdc Cb Lcpl Vfc
A=[Vfc/(x1*Cdc), x4/(x1*Cdc), -x3/Cdc;
0 0 0;
0 0 x1/Lcpl;
0 -1/Cb 0];
rank(A)
ans = 3
So A is a 4x3 matrix, that has rank 3. Note that one of the rows of A is entirely zero, so the other three rows of A are independent of each other.
If B left-multiplies A, then B must have size n by 4, since A has 4 rows. Are there ANY row vectors that when multiplied by A will kill it off? That is trivial.
null(A')'
ans = 
So ANY constant times the vector [0 1 0 0] will trivially kill off A, but NO other vector will do so.
And if B is a matrix, then at most it can be a matrix with only ONE row, since there is only one vector that can kill off A.
B = [0 1 0 0];
B*A
ans = 
To within a constant multiplier, that is the ONLY full rank matrix B that exists for this purpose. Of course, if some of the unknown parameters are trivially set to zero, then other vectors may still apply. But for general parameters as you have described, this is the ONLY solution. Honestly, this is a conclusion that we could easily have arrived at using only reasoning from linear algebra, once we observed that A has three linearly independent rows. And that is easily seen by inspection.

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Matrices and Arrays 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by