Cubic
x: (2&^@- * !~/~) i.4 1 0 0 0 1r2 1r2 0 0 1r4 1r2 1r4 0 1r8 3r8 3r8 1r8 x: (,|."1@|.@}:) (2&^@- * !~/~) i.4 1 0 0 0 1r2 1r2 0 0 1r4 1r2 1r4 0 1r8 3r8 3r8 1r8 0 1r4 1r2 1r4 0 0 1r2 1r2 0 0 0 1
require 'plot'
S3=. }. (,|."1@|.@}:) (2&^@- * !~/~) i.4
split3=: ( {. , [: , (,.3 4)&((S3 +/ . * ]);._3) )"1
3 : 0 ''
C=. 45 44,.31 218,.146 388,.378 195
pd 'reset;pensize 2;markersize 1.5;'
pd 'type line,marker'
pd <"1 C
pd <"1 split3 C
pd 'type line'
pd <"1 split3^:4 C
pd 'show'
)
Quadratic
S2=. }. (,|."1@|.@}:) (2&^@- * !~/~) i.3
split2=: ( {. , [: , (,.2 3)&((S2 +/ . * ]);._3) )"1
3 : 0 ''
C=. 45 44,.88 303,.378 195
pd 'reset;pensize 2;markersize 1.5;'
pd 'type line,marker'
pd <"1 C
pd <"1 split2 C
pd 'type line'
pd <"1 split2^:4 C
pd 'show'
)
Smooth Transition
adj=: ([: }:@, }. ,.~ }: -:@+ }.)"1 3 : 0 '' C=. adj (,:~ i.@#) A=: 1 4 2 6 3 pd 'reset;pensize 1;markersize 1.5;pensize 2' pd 'type line,marker' pd <"1 C pd <"1 split2 C pd 'type dot;' pd <"1 split2^:4 C pd 'show' )
