From 100498089783148753f2862c4dbfba04f110727f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <andreas.mueller@ost.ch>
Date: Wed, 9 Mar 2022 09:42:50 +0100
Subject: add order statistics graph

---
 buch/papers/dreieck/images/Makefile  |   4 +-
 buch/papers/dreieck/images/order.m   |  79 ++++++++++++++++++++++++++++++++++
 buch/papers/dreieck/images/order.pdf | Bin 0 -> 31044 bytes
 buch/papers/dreieck/images/order.tex |  81 +++++++++++++++++++++++++++++++----
 4 files changed, 155 insertions(+), 9 deletions(-)
 create mode 100644 buch/papers/dreieck/images/order.m
 create mode 100644 buch/papers/dreieck/images/order.pdf

(limited to 'buch')

diff --git a/buch/papers/dreieck/images/Makefile b/buch/papers/dreieck/images/Makefile
index 02be1bb..3907d13 100644
--- a/buch/papers/dreieck/images/Makefile
+++ b/buch/papers/dreieck/images/Makefile
@@ -3,6 +3,8 @@
 #
 # (c) 2022 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
 #
-order.pdf:	order.tex
+order.pdf:	order.tex orderpath.tex
 	pdflatex order.tex
 
+orderpath.tex:	order.m
+	octave order.m
diff --git a/buch/papers/dreieck/images/order.m b/buch/papers/dreieck/images/order.m
new file mode 100644
index 0000000..d37a258
--- /dev/null
+++ b/buch/papers/dreieck/images/order.m
@@ -0,0 +1,79 @@
+#
+# order.m
+#
+# (c) 2022 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+#
+global N;
+N = 10;
+global subdivisions;
+subdivisions = 100;
+global P;
+P = 0.5
+
+function retval = orderF(p, n, k)
+	retval = 0;
+	for i = (k:n)
+		retval = retval + nchoosek(n,i) * p^i * (1-p)^(n-i);
+	end
+end
+
+function retval = orderd(p, n, k)
+	retval = 0;
+	for i = (k:n)
+		s = i * p^(i-1) * (1-p)^(n-i);
+		s = s - p^i * (n-i) * (1-p)^(n-i-1);
+		retval = retval + nchoosek(n,i) * s;
+	end
+end
+
+function orderpath(fn, k, name)
+	fprintf(fn, "\\def\\order%s{\n\t(0,0)", name);
+	global N;
+	global subdivisions;
+	for i = (0:subdivisions)
+		p = i/subdivisions;
+		fprintf(fn, "\n\t-- ({%.4f*\\dx},{%.4f*\\dy})",
+			p, orderF(p, N, k));
+	end
+	fprintf(fn, "\n}\n");
+end
+
+function orderdpath(fn, k, name)
+	fprintf(fn, "\\def\\orderd%s{\n\t(0,0)", name);
+	global N;
+	global subdivisions;
+	for i = (1:subdivisions-1)
+		p = i/subdivisions;
+		fprintf(fn, "\n\t-- ({%.4f*\\dx},{%.4f*\\dy})",
+			p, orderd(p, N, k));
+	end
+	fprintf(fn, "\n\t-- ({1*\\dx},0)");
+	fprintf(fn, "\n}\n");
+end
+
+fn = fopen("orderpath.tex", "w");
+orderpath(fn,   0, "zero");
+orderdpath(fn,  0, "zero");
+orderpath(fn,   1, "one");
+orderdpath(fn,  1, "one");
+orderpath(fn,   2, "two");
+orderdpath(fn,  2, "two");
+orderpath(fn,   3, "three");
+orderdpath(fn,  3, "three");
+orderpath(fn,   4, "four");
+orderdpath(fn,  4, "four");
+orderpath(fn,   5, "five");
+orderdpath(fn,  5, "five");
+orderpath(fn,   6, "six");
+orderdpath(fn,  6, "six");
+orderpath(fn,   7, "seven");
+orderdpath(fn,  7, "seven");
+orderpath(fn,   8, "eight");
+orderdpath(fn,  8, "eight");
+orderpath(fn,   9, "nine");
+orderdpath(fn,  9, "nine");
+orderpath(fn,  10, "ten");
+orderdpath(fn, 10, "ten");
+fclose(fn);
+
+
diff --git a/buch/papers/dreieck/images/order.pdf b/buch/papers/dreieck/images/order.pdf
new file mode 100644
index 0000000..6d9c8c0
Binary files /dev/null and b/buch/papers/dreieck/images/order.pdf differ
diff --git a/buch/papers/dreieck/images/order.tex b/buch/papers/dreieck/images/order.tex
index 826f48c..083f014 100644
--- a/buch/papers/dreieck/images/order.tex
+++ b/buch/papers/dreieck/images/order.tex
@@ -12,22 +12,87 @@
 \usetikzlibrary{arrows,intersections,math}
 \begin{document}
 \def\skala{8}
+\definecolor{darkgreen}{rgb}{0,0.6,0}
+\input{orderpath.tex}
 \begin{tikzpicture}[>=latex,thick,scale=\skala]
 
-\draw[color=red,line width=1.4pt] ({-0.1/\skala},0) 
-	--
-	plot[domain=0:1,samples=100] ({\x},{0.5*\x*\x*\x*\x*\x*\x})
-	--
-	({1+0.1/\skala},0.5);
+\def\dx{1}
+\def\dy{0.5}
 
-\draw[color=red,line width=1.4pt] ({-0.1/\skala},0) 
+\def\pfad#1#2{
+\draw[color=#2,line width=1.4pt] ({-0.1/\skala},0) 
 	--
-	plot[domain=0:1,samples=100] ({\x},{0.5*(\x*\x*\x*\x)})
+	#1
 	--
 	({1+0.1/\skala},0.5);
+}
 
-\draw[->] ({-0.1/\skala},0) -- (1.1,0) coordinate[label={$1$}];
+\pfad{\orderzero}{darkgreen!20}
+\pfad{\orderone}{darkgreen!20}
+\pfad{\ordertwo}{darkgreen!20}
+\pfad{\orderthree}{darkgreen!20}
+\pfad{\orderfour}{darkgreen!20}
+\pfad{\orderfive}{darkgreen!20}
+\pfad{\ordersix}{darkgreen!20}
+\pfad{\ordereight}{darkgreen!20}
+\pfad{\ordernine}{darkgreen!20}
+\pfad{\orderten}{darkgreen!20}
+\pfad{\orderseven}{darkgreen}
+
+\draw[->] ({-0.1/\skala},0) -- (1.1,0) coordinate[label={$x$}];
 \draw[->] (0,{-0.1/\skala}) -- (0,0.6) coordinate[label={left:$F(X)$}];
+\foreach \x in {0,0.2,0.4,0.6,0.8,1}{
+	\draw (\x,{-0.1/\skala}) -- (\x,{0.1/\skala});
+	\node at (\x,{-0.1/\skala}) [below] {$\x$};
+}
+\foreach \y in {0.5,1}{
+	\draw ({-0.1/\skala},{\y*\dy}) -- ({0.1/\skala},{\y*\dy});
+	\node at ({-0.1/\skala},{\y*\dy}) [left] {$\y$};
+}
+
+\node[color=darkgreen] at (0.65,{0.5*\dy}) [above,rotate=55] {$k=7$};
+
+\begin{scope}[yshift=-0.7cm]
+\def\dy{0.125}
+
+\def\pfad#1#2{
+	\draw[color=#2,line width=1.4pt] ({-0.1/\skala},0) 
+		--
+		#1
+		--
+		({1+0.1/\skala},0.0);
+}
+
+\begin{scope}
+\clip ({-0.1/\skala},{-0.1/\skala})
+	rectangle ({1+0.1/\skala},{0.56+0.1/\skala});
+\pfad{\orderdzero}{red!20}
+\pfad{\orderdone}{red!20}
+\pfad{\orderdtwo}{red!20}
+\pfad{\orderdthree}{red!20}
+\pfad{\orderdfour}{red!20}
+\pfad{\orderdfive}{red!20}
+\pfad{\orderdsix}{red!20}
+\pfad{\orderdeight}{red!20}
+\pfad{\orderdnine}{red!20}
+\pfad{\orderdten}{red!20}
+\pfad{\orderdseven}{red}
+\end{scope}
+
+\draw[->] ({-0.1/\skala},0) -- (1.1,0) coordinate[label={$x$}];
+\draw[->] (0,{-0.1/\skala}) -- (0,0.6) coordinate[label={left:$\varphi(X)$}];
+\foreach \x in {0,0.2,0.4,0.6,0.8,1}{
+	\draw (\x,{-0.1/\skala}) -- (\x,{0.1/\skala});
+	\node at (\x,{-0.1/\skala}) [below] {$\x$};
+}
+\foreach \y in {1,2,3,4}{
+	\draw ({-0.1/\skala},{\y*\dy}) -- ({0.1/\skala},{\y*\dy});
+	\node at ({-0.1/\skala},{\y*\dy}) [left] {$\y$};
+}
+
+\node[color=red] at (0.67,{2.7*\dy}) [above] {$k=7$};
+
+\end{scope}
 
 \end{tikzpicture}
 \end{document}
-- 
cgit v1.2.1