遗忘海岸

江湖程序员 -Feiph(LM战士)

导航

线性方程组与基尔霍夫定律

对于c题,如果方程组中选择ABCD4个节点的电流方程,再加2个电压回路方程那么将得到一个奇异矩阵。

所以需要选择3个节点的电流方程,加三个节点的电压方程, 

在使用基尔霍夫电压回路定律时,要选择一个绕行方向,如果电流方向跟该绕行方向同向取正(R*i) 否则取负(-R*I)对于像上面i3 i4这样的电流 可以当R=0 所以i*R=0进行计算

跟绕行方向相同的电源取负,反之取正, 比方上面我们 从D--->i1--> 8V电源--->A--->C---i5-->D 这样的逆时针绕行方向有方程

i4*0 - i1*4+8+i3*0+i5*4=0 即 -4  i4  + 4 i5= -8

下面代码是选择不容的绕行回路与方向,结果是一致的(2,0,-2,-2,0,2)。

【非奇异矩阵A对应的 Ax=b有唯一的解  因为 A^-1 A x=A^-1 b  --> Ix=A^-1 b 即 向量x=A^-1 b 】

clc
 format short
B_singular=[
    -1  1  -1  0   0  0
     1 -1  0  1   0  0
     0  0  1  0  -1  1
     0  0  0  -1  1  -1
     4  2  0  0   0  0
     0  0  0  0   4  5    
];
% 
% A=[
%     0
%     0
%     0
%     0
%     8
%     10
%    ];
%      
% B=[
%     -1  1  -1  0   0  0;
%      1 -1  0  1   0  0;  
%      0  0  1  0  -1  1;
%      0  2  0  0   4  0
%      4  2  0  0   0  0
%      0  0  0  0   4  5
%    ];

% A=[
%     0
%     0
%     0
%     18
%     8
%     10
%    ];
%      
% B=[
%     -1  1  -1  0  0  0;
%      1 -1  0  1   0  0;  
%      0  0  1  0  -1  1;
%      4  0  0  0   0  5
%      4  2  0  0   0  0
%      0  0  0  0   4  5
%    ];

% A=[
%     0
%     0
%     0
%     10
%     8
%     10
%    ];
%      
% B=[
%     -1  1  -1  0  0  0;
%      1 -1  0  1   0  0;  
%      0  0  1  0  -1  1;
%     % 0  0  0  -1  1  -1
%      0  -2  0  0   0  5
%      4  2  0  0   0  0
%      0  0  0  0   4  5
%    ];

A=[
    0
    0
    0
   -8
    8
    10
   ];
     
B=[
    -1  1  -1  0  0  0;
     1 -1  0  1   0  0;  
     0  0  1  0  -1  1;
    % 0  0  0  -1  1  -1
     -4  0  0  0   4  0
     4  2  0  0   0  0
     0  0  0  0   4  5
   ];

B^-1 * A
View Code

上面对应矩阵 B_singular ,将1,2行相加乘以 -1 ,替换第2行,将3,4行相加替换第3行,会发现2,3行是一样的,故存在冗余

 

posted on 2017-10-11 14:11  遗忘海岸  阅读(1318)  评论(0编辑  收藏  举报