%!PS %%BoundingBox: 10 40 600 630 /doos { newpath dup 3 2 roll dup 6 1 roll exch moveto 3 2 roll dup 4 1 roll exch lineto dup 4 1 roll lineto exch lineto closepath stroke } def % % 10 40 600 630 doos % /Times-Roman findfont 0.13 scalefont setfont % 0 20 translate 150 150 scale 0.006 setlinewidth % % X-axis and Y-axis: newpath 0.2 0.27 moveto 3.75 0 rlineto 0.77 0.2 moveto 0 3.5 rlineto stroke % 0.77 0.27 translate % % Start & increments: /x -0.5 def /dx { x /x x 0.01 add def } def % /fun { dup 0.5 eq { pop 1000 } { dup 1 exch 2 mul sub dup mul exch dup mul exch div } ifelse } def newpath dx dup fun moveto 361 { dx dup fun dup 3.3 gt { moveto }{ lineto } ifelse } repeat stroke % 0.002 setlinewidth newpath % /Times-Roman findfont 0.10 scalefont setfont % 2.5 -0.08 moveto (x) show -0.08 1.8 moveto (y) show -0.08 -0.08 moveto (O) show 0.8 2.5 moveto (y\50x\51 = x^2/\50 1-2.x\51^2) show % newpath -0.5 0.25 moveto 3.5 0 rlineto stroke -0.15 0.27 moveto (1/4) show newpath 0.5 0 moveto 0 3.5 rlineto stroke 0.45 -0.08 moveto (1/2) show newpath 0.25 0 moveto 0 0.25 rlineto stroke 0.20 -0.08 moveto (1/4) show % % DANGEROUS POINTS % % Function y = sqrt(w) with Newton-Rhapson. % % Theory: y(n+1) = y(n) - f(y(n))/f'(y(n)) % % Here: y = sqrt(w) or y^2 = w . Take f(y) = y^2 - w , then f'(y) = 2.y % ==> y(n+1) = y(n) - (y(n)^2 - w)/(2.y(n)) = y(n) - y(n)/2 + w/y(n)/2 % % Conclusion: y(n+1) = 1/2.( y(n) + w / y(n) ) % -------------------------------- /wortel { /y 0.5 def /w exch def w 0 le { /y 0 def } { 7 { /y y w y div add 0.5 mul def } repeat } ifelse y } def % /plus { wortel dup 2 mul 1 add div } def /min { wortel dup 2 mul 1 sub dup 0 le { pop 1000 } { div } ifelse } def /trekplus { newpath xp plus 0 moveto 0 xp dup 3.5 gt { pop 3.5 } if rlineto stroke } def /trekmin { newpath xp min 0 moveto 0 xp dup 3.5 gt { pop 3.5 } if rlineto stroke } def % /x0 0.5 def /xp x0 def trekplus trekmin % /xp x0 plus def trekplus trekmin /xp x0 min def trekplus trekmin % /xp x0 plus plus def trekplus trekmin /xp x0 plus min def trekplus trekmin /xp x0 min plus def trekplus trekmin /xp x0 min min def trekplus trekmin % /xp x0 plus plus plus def trekplus trekmin /xp x0 plus plus min def trekplus trekmin /xp x0 plus min plus def trekplus trekmin /xp x0 plus min min def trekplus trekmin /xp x0 min plus plus def trekplus trekmin /xp x0 min plus min def trekplus trekmin /xp x0 min min plus def trekplus trekmin /xp x0 min min min def trekplus trekmin % % program funktie2; % % var % k : byte; % x : double; % % begin % for k := 5 to 14 do % begin % x := 1/(2+2*cos(pi*k/16)); % Writeln(x:9:4,' ',0,' 0.01 0 360 arc closepath fill') % end; % end. % 0.3214 0 0.015 0 360 arc closepath fill 0.3616 0 0.015 0 360 arc closepath fill 0.4184 0 0.015 0 360 arc closepath fill 0.5000 0 0.015 0 360 arc closepath fill 0.6212 0 0.015 0 360 arc closepath fill 0.8100 0 0.015 0 360 arc closepath fill 1.1250 0 0.015 0 360 arc closepath fill 1.7071 0 0.015 0 360 arc closepath fill 2.9668 0 0.015 0 360 arc closepath fill 6.5685 0 0.015 0 360 arc closepath fill % showpage