summaryrefslogtreecommitdiff
path: root/Master/texmf/doc/asymptote/examples/spline.asy
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf/doc/asymptote/examples/spline.asy')
-rw-r--r--Master/texmf/doc/asymptote/examples/spline.asy25
1 files changed, 25 insertions, 0 deletions
diff --git a/Master/texmf/doc/asymptote/examples/spline.asy b/Master/texmf/doc/asymptote/examples/spline.asy
new file mode 100644
index 00000000000..9d79ef3a962
--- /dev/null
+++ b/Master/texmf/doc/asymptote/examples/spline.asy
@@ -0,0 +1,25 @@
+import graph;
+import interpolate;
+
+size(15cm,15cm,IgnoreAspect);
+
+real a=1997, b=2002;
+int n=5;
+real[] xpt=a+sequence(n+1)*(b-a)/n;
+real[] ypt={31,36,26,22,21,24};
+horner h=diffdiv(xpt,ypt);
+fhorner L=fhorner(h);
+
+scale(false,true);
+
+pen p=linewidth(1);
+
+draw(graph(L,a,b),dashed+black+p,"Lagrange interpolation");
+draw(graph(xpt,ypt,Hermite(natural)),red+p,"natural spline");
+draw(graph(xpt,ypt,Hermite(monotonic)),blue+p,"monotone spline");
+xaxis("$x$",BottomTop,LeftTicks(Step=1,step=0.25));
+yaxis("$y$",LeftRight,RightTicks(Step=5));
+
+dot(pairs(xpt,ypt),4bp+gray(0.3));
+
+attach(legend(),point(10S),30S);