69 lines
1.6 KiB
Plaintext
69 lines
1.6 KiB
Plaintext
100 cls
|
|
110 n = 14 : m = 2 : q = 3 ' number of points and M.R. polynom degree
|
|
120 dim x(n)' data points
|
|
130 data 1.47,1.5,1.52,1.55,1.57,1.6,1.63,1.65,1.68,1.7,1.73,1.75,1.78,1.8,1.83
|
|
140 for c = 0 to n
|
|
150 read x(c)
|
|
160 next c
|
|
170 dim y(n)' data points
|
|
180 data 52.21,53.12,54.48,55.84,57.2,58.57,59.93,61.29,63.11,64.47,66.28,68.1,69.92,72.19,74.46
|
|
190 for c = 0 to n
|
|
200 read y(c)
|
|
210 next c
|
|
220 dim s(n) : dim t(n)' linear system coefficient
|
|
230 dim a(m,q)' sistem to be solved
|
|
240 dim p(m,q)
|
|
250 for k = 0 to 2*m
|
|
260 s(k) = 0 : t(k) = 0
|
|
270 for i = 0 to n
|
|
280 s(k) = s(k)+x(i)^k
|
|
290 if k <= m then t(k) = t(k)+y(i)*x(i)^k
|
|
300 next i
|
|
310 next k
|
|
320 ' build linear system
|
|
330 for fila = 0 to m
|
|
340 for columna = 0 to m
|
|
350 a(fila,columna) = s(fila+columna)
|
|
360 next columna
|
|
370 a(fila,columna) = t(fila)
|
|
380 next fila
|
|
390 print "Linear system coefficents:"
|
|
400 for i = 0 to m
|
|
410 for j = 0 to m+1
|
|
420 print using "######.#";a(i,j);
|
|
430 next j
|
|
440 print
|
|
450 next i
|
|
460 for j = 0 to m
|
|
470 for i = j to m
|
|
480 if a(i,j) <> 0 then goto 500
|
|
490 next i
|
|
500 if i = m+1 then
|
|
510 print : print "SINGULAR MATRIX '"
|
|
520 end
|
|
530 endif
|
|
540 for k = 0 to m+1
|
|
560 p(j,k) = a(i,k)
|
|
570 a(i,k) = p(j,k)
|
|
580 a(j,k) = a(i,k)
|
|
590 next k
|
|
600 z = 1/a(j,j)
|
|
610 for k = 0 to m+1
|
|
620 a(j,k) = z*a(j,k)
|
|
630 next k
|
|
640 for i = 0 to m
|
|
650 if i <> j then
|
|
660 z = -a(i,j)
|
|
670 for k = 0 to m+1
|
|
680 a(i,k) = a(i,k)+z*a(j,k)
|
|
690 next k
|
|
700 endif
|
|
710 next i
|
|
720 next j
|
|
730 print : print "Solutions:"
|
|
740 for i = 0 to m
|
|
750 print using " #####.#######";a(i,m+1);
|
|
760 next i
|
|
770 print
|
|
780 end
|