線形方程式分解法 - アウトPCA消去法

  1.コード

%%主要素の除去
機能Elimination_of_column_pivot_entries ECPE =(M、B)
グローバルN-; 
[N-、N-] =サイズ(M); 
B = [M、B]; 
R_A =ランク(M); R_Bランク=(B ); 
IF〜= R_B R_A 
    DISP( '方程式が解を持たない'); 
ELSEIF(R_A == R_B)&&(N - == R_A)
    DISP( 'この式は一意の解を有し'); 
    Kが=ため1 :. 1-N-。
        B = Column_pivot_transformation(B、K); 
        B = Elimination_method(B、K); 
    エンド
    X- = Upper_trig_iterative_solution(B); 
他の
    DISP( '式の無限に多くのソリューションが存在する'); 
エンド
DISP( '解ベクトルである:'); 
ECPE = X-; 
%% PCA変換外
、%%カラム指定pはカラムの最大値を見つけ、この値は主エレメント線変更するために使用される
    関数Column_pivot_transformation CPT =(M、P)
        [M、N - ] =サイズ(M)。
        S = MAX(M(P:M、P))。 
%%上三角迭代法
        [X、Y] =見つける(M(P:M、P)== S)。
        H = X + P-1。
        CH1 = M(H、:)。
        CH 2 = M(P、:)。
        M(H、:) = CH 2; 
        M(P、:) = Ch1を。
        CPT = M; 
    エンド
%% P列消元函数
    機能EM = Elimination_method(M、P)
        [M、N] =サイズ(M);本部=ゼロ(1、M)。
        I = P + 1:M 
            本部(I)= M(I、P)/ M(P、P)。
        エンド
        jに対する= P:N 
            のI = P:M 
                M(I、J)= M(i、j)は-M(P、J)*本部(I)。
            エンド
        エンド
        EM = M。
    エンド 
        [M、N] =サイズ(M)。
    機能UTIS = Upper_trig_iterative_solution(M)
        A = M(:、1:N-1); BA = M(:、n)は、
        X =ゼロ(1、M)。
        X(M)= BA(M)/ A(M、M)。
        -1:I = M-1 1 
            合計= 0; 
            ただしj = I + 1:1:Mの
                和=和+ A(i、j)は* X(J)。
            エンド
            X(I)=(B-A(I)-sum)/ A(I、I)。
        エンド
        UTIS = X '。
    エンド・
エンド

  2.例

全てクリア
CLC 
M =ランド(9)
B =変形(RAND(3)、9,1)
 
S = Elimination_of_column_pivot_entries(M、B)

M \ Bを

  結果

M = 
  7の列1 
    0.2089 0.3502 0.8699 0.6473 0.4046 0.1389 0.7413 
    0.7093 0.6620 0.2648 0.5439 0.4484 0.6963 0.5201 
    0.2362 0.4162 0.3181 0.7210 0.3658 0.0938 0.3477 
    0.1194 0.8419 0.1192 0.5225 0.7635 0.5254 0.1500 
    0.6073 0.8329 0.9398 0.9937 0.6279 0.5303 0.5861 
    0.4501 0.2564 0.6456 0.2187 0.7720 0.8611 0.2621 
    0.4587 0.6135 0.4795 0.1058 0.9329 0.4849 0.0445 
    0.5822 0.6393 0.1097 0.9727 0.3935 0.7549 0.6619 
    0.7703 0.5407 0.5447 0.0636 0.1920 0.6714 0.2428 
  カラム8-9  
    0.4424 0.3309
    0.6878 0.4243
    0.2703 0.3592 
    0.7363 0.1971 
    0.3947 0.8217 
    0.6834 0.4299 
    0.7040 0.8878 
    0.4423 0.3912 
    0.0196 0.7691 
、B = 
    0.3968 
    0.8085 
    0.7551 
    0.3774 
    0.2160 
    0.7904 
    0.9493 
    0.3276 
    0.6713 
この式は、一意の解た
溶液ベクトルである:
S = 
   19.6917 
    7.6005 
   17.0314 
   -1.6699 
   -5.7675 
  -12.1059 
  -19.9661 
   10.5792 
  -18.0751 
= ANS 
   19.6917 
   -1.6699 
   -5.7675 
    7.6005
   17.0314 
  -12.1059 
  -19.9661 
   10.5792 
  -18.0751

  

おすすめ

転載: www.cnblogs.com/guliangt/p/12119393.html