zoukankan      html  css  js  c++  java
  • 线性方程组与基尔霍夫定律

    对于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行是一样的,故存在冗余

     

  • 相关阅读:
    便 加权并查集
    bzoj 4565 状压区间dp
    bzoj 2242 [SDOI2011]计算器 快速幂+扩展欧几里得+BSGS
    poj 3243 扩展BSGS
    bzoj 3239 poj 2417 BSGS
    51nod 1135 原根 就是原根...
    bzoj 2005 能量采集 莫比乌斯反演
    约会 倍增lca
    bzoj 2186 [Sdoi2008]沙拉公主的困惑 欧拉函数
    IE下textarea去除回车换行符
  • 原文地址:https://www.cnblogs.com/wdfrog/p/7650282.html
Copyright © 2011-2022 走看看