1 PROGRAM AUSGLEICHSPOLYNOM(INPUT,OUTPUT);
3 CONST NMAX=15; NRMAX=16;
5 VAR M, (* ANZAHL DER PUNKTE *)
6 N, (* GRAD DES POLYNOMS *)
10 A: ARRAY[0..NRMAX,0..NRMAX] OF REAL;
11 P,C: ARRAY[0..NMAX] OF REAL;
13 BEGIN READ(M,N); NR := N + 1;
15 WRITELN("A U S G L E I C H S P O L Y N O M");
18 LOESCHEN DER GLEICHUNGSMATRIX
21 FOR J := I TO NR DO A[I,J] := 0;
23 EINLESEN DER PUNKTE, ANGABEPROTOKOLL.
24 BERECHNUNG DER KOEFF. DER NORMALGLEICHUNGEN UND
25 BELEGUNG DER RECHTEN OBEREN DREIECKSMATRIX
26 A[I,J] ( 0<=I<=N, I<=J<=N ),
27 RECHTE SEITEN IN A[I,N+1].
29 FOR K := 1 TO M (* FUER ALLE PUNKTE *) DO
31 READ(X,Y); WRITELN("P",K:2,X:8:2," ,",Y:8:2);
37 A[I,J] := A[I,J] + U*V;
40 A[I,NR] := A[I,NR] + U*Y;
45 BERECHNUNG DER LINKEN UNTEREN DREIECKSMATRIX
46 NACH C H O L E S K Y UND SPEICHERUNG IN
47 A[I,J] ( 0<=I<=N, 0<=J<I ).
48 P[I] ENTHALTEN DIE ELEMENTE A[I,I] DER HAUPTDIAGONALE,
49 TRANSFORMIERTE RECHTE SEITEN IN A[N+1,I].
54 FOR K := I-1 DOWNTO 0 DO W := W - A[J,K]*A[I,K];
55 IF I=J THEN P[I] := 1/SQRT(W)
59 LOESUNG DES GESTAFFELTEN GLEICHUNGSSYSTEMS
60 LIEFERT DIE KOEFFIZIENTEN DES AUSGLEICHSPOLYNOMS
62 FOR I := N DOWNTO 0 DO
64 FOR J := N DOWNTO I+1 DO W := W - C[J]*A[J,I];
68 AUSGABE DER KOEFFIZIENTEN
71 WRITELN("DIE KOEFFIZIENTEN SIND:");
72 FOR I := 0 TO N DO WRITELN("C",I:1," =",C[I])