svdvar.pas
来自「Delphi Pascal 数据挖掘领域算法包 数值算法大全」· PAS 代码 · 共 29 行
PAS
29 行
PROCEDURE svdvar(v: glnpbynp; ma,np: integer; w: glnparray;
VAR cvm: glcvm; ncvm: integer);
(* Programs using routine SVDVAR must define the types
TYPE
glnpbynp = ARRAY [1..np,1..np] OF real;
glnparray = ARRAY [1..np] OF real;
glcvm = ARRAY [1..ncvm,1..ncvm] OF real;
in the calling program. *)
VAR
k,j,i: integer;
sum: real;
wti: glnparray;
BEGIN
FOR i := 1 TO ma DO BEGIN
wti[i] := 0.0;
IF (w[i] <> 0.0) THEN wti[i] := 1.0/(w[i]*w[i])
END;
FOR i := 1 TO ma DO BEGIN
FOR j := 1 TO i DO BEGIN
sum := 0.0;
FOR k := 1 TO ma DO BEGIN
sum := sum+v[i,k]*v[j,k]*wti[k]
END;
cvm[i,j] := sum;
cvm[j,i] := sum
END
END
END;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?