Home » Archimedes archive » Archimedes World » AW-1996-11.adf » !AcornAns_AcornAns » LinReg1
LinReg1
This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.
Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.
Tape/disk: | Home » Archimedes archive » Archimedes World » AW-1996-11.adf » !AcornAns_AcornAns |
Filename: | LinReg1 |
Read OK: | ✔ |
File size: | 02D5 bytes |
Load address: | 0000 |
Exec address: | 0000 |
File contents
10MODE 18 20n%=100 30DIM u(n%-1), v(n%-1) 40: 50REPEAT 60 : 70 a=RND(1)*2*PI:cs=COS(a):sn=SIN(a) 80 c=RND(200)-100 90 xr=RND(800) 100 yr=RND(800) 110 ORIGIN 640,512:CLS 120 FOR i%=0 TO n%-1 130 x=RND(xr)-xr/2 140 y=RND(yr)-yr/2 150 u(i%)=x*sn+y*cs 160 v(i%)=c+x*cs-y*sn 170 PLOT 69,u(i%),v(i%) 180 NEXT 190 : 200 ub=0 210 vb=0 220 p=0 230 q=0 240 FOR i%=0 TO n%-1 250 ub+=u(i%) 260 vb+=v(i%) 270 p +=v(i%)*v(i%)-u(i%)*u(i%) 280 q +=u(i%)*v(i%) 290 NEXT 300 ub=ub/n% 310 vb=vb/n% 320 p=p/n%+ub*ub-vb*vb 330 q=2*(q/n%-ub*vb) 340 t=SQR(p*p/(p*p+q*q)) 350 a=SQR((1+t)/2) 360 b=SQR((1-t)/2) 370 IF p<0 SWAP a,b 380 IF q>0 a=-a 390 c=ub*a+vb*b 400 : 410 x=-640 420 MOVE x,(c-a*x)/b 430 x=640 440 DRAW x,(c-a*x)/b 450 PRINT p;" ",q 460 PRINT a;" ",b;" ",c:k%=GET 470 : 480UNTIL FALSE 490: 500END
� 18 n%=100 � u(n%-1), v(n%-1) (: 2� < : F a=�(1)*2*�:cs=�(a):sn=�(a) P c=�(200)-100 Z xr=�(800) d yr=�(800) n ȑ 640,512:� x � i%=0 � n%-1 � x=�(xr)-xr/2 � y=�(yr)-yr/2 � u(i%)=x*sn+y*cs � v(i%)=c+x*cs-y*sn � � 69,u(i%),v(i%) � � � : � ub=0 � vb=0 � p=0 � q=0 � � i%=0 � n%-1 � ub+=u(i%) vb+=v(i%) ! p +=v(i%)*v(i%)-u(i%)*u(i%) q +=u(i%)*v(i%) " � , ub=ub/n% 6 vb=vb/n% @ p=p/n%+ub*ub-vb*vb J q=2*(q/n%-ub*vb) T t=�(p*p/(p*p+q*q)) ^ a=�((1+t)/2) h b=�((1-t)/2) r � p<0 Ȕ a,b | � q>0 a=-a � c=ub*a+vb*b � : � x=-640 � � x,(c-a*x)/b � x=640 � � x,(c-a*x)/b � � p;" ",q � � a;" ",b;" ",c:k%=� � : �� � �: �� �
00000000 0d 00 0a 08 eb 20 31 38 0d 00 14 0a 6e 25 3d 31 |..... 18....n%=1| 00000010 30 30 0d 00 1e 16 de 20 75 28 6e 25 2d 31 29 2c |00..... u(n%-1),| 00000020 20 76 28 6e 25 2d 31 29 0d 00 28 05 3a 0d 00 32 | v(n%-1)..(.:..2| 00000030 05 f5 0d 00 3c 06 20 3a 0d 00 46 1f 20 61 3d b3 |....<. :..F. a=.| 00000040 28 31 29 2a 32 2a af 3a 63 73 3d 9b 28 61 29 3a |(1)*2*.:cs=.(a):| 00000050 73 6e 3d b5 28 61 29 0d 00 50 11 20 63 3d b3 28 |sn=.(a)..P. c=.(| 00000060 32 30 30 29 2d 31 30 30 0d 00 5a 0e 20 78 72 3d |200)-100..Z. xr=| 00000070 b3 28 38 30 30 29 0d 00 64 0e 20 79 72 3d b3 28 |.(800)..d. yr=.(| 00000080 38 30 30 29 0d 00 6e 11 20 c8 91 20 36 34 30 2c |800)..n. .. 640,| 00000090 35 31 32 3a db 0d 00 78 12 20 e3 20 69 25 3d 30 |512:...x. . i%=0| 000000a0 20 b8 20 6e 25 2d 31 0d 00 82 12 20 20 78 3d b3 | . n%-1.... x=.| 000000b0 28 78 72 29 2d 78 72 2f 32 0d 00 8c 12 20 20 79 |(xr)-xr/2.... y| 000000c0 3d b3 28 79 72 29 2d 79 72 2f 32 0d 00 96 15 20 |=.(yr)-yr/2.... | 000000d0 20 75 28 69 25 29 3d 78 2a 73 6e 2b 79 2a 63 73 | u(i%)=x*sn+y*cs| 000000e0 0d 00 a0 17 20 20 76 28 69 25 29 3d 63 2b 78 2a |.... v(i%)=c+x*| 000000f0 63 73 2d 79 2a 73 6e 0d 00 aa 16 20 20 f0 20 36 |cs-y*sn.... . 6| 00000100 39 2c 75 28 69 25 29 2c 76 28 69 25 29 0d 00 b4 |9,u(i%),v(i%)...| 00000110 06 20 ed 0d 00 be 06 20 3a 0d 00 c8 09 20 75 62 |. ..... :.... ub| 00000120 3d 30 0d 00 d2 09 20 76 62 3d 30 0d 00 dc 08 20 |=0.... vb=0.... | 00000130 70 3d 30 0d 00 e6 08 20 71 3d 30 0d 00 f0 12 20 |p=0.... q=0.... | 00000140 e3 20 69 25 3d 30 20 b8 20 6e 25 2d 31 0d 00 fa |. i%=0 . n%-1...| 00000150 0f 20 20 75 62 2b 3d 75 28 69 25 29 0d 01 04 0f |. ub+=u(i%)....| 00000160 20 20 76 62 2b 3d 76 28 69 25 29 0d 01 0e 21 20 | vb+=v(i%)...! | 00000170 20 70 20 2b 3d 76 28 69 25 29 2a 76 28 69 25 29 | p +=v(i%)*v(i%)| 00000180 2d 75 28 69 25 29 2a 75 28 69 25 29 0d 01 18 15 |-u(i%)*u(i%)....| 00000190 20 20 71 20 2b 3d 75 28 69 25 29 2a 76 28 69 25 | q +=u(i%)*v(i%| 000001a0 29 0d 01 22 06 20 ed 0d 01 2c 0d 20 75 62 3d 75 |)..". ...,. ub=u| 000001b0 62 2f 6e 25 0d 01 36 0d 20 76 62 3d 76 62 2f 6e |b/n%..6. vb=vb/n| 000001c0 25 0d 01 40 17 20 70 3d 70 2f 6e 25 2b 75 62 2a |%..@. p=p/n%+ub*| 000001d0 75 62 2d 76 62 2a 76 62 0d 01 4a 15 20 71 3d 32 |ub-vb*vb..J. q=2| 000001e0 2a 28 71 2f 6e 25 2d 75 62 2a 76 62 29 0d 01 54 |*(q/n%-ub*vb)..T| 000001f0 17 20 74 3d b6 28 70 2a 70 2f 28 70 2a 70 2b 71 |. t=.(p*p/(p*p+q| 00000200 2a 71 29 29 0d 01 5e 11 20 61 3d b6 28 28 31 2b |*q))..^. a=.((1+| 00000210 74 29 2f 32 29 0d 01 68 11 20 62 3d b6 28 28 31 |t)/2)..h. b=.((1| 00000220 2d 74 29 2f 32 29 0d 01 72 11 20 e7 20 70 3c 30 |-t)/2)..r. . p<0| 00000230 20 c8 94 20 61 2c 62 0d 01 7c 0f 20 e7 20 71 3e | .. a,b..|. . q>| 00000240 30 20 61 3d 2d 61 0d 01 86 10 20 63 3d 75 62 2a |0 a=-a.... c=ub*| 00000250 61 2b 76 62 2a 62 0d 01 90 06 20 3a 0d 01 9a 0b |a+vb*b.... :....| 00000260 20 78 3d 2d 36 34 30 0d 01 a4 12 20 ec 20 78 2c | x=-640.... . x,| 00000270 28 63 2d 61 2a 78 29 2f 62 0d 01 ae 0a 20 78 3d |(c-a*x)/b.... x=| 00000280 36 34 30 0d 01 b8 12 20 df 20 78 2c 28 63 2d 61 |640.... . x,(c-a| 00000290 2a 78 29 2f 62 0d 01 c2 0e 20 f1 20 70 3b 22 20 |*x)/b.... . p;" | 000002a0 22 2c 71 0d 01 cc 19 20 f1 20 61 3b 22 20 22 2c |",q.... . a;" ",| 000002b0 62 3b 22 20 22 2c 63 3a 6b 25 3d a5 0d 01 d6 06 |b;" ",c:k%=.....| 000002c0 20 3a 0d 01 e0 07 fd 20 a3 0d 01 ea 05 3a 0d 01 | :..... .....:..| 000002d0 f4 05 e0 0d ff |.....| 000002d5