⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 elmhes.pas

📁 Delphi Pascal 数据挖掘领域算法包 数值算法大全
💻 PAS
字号:
PROCEDURE elmhes(VAR a: glnpnp; n: integer);
(* Programs using routine ELMHES must define the type
TYPE
   glnpnp = ARRAY [1..np,1..np]
where 'np by np' is the physical dimension of the matrix to be reduced. *)
VAR
   m,j,i: integer;
   y,x: real;
BEGIN
   IF (n > 2) THEN BEGIN
      FOR m := 2 TO n-1 DO BEGIN
         x := 0.0;
         i := m;
         FOR j := m TO n DO BEGIN
            IF (abs(a[j,m-1]) > abs(x)) THEN BEGIN
               x := a[j,m-1];
               i := j
            END
         END;
         IF (i <> m) THEN BEGIN
            FOR j := m-1 TO n DO BEGIN
               y := a[i,j];
               a[i,j] := a[m,j];
               a[m,j] := y
            END;
            FOR j := 1 TO n DO BEGIN
               y := a[j,i];
               a[j,i] := a[j,m];
               a[j,m] := y
            END
         END;
         IF (x <> 0.0) THEN BEGIN
            FOR i := m+1 TO n DO BEGIN
               y := a[i,m-1];
               IF (y <> 0.0) THEN BEGIN
                  y := y/x;
                  a[i,m-1] := y;
                  FOR j := m TO n DO a[i,j] := a[i,j]-y*a[m,j];
                  FOR j := 1 TO n DO a[j,m] := a[j,m]+y*a[j,i]
               END
            END
         END
      END
   END
END;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -