This is non-commercial site, its content is based on Atari 8-bit home computer contents and references.
If you feel your rights are violated by showing/using any part of contents of your product represented on this page,
please contact me immediatelly so I can remove it!
|
-
Entry name:Aproximace funkce
-
Category:Arithmetics
-
Publisher/Developer:Flop 8
Listing 1
10 CLS
15 DIM A0$(70),A1$(50),A2$(50),A3$(50)
20 SETCOLOR 2,0,0
25 A0$=" APROXIMACE FUNKCE DANE BODY POLYNOMEM M-teho STUPNE."
30 A1$=""
35 A2$="|y=K(1)+K(2)*X+K(3)*X^2+K(4)*X^3+..|"
40 A3$=""
45 PRINT A0$
50 PRINT
55 PRINT A1$
60 PRINT A2$
65 PRINT A3$
70 RESTORE 10010
75 READ K
80 INPUT "Zadej stupen aproximacniho polynomu M=",M
85 N=M+1:NN=M+1
90 Z=N*2
95 DIM B(Z),S(Z),P(Z),X(Z),Y(Z)
100 DIM A(Z,Z)
105 IF K<N THEN ? "NUTNO ZADAT SOURADNICE DALSICH ";INT(N-K);" BODU":LIST 10000,
110 FOR I=1 TO 2*N-1
115 B(I)=0:S(I)=0
120 P(I)=1
125 NEXT I
130 RESTORE 10025
135 FOR I=1 TO K
140 READ X,Y:X(I)=X:Y(I)=Y
145 P=1
150 FOR J=2 TO 2*N-1
155 P(J)=P*X(I):P=P*X(I)
160 S(J)=S(J)+P(J)
165 IF J>N THEN 175
170 B(J)=B(J)+Y(I)*P(J)
175 NEXT J
180 B(1)=B(1)+Y(I)
185 NEXT I
190 S(1)=K
195 FOR I=1 TO N
200 FOR J=1 TO N
205 A(I,J)=S(I+J-1)
210 NEXT J
215 NEXT I
220 ------------------------------
225 A=NN
230 B=A+1
235 DIM C(A,B)
240 ?
245 ?
250 FOR I=1 TO A
255 FOR J=1 TO B
260 IF J=B THEN C(I,J)=B(I):GOTO 270
265 C(I,J)=A(I,J)
270 NEXT J
275 NEXT I
280 CLS
285 FOR N=1 TO A
290 FOR K=N TO A
295 IF C(K,N)<>0 THEN POP:GOTO 315
300 NEXT K
305 ? " Soustava nema reseni "
310 END
315 IF K=N THEN GOTO 350
320 FOR I=N TO B
325 J=C(N,I)
330 C(N,I)=C(K,I)
335 C(K,I)=J
340 NEXT I
345 K=N+1
350 FOR J=B TO N STEP -1
355 C(N,J)=C(N,J)/C(N,N)
360 NEXT J
365 IF N=A THEN POP:GOTO 400
370 FOR I=K TO A
375 FOR J=K TO B
380 C(I,J)=C(I,J)-C(I,N)*C(N,J)
385 NEXT J
390 NEXT I
395 NEXT N
400 FOR I=A TO 2 STEP -1
405 FOR J=1 TO I-1
410 C(J,B)=C(J,B)-C(I,B)*C(J,I)
415 NEXT J
420 NEXT I
425 ?
430 PRINT " Koeficienty K(I) aproximacniho polynomu stupne M=";M
435 PRINT A1$
440 PRINT A2$
445 PRINT A3$
450 PRINT
455 FOR N=1 TO A
460 PRINT ,"K(";N;")=";C(N,B)
465 NEXT N
470 PRINT
475 PRINT
480 PRINT " PRO VYPIS NA TISKARNU STISKNI LIB. KLAVESU."
485 GET KEY
490 LPRINT ,"APROXIMACE FUNKCE DANE BODY POLYNOMEM ";M;" STUPNE."
495 LPRINT
500 LPRINT ,," y=K(1)+K(2)*X+K(3)*X^2+K(4)*X^3+.. "
505 LPRINT
510 FOR N=1 TO A
515 LPRINT ,,,"K(";N;")=";C(N,B)
520 NEXT N
10000 ------------------------------
10005 REM POCET NAMERENYCH HODNOT
10010 DATA 5
10015 ------------------------------
10020 REM SOURADNICE BODU X,Y
10025 DATA 1,3
10030 DATA 2,6
10035 DATA 3,11
10040 DATA 4,18
10045 DATA 5,27
References
Listing downloads
Copyright holder
