<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>brianp.de &#187; Funktion</title>
	<atom:link href="http://brianp.de/tag/funktion/feed/" rel="self" type="application/rss+xml" />
	<link>http://brianp.de</link>
	<description>Wissen ist der erste Rohstoff, der sich bei Gebrauch vermehrt! - brandeins</description>
	<lastBuildDate>Mon, 06 Sep 2010 14:55:39 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Wichtige Scheme Funktionen</title>
		<link>http://brianp.de/2009/11/28/wichtige-scheme-funktionen/</link>
		<comments>http://brianp.de/2009/11/28/wichtige-scheme-funktionen/#comments</comments>
		<pubDate>Sat, 28 Nov 2009 15:05:09 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
				<category><![CDATA[GdI1]]></category>
		<category><![CDATA[Scheme]]></category>
		<category><![CDATA[filter]]></category>
		<category><![CDATA[fold]]></category>
		<category><![CDATA[Funktion]]></category>
		<category><![CDATA[list]]></category>
		<category><![CDATA[Liste]]></category>
		<category><![CDATA[map]]></category>

		<guid isPermaLink="false">http://brianp.de/?p=797</guid>
		<description><![CDATA[foldr und foldl Die Funktion fold wendet eine Funktion auf jedes Element einer Liste an, speichert das Ergebnis in einer neuen Liste und gibt diese zurück. foldr liest die Liste von links nach rechts ein. foldl von rechts nach links, also falsch herum. Daraus ergibt sich auch gleich eine sehr hilfreiche Anwendung von foldl: &#62; [...]]]></description>
			<content:encoded><![CDATA[<h3>foldr und foldl</h3>
<p>Die Funktion fold wendet eine Funktion auf jedes Element einer Liste an, speichert das Ergebnis in einer neuen Liste und gibt diese zurück.<br />
<a href="http://docs.plt-scheme.org/reference/pairs.html#(def._((lib._scheme/base..ss)._foldr))">foldr</a> liest die Liste von links nach rechts ein. <a href="http://docs.plt-scheme.org/reference/pairs.html#(def._((lib._scheme/base..ss)._foldl))">foldl</a> von rechts nach links, also falsch herum. Daraus ergibt sich auch gleich eine sehr hilfreiche Anwendung von foldl:</p>
<div class="codecolorer-container scheme default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="scheme codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #66cc66;">&gt;</span> <span style="color: #66cc66;">&#40;</span>foldl <span style="color: #b1b100;">cons</span> empty <span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">list</span> <span style="color: #cc66cc;">1</span> <span style="color: #cc66cc;">2</span> <span style="color: #cc66cc;">3</span> <span style="color: #cc66cc;">4</span> <span style="color: #cc66cc;">5</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><br />
<span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">list</span> <span style="color: #cc66cc;">5</span> <span style="color: #cc66cc;">4</span> <span style="color: #cc66cc;">3</span> <span style="color: #cc66cc;">2</span> <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span></div></div>
<p>Es invertiert also einfach die übergebene Liste.</p>
<p>Ein anderes Beispiel (bei dem es keinen Unterschied macht, ob man foldr oder foldl nutzt):</p>
<div class="codecolorer-container scheme default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="scheme codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #66cc66;">&gt;</span> <span style="color: #66cc66;">&#40;</span>foldr <span style="color: #66cc66;">+</span> <span style="color: #cc66cc;">0</span> <span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">list</span> <span style="color: #cc66cc;">1</span> <span style="color: #cc66cc;">2</span> <span style="color: #cc66cc;">3</span> <span style="color: #cc66cc;">4</span> <span style="color: #cc66cc;">5</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><br />
<span style="color: #cc66cc;">15</span></div></div>
<h3>map</h3>
<p><a href="http://docs.plt-scheme.org/reference/pairs.html#(def._((lib._scheme/private/map..ss)._map))">map</a> wendet eine Funktion auf alle Elemente einer Liste an, und gibt die jeweiligen Ergebnisse als neue Liste zurück.</p>
<div class="codecolorer-container scheme default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="scheme codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #66cc66;">&gt;</span> <span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">map</span> <span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">lambda</span> <span style="color: #66cc66;">&#40;</span>x<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">*</span> x x<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">list</span> <span style="color: #cc66cc;">1</span> <span style="color: #cc66cc;">2</span> <span style="color: #cc66cc;">3</span> <span style="color: #cc66cc;">4</span> <span style="color: #cc66cc;">5</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><br />
<span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">list</span> <span style="color: #cc66cc;">1</span> <span style="color: #cc66cc;">4</span> <span style="color: #cc66cc;">9</span> <span style="color: #cc66cc;">16</span> <span style="color: #cc66cc;">25</span><span style="color: #66cc66;">&#41;</span></div></div>
<h3>filter</h3>
<p><a href="http://docs.plt-scheme.org/reference/pairs.html#(def._((lib._scheme/base..ss)._filter))">filter</a> filtert eine Liste. Dazu übergibt man eine Funktion die entweder true zurückgibt, wenn das gerade getestete Element in die neue Liste soll, oder eben false, wenn es nicht in die neue Liste soll.</p>
<div class="codecolorer-container scheme default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="scheme codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #66cc66;">&gt;</span> <span style="color: #66cc66;">&#40;</span>filter <span style="color: #b1b100;">even?</span> <span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">list</span> <span style="color: #cc66cc;">1</span> <span style="color: #cc66cc;">2</span> <span style="color: #cc66cc;">3</span> <span style="color: #cc66cc;">4</span> <span style="color: #cc66cc;">5</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><br />
<span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">list</span> <span style="color: #cc66cc;">2</span> <span style="color: #cc66cc;">4</span><span style="color: #66cc66;">&#41;</span></div></div>
]]></content:encoded>
			<wfw:commentRss>http://brianp.de/2009/11/28/wichtige-scheme-funktionen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Online Funktionsplotter</title>
		<link>http://brianp.de/2009/11/19/online-funktionsplotter/</link>
		<comments>http://brianp.de/2009/11/19/online-funktionsplotter/#comments</comments>
		<pubDate>Thu, 19 Nov 2009 09:21:39 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Mathe 1]]></category>
		<category><![CDATA[Bild]]></category>
		<category><![CDATA[Funktion]]></category>
		<category><![CDATA[Mathematik]]></category>
		<category><![CDATA[Plotter]]></category>

		<guid isPermaLink="false">http://brianp.de/?p=783</guid>
		<description><![CDATA[Der Funktionsplotter von http://www.mathe-fa.de/de ist sehr gelungen. Besonders gut finde ich, das das Ergebnis vom Server erzeugt wird und als Bild an an den Browser geschickt wird. Deshalb braucht man keine Plugins auf Clientseite, sondern einfach nur einen simplen Browser! Link: http://www.mathe-fa.de/de]]></description>
			<content:encoded><![CDATA[<p>Der Funktionsplotter von <a href="http://www.mathe-fa.de/de">http://www.mathe-fa.de/de</a> ist sehr gelungen. Besonders gut finde ich, das das Ergebnis vom Server erzeugt wird und als Bild an an den Browser geschickt wird. Deshalb braucht man keine Plugins auf Clientseite, sondern einfach nur einen simplen Browser!</p>
<p>Link: <a href="http://www.mathe-fa.de/de">http://www.mathe-fa.de/de</a></p>
]]></content:encoded>
			<wfw:commentRss>http://brianp.de/2009/11/19/online-funktionsplotter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>O-Notation oder Komplexitätsklasse</title>
		<link>http://brianp.de/2009/11/18/o-notation-oder-komplexitatsklasse/</link>
		<comments>http://brianp.de/2009/11/18/o-notation-oder-komplexitatsklasse/#comments</comments>
		<pubDate>Wed, 18 Nov 2009 22:55:20 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
				<category><![CDATA[GdI1]]></category>
		<category><![CDATA[Algorithmus]]></category>
		<category><![CDATA[Asymptotisch]]></category>
		<category><![CDATA[Funktion]]></category>
		<category><![CDATA[Komplexitätsklasse]]></category>
		<category><![CDATA[Laufzeit]]></category>
		<category><![CDATA[n0]]></category>
		<category><![CDATA[Notation]]></category>
		<category><![CDATA[O]]></category>
		<category><![CDATA[Schranke]]></category>
		<category><![CDATA[Verhalten]]></category>

		<guid isPermaLink="false">http://brianp.de/?p=744</guid>
		<description><![CDATA[Mit der O-Notation kann man Klassen von Algorithmen erstellen. Im Grunde geht es darum, dass man abschätzen kann, wie sich die Laufzeit eines Algorithmus im Vergleich zu einem anderen Algorithmus verhält. Die Algorithmen erledigen natürlich die gleiche Aufgabe, aber mit unterschiedlichen Herangehensweisen. Zum Beispiel Algorithmus 1 für kleine (kurze) Aufgaben effizienter ist, aber Algorithmus 2 [...]]]></description>
			<content:encoded><![CDATA[<p>Mit der O-Notation kann man <em>Klassen</em> von Algorithmen erstellen. Im Grunde geht es darum, dass man abschätzen kann, wie sich die Laufzeit eines Algorithmus im Vergleich zu einem anderen Algorithmus verhält. Die Algorithmen erledigen natürlich die gleiche Aufgabe, aber mit unterschiedlichen Herangehensweisen. Zum Beispiel Algorithmus 1 für kleine (kurze) Aufgaben effizienter ist, aber Algorithmus 2 besser für komplexe (lange) Aufgaben. Da man das Laufzeitverhalten eines Algorithmus aber nicht genau vorhersagen kann, teilt man Algorithmen in Klassen ein.<br />
<strong>Man kann mit der O-Notation nicht berechnen wie lang ein Algorithmus brauchen wird bis er fertig ist.</strong> Vielmehr stellt es eine <strong>Vergleichsmöglichkeit von Algorithmen</strong> dar &#8211; und zwar bezogen auf große Werte (<img src="http://l.wordpress.com/latex.php?latex=n%20%5Crightarrow%20%5Cinfty&#038;bg=FFFFFF&#038;fg=000000&#038;s=1" title="n \rightarrow \infty" style="vertical-align:-20%;" class="tex" alt="n \rightarrow \infty" />).</p>
<div id="attachment_745" class="wp-caption alignright" style="width: 160px"><a href="http://brianp.de/wp-content/uploads/2009/11/o-notation-funktionen-f-g.png"><img src="http://brianp.de/wp-content/uploads/2009/11/o-notation-funktionen-f-g-150x150.png" alt="f in O(g)" title="o-notation-funktionen-f-g" width="150" height="150" class="size-thumbnail wp-image-745" /></a><p class="wp-caption-text">f in O(g)</p></div>
<h3>O-Notation</h3>
<p>Nehmen wir an, wir hätten 2 Algorithmen g und f. Wie man auf dem Bild rechts erkennen kann, ist der Algorithmus g effizienter, wenn er weniger als <img src="http://l.wordpress.com/latex.php?latex=n_0&#038;bg=FFFFFF&#038;fg=000000&#038;s=1" title="n_0" style="vertical-align:-20%;" class="tex" alt="n_0" /> mal aufgerufen wird. Nach <img src="http://l.wordpress.com/latex.php?latex=n_0&#038;bg=FFFFFF&#038;fg=000000&#038;s=1" title="n_0" style="vertical-align:-20%;" class="tex" alt="n_0" /> sollte man allerdings die Algorithmus g vorziehen.<br />
Man kann sagen: &#8220;Der Algorithmus f ist in O(g).&#8221; Das trifft zu, für alle n > <img src="http://l.wordpress.com/latex.php?latex=n_0&#038;bg=FFFFFF&#038;fg=000000&#038;s=1" title="n_0" style="vertical-align:-20%;" class="tex" alt="n_0" />.</p>
<blockquote><p>&#8220;<strong>f liegt in groß-O von g</strong>.&#8221;</p></blockquote>
<p>f wird auf dauer also der effizientere Algorithmus sein; er arbeitet die gleiche Aufgabe schneller ab (<strong>ab n > <img src="http://l.wordpress.com/latex.php?latex=n_0&#038;bg=FFFFFF&#038;fg=000000&#038;s=1" title="n_0" style="vertical-align:-20%;" class="tex" alt="n_0" />, aber kleinere Werte werden ignoriert</strong>).<br />
Mit dieser O-Notation stellt man also dar, dass f(n) maximal (auch gleich!) so schnell wächst wie g(n). Somit gilt: <img src="http://l.wordpress.com/latex.php?latex=f%28n%29%20%5Cin%20O%28g%28n%29%29&#038;bg=FFFFFF&#038;fg=000000&#038;s=1" title="f(n) \in O(g(n))" style="vertical-align:-20%;" class="tex" alt="f(n) \in O(g(n))" />.</p>
<p><u>Beispiel:</u><br />
<img src="http://l.wordpress.com/latex.php?latex=f%28n%29%20%3D%20100n&#038;bg=FFFFFF&#038;fg=000000&#038;s=1" title="f(n) = 100n" style="vertical-align:-20%;" class="tex" alt="f(n) = 100n" /><br />
<img src="http://l.wordpress.com/latex.php?latex=g%28n%29%20%3D%20n%5E2&#038;bg=FFFFFF&#038;fg=000000&#038;s=1" title="g(n) = n^2" style="vertical-align:-20%;" class="tex" alt="g(n) = n^2" /><br />
so schreibt man abkürzend: <img src="http://l.wordpress.com/latex.php?latex=f%28n%29&#038;bg=FFFFFF&#038;fg=000000&#038;s=1" title="f(n)" style="vertical-align:-20%;" class="tex" alt="f(n)" /> und <img src="http://l.wordpress.com/latex.php?latex=g%28n%5E2%29&#038;bg=FFFFFF&#038;fg=000000&#038;s=1" title="g(n^2)" style="vertical-align:-20%;" class="tex" alt="g(n^2)" />. f ist also in O(g(n)), wenn auch erst ab einen <img src="http://l.wordpress.com/latex.php?latex=n_0%20%5Cgeq%20100&#038;bg=FFFFFF&#038;fg=000000&#038;s=1" title="n_0 \geq 100" style="vertical-align:-20%;" class="tex" alt="n_0 \geq 100" />. Man untersucht das Verhalten wenn n gegen unendlich geht (<img src="http://l.wordpress.com/latex.php?latex=n%20%5Crightarrow%20%5Cinfty&#038;bg=FFFFFF&#038;fg=000000&#038;s=1" title="n \rightarrow \infty" style="vertical-align:-20%;" class="tex" alt="n \rightarrow \infty" />). Dabei kann man alle konstanten Werte weglassen.</p>
<h3>Asymptotische untere Schranke Ω</h3>
<p>f(n) wächst mindestens so schnell wie g(n): <img src="http://l.wordpress.com/latex.php?latex=f%28n%29%20%5Cin%20%5COmega%28g%28n%29%29&#038;bg=FFFFFF&#038;fg=000000&#038;s=1" title="f(n) \in \Omega(g(n))" style="vertical-align:-20%;" class="tex" alt="f(n) \in \Omega(g(n))" /></p>
<h3>Asymptotische exakte Schranke Θ</h3>
<p>f(n) wächst genauso schnell wie g(n) wenn:<br />
<img src="http://l.wordpress.com/latex.php?latex=f%28n%29%20%5Cin%20O%28g%28n%29%29&#038;bg=FFFFFF&#038;fg=000000&#038;s=1" title="f(n) \in O(g(n))" style="vertical-align:-20%;" class="tex" alt="f(n) \in O(g(n))" /> <strong>und</strong> <img src="http://l.wordpress.com/latex.php?latex=f%28n%29%20%5Cin%20%5CTheta%28g%28n%29%29&#038;bg=FFFFFF&#038;fg=000000&#038;s=1" title="f(n) \in \Theta(g(n))" style="vertical-align:-20%;" class="tex" alt="f(n) \in \Theta(g(n))" /></p>
<div id="attachment_775" class="wp-caption aligncenter" style="width: 310px"><a href="http://brianp.de/wp-content/uploads/2009/11/o-notation-veranschaulichung.png"><img src="http://brianp.de/wp-content/uploads/2009/11/o-notation-veranschaulichung-300x232.png" alt="Veranschaulichung der O-Notation" title="o-notation-veranschaulichung" width="300" height="232" class="size-medium wp-image-775" /></a><p class="wp-caption-text">Veranschaulichung der O-Notation</p></div>
<h3>Wachstumsreihenfolge</h3>
<p><img src="http://l.wordpress.com/latex.php?latex=1%20%3C%20%5Clog%20n%20%3C%20%5Csqrt%7Bn%7D%20%3C%20n%20%3C%20n%28%5Clog%20n%29%5E2%20%3C%20n%5E2%20%3C%20n%5Ex%20%3C%20x%5En&#038;bg=FFFFFF&#038;fg=000000&#038;s=1" title="1 < \log n < \sqrt{n} < n < n(\log n)^2 < n^2 < n^x < x^n" style="vertical-align:-20%;" class="tex" alt="1 < \log n < \sqrt{n} < n < n(\log n)^2 < n^2 < n^x < x^n" /></p>
]]></content:encoded>
			<wfw:commentRss>http://brianp.de/2009/11/18/o-notation-oder-komplexitatsklasse/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Funktionen</title>
		<link>http://brianp.de/2009/11/15/funktionen/</link>
		<comments>http://brianp.de/2009/11/15/funktionen/#comments</comments>
		<pubDate>Sun, 15 Nov 2009 14:39:26 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
				<category><![CDATA[Mathe 1]]></category>
		<category><![CDATA[bijektiv]]></category>
		<category><![CDATA[Bild]]></category>
		<category><![CDATA[Definitionsbereich]]></category>
		<category><![CDATA[Funktion]]></category>
		<category><![CDATA[geordnet]]></category>
		<category><![CDATA[Graph]]></category>
		<category><![CDATA[Hintereinanderausführung]]></category>
		<category><![CDATA[injektiv]]></category>
		<category><![CDATA[Kartesisch]]></category>
		<category><![CDATA[Komposition]]></category>
		<category><![CDATA[Mathematik]]></category>
		<category><![CDATA[Paar]]></category>
		<category><![CDATA[Produkt]]></category>
		<category><![CDATA[surjektiv]]></category>
		<category><![CDATA[Tripel]]></category>
		<category><![CDATA[Tupel]]></category>
		<category><![CDATA[Umkehrfunktion]]></category>
		<category><![CDATA[Urbild]]></category>
		<category><![CDATA[Verkettun]]></category>
		<category><![CDATA[Wertebereich]]></category>

		<guid isPermaLink="false">http://brianp.de/?p=670</guid>
		<description><![CDATA[Eine Funktion besteht aus geordneten Paaren. Das bedeutet zu jedem x-Wert gibt es einen (!!) y-Wert. Deshalb kann man ein geordnetes Paar auch so schreiben: . Wenn dann folgt daraus, dass und . gilt nur wenn . Ein geordnetes Paar wird auch als Tupel bezeichnet. Dabei ist ein Tupel mit 2 Elementen ein 2-Tupel, mit [...]]]></description>
			<content:encoded><![CDATA[<p>Eine Funktion besteht aus geordneten Paaren. Das bedeutet zu jedem x-Wert gibt es <strong>einen (!!)</strong> y-Wert. Deshalb kann man ein geordnetes Paar auch so schreiben: <img src="http://l.wordpress.com/latex.php?latex=%28x%2C%20y%29&#038;bg=FFFFFF&#038;fg=000000&#038;s=1" title="(x, y)" style="vertical-align:-20%;" class="tex" alt="(x, y)" />.<br />
Wenn <img src="http://l.wordpress.com/latex.php?latex=%28x_1%2C%20y_1%29%20%3D%20%28x_2%2C%20y_2%29&#038;bg=FFFFFF&#038;fg=000000&#038;s=1" title="(x_1, y_1) = (x_2, y_2)" style="vertical-align:-20%;" class="tex" alt="(x_1, y_1) = (x_2, y_2)" /> dann folgt daraus, dass <img src="http://l.wordpress.com/latex.php?latex=x_1%20%3D%20x_2&#038;bg=FFFFFF&#038;fg=000000&#038;s=1" title="x_1 = x_2" style="vertical-align:-20%;" class="tex" alt="x_1 = x_2" /> und <img src="http://l.wordpress.com/latex.php?latex=y_1%20%3D%20y_2&#038;bg=FFFFFF&#038;fg=000000&#038;s=1" title="y_1 = y_2" style="vertical-align:-20%;" class="tex" alt="y_1 = y_2" />.<br />
<img src="http://l.wordpress.com/latex.php?latex=%28x%2C%20y%29%20%3D%20%28y%2C%20x%29&#038;bg=FFFFFF&#038;fg=000000&#038;s=1" title="(x, y) = (y, x)" style="vertical-align:-20%;" class="tex" alt="(x, y) = (y, x)" /> gilt nur wenn <img src="http://l.wordpress.com/latex.php?latex=x%20%3D%20y&#038;bg=FFFFFF&#038;fg=000000&#038;s=1" title="x = y" style="vertical-align:-20%;" class="tex" alt="x = y" />.<br />
Ein geordnetes Paar wird auch als <strong>Tupel</strong> bezeichnet. Dabei ist ein Tupel mit 2 Elementen <img src="http://l.wordpress.com/latex.php?latex=%28x%2C%20y%29&#038;bg=FFFFFF&#038;fg=000000&#038;s=1" title="(x, y)" style="vertical-align:-20%;" class="tex" alt="(x, y)" /> ein 2-Tupel, mit 3 Elementen <img src="http://l.wordpress.com/latex.php?latex=%28x%2C%20y%2C%20z%29&#038;bg=FFFFFF&#038;fg=000000&#038;s=1" title="(x, y, z)" style="vertical-align:-20%;" class="tex" alt="(x, y, z)" /> 3-Tupel oder auch <strong>Tripel</strong>, usw.</p>
<h3>Kartesisches Produkt</h3>
<p>Das Kartesisches Produkt ist die Menge aller geordneten Paare die sich aus den beiden Ausgangsmengen bilden lassen.</p>
<blockquote><p><strong>&#8220;Jedes mit jedem&#8221;</strong></p></blockquote>
<p>Die Definition ist: <img src="http://l.wordpress.com/latex.php?latex=A%20%5Ctimes%20B%20%3A%3D%20%5C%7B%28a%2C%20b%29%20%7C%20a%20%5Cin%20A%2C%20b%20%5Cin%20B%20%5C%7D&#038;bg=FFFFFF&#038;fg=000000&#038;s=1" title="A \times B := \{(a, b) | a \in A, b \in B \}" style="vertical-align:-20%;" class="tex" alt="A \times B := \{(a, b) | a \in A, b \in B \}" /><br />
Beispiele und weitere Gesetze, siehe <a href="http://de.wikipedia.org/wiki/Kartesisches_Produkt#Beispiele">Wikipedia</a>.</p>
<h3>Definitionsbereich, Wertebereich und Graph</h3>
<p>Nehmen wir eine an, wir hätten 2 Mengen <img src="http://l.wordpress.com/latex.php?latex=A&#038;bg=FFFFFF&#038;fg=000000&#038;s=1" title="A" style="vertical-align:-20%;" class="tex" alt="A" /> und <img src="http://l.wordpress.com/latex.php?latex=B&#038;bg=FFFFFF&#038;fg=000000&#038;s=1" title="B" style="vertical-align:-20%;" class="tex" alt="B" /> und Funktion von <img src="http://l.wordpress.com/latex.php?latex=A&#038;bg=FFFFFF&#038;fg=000000&#038;s=1" title="A" style="vertical-align:-20%;" class="tex" alt="A" /> nach <img src="http://l.wordpress.com/latex.php?latex=B&#038;bg=FFFFFF&#038;fg=000000&#038;s=1" title="B" style="vertical-align:-20%;" class="tex" alt="B" /> ist gegeben durch die Menge <img src="http://l.wordpress.com/latex.php?latex=G%20%5Csubseteq%20A%20%5Ctimes%20B&#038;bg=FFFFFF&#038;fg=000000&#038;s=1" title="G \subseteq A \times B" style="vertical-align:-20%;" class="tex" alt="G \subseteq A \times B" />. Wobei gilt: <img src="http://l.wordpress.com/latex.php?latex=%5Cforall%20x%20%5Cin%20A%20%5Cexists%20y%20%5Cin%20B%20%28x%2C%20y%29%20%5Cin%20G&#038;bg=FFFFFF&#038;fg=000000&#038;s=1" title="\forall x \in A \exists y \in B (x, y) \in G" style="vertical-align:-20%;" class="tex" alt="\forall x \in A \exists y \in B (x, y) \in G" />. Die Funktion ist demnach <img src="http://l.wordpress.com/latex.php?latex=f%20%3D%20%28A%2C%20B%2C%20C%29&#038;bg=FFFFFF&#038;fg=000000&#038;s=1" title="f = (A, B, C)" style="vertical-align:-20%;" class="tex" alt="f = (A, B, C)" />.<br />
Definitionsbereich: <img src="http://l.wordpress.com/latex.php?latex=D%28f%29%20%3D%20A&#038;bg=FFFFFF&#038;fg=000000&#038;s=1" title="D(f) = A" style="vertical-align:-20%;" class="tex" alt="D(f) = A" /><br />
Wertebereich: <img src="http://l.wordpress.com/latex.php?latex=W%28f%29%20%3D%20B&#038;bg=FFFFFF&#038;fg=000000&#038;s=1" title="W(f) = B" style="vertical-align:-20%;" class="tex" alt="W(f) = B" /><br />
Graph: <img src="http://l.wordpress.com/latex.php?latex=graph%28f%29%20%3D%20G&#038;bg=FFFFFF&#038;fg=000000&#038;s=1" title="graph(f) = G" style="vertical-align:-20%;" class="tex" alt="graph(f) = G" /><br />
2 Funktionen sind gleich, wenn der Wertebereich, Definitionsbereich <strong>und</strong> Graph identisch ist.</p>
<p>Eine Funktion f von <img src="http://l.wordpress.com/latex.php?latex=A&#038;bg=FFFFFF&#038;fg=000000&#038;s=1" title="A" style="vertical-align:-20%;" class="tex" alt="A" /> nach <img src="http://l.wordpress.com/latex.php?latex=B&#038;bg=FFFFFF&#038;fg=000000&#038;s=1" title="B" style="vertical-align:-20%;" class="tex" alt="B" /> schreibt man <img src="http://l.wordpress.com/latex.php?latex=f%3A%20A%20%5Cto%20B&#038;bg=FFFFFF&#038;fg=000000&#038;s=1" title="f: A \to B" style="vertical-align:-20%;" class="tex" alt="f: A \to B" />.</p>
<p>Die Funktion g ist die <strong>Erweiterung</strong> von f, wenn <img src="http://l.wordpress.com/latex.php?latex=D%28f%29%20%5Csubseteq%20D%28g%29&#038;bg=FFFFFF&#038;fg=000000&#038;s=1" title="D(f) \subseteq D(g)" style="vertical-align:-20%;" class="tex" alt="D(f) \subseteq D(g)" />.</p>
<h3>Eigenschaften</h3>
<ul>
<li>
		Eine Funktion ist <strong>injektiv</strong>, wenn <strong>jeder Funktionswert maximal einmal</strong> erreicht wird.<br />
<img src="http://l.wordpress.com/latex.php?latex=%5Cforall%20x_1%2C%20x_2%20%5Cin%20A%20%28f%28x_1%29%20%3D%20f%28x_2%29%20%5Cimplies%20x_1%20%3D%20x_2%29&#038;bg=FFFFFF&#038;fg=000000&#038;s=1" title="\forall x_1, x_2 \in A (f(x_1) = f(x_2) \implies x_1 = x_2)" style="vertical-align:-20%;" class="tex" alt="\forall x_1, x_2 \in A (f(x_1) = f(x_2) \implies x_1 = x_2)" />
	</li>
<li>
		Eine Funktion ist <strong>surjektiv</strong>, wenn <strong>jedes Element des Wertebereichs mindestens einmal</strong> abgebildet wird.<br />
<img src="http://l.wordpress.com/latex.php?latex=%5Cforall%20y%20%5Cin%20B%20%5Cexists%20x%20%5Cin%20A%20f%28x%29%20%3D%20y&#038;bg=FFFFFF&#038;fg=000000&#038;s=1" title="\forall y \in B \exists x \in A f(x) = y" style="vertical-align:-20%;" class="tex" alt="\forall y \in B \exists x \in A f(x) = y" />
	</li>
<li>
		Eine Funktion ist <strong>bijektiv</strong>, wenn sie <strong>sowohl injektiv als auch surjektiv</strong> ist.<br />
<img src="http://l.wordpress.com/latex.php?latex=%5Cforall%20y%20%5Cin%20B%20%5Cexists%5E1%20x%20%5Cin%20A%20f%28x%29%20%3D%20y&#038;bg=FFFFFF&#038;fg=000000&#038;s=1" title="\forall y \in B \exists^1 x \in A f(x) = y" style="vertical-align:-20%;" class="tex" alt="\forall y \in B \exists^1 x \in A f(x) = y" />
	</li>
</ul>
<p><small>Beispiel I.4.5</small></p>
<h3>Bilder</h3>
<ul>
<li>
		Das <strong>Bild eines Elements</strong> <img src="http://l.wordpress.com/latex.php?latex=a&#038;bg=FFFFFF&#038;fg=000000&#038;s=1" title="a" style="vertical-align:-20%;" class="tex" alt="a" /> der Definitionsmenge ist einfach der Funktionswert (<img src="http://l.wordpress.com/latex.php?latex=f%28a%29&#038;bg=FFFFFF&#038;fg=000000&#038;s=1" title="f(a)" style="vertical-align:-20%;" class="tex" alt="f(a)" />).<br />
	<<em>/li></p>
<li>
		Das <strong><a href="http://de.wikipedia.org/wiki/Bildmenge">Bild einer Funktion</a></strong> ist die Menge der Bilder <strong>aller</strong> Elemente der Definitionsmenge <img src="http://l.wordpress.com/latex.php?latex=A&#038;bg=FFFFFF&#038;fg=000000&#038;s=1" title="A" style="vertical-align:-20%;" class="tex" alt="A" />, also <img src="http://l.wordpress.com/latex.php?latex=f%28A%29%20%3A%3D%20%5C%7Bf%28a%29%20%7C%20a%20%5Cin%20A%5C%7D&#038;bg=FFFFFF&#038;fg=000000&#038;s=1" title="f(A) := \{f(a) | a \in A\}" style="vertical-align:-20%;" class="tex" alt="f(A) := \{f(a) | a \in A\}" />. <strong>Das Bild ist also eine Teilmenge des Wertebereichs.</strong><br />
<a href="http://de.wikipedia.org/wiki/Bildmenge#Beispiele">Beispiele</a>.
	</li>
<li>
		Das <strong>Urbild eines Elements</strong> <img src="http://l.wordpress.com/latex.php?latex=b&#038;bg=FFFFFF&#038;fg=000000&#038;s=1" title="b" style="vertical-align:-20%;" class="tex" alt="b" /> des Wertebereich ist die Menge aller Elemente des Definitionsbereichs, deren Bild (resultierender Funktionswert) <img src="http://l.wordpress.com/latex.php?latex=b&#038;bg=FFFFFF&#038;fg=000000&#038;s=1" title="b" style="vertical-align:-20%;" class="tex" alt="b" /> ist. Man schreibt <img src="http://l.wordpress.com/latex.php?latex=f%5E%7B-1%7D%28b%29%20%3A%3D%20%5C%7Ba%20%5Cin%20A%20%7C%20f%28a%29%3Db%5C%7D&#038;bg=FFFFFF&#038;fg=000000&#038;s=1" title="f^{-1}(b) := \{a \in A | f(a)=b\}" style="vertical-align:-20%;" class="tex" alt="f^{-1}(b) := \{a \in A | f(a)=b\}" />.<br />
<a href="http://de.wikipedia.org/wiki/Urbild_(Mathematik)#Beispiele">Beispiele</a>.
	</li>
<li>
		Das <strong>Urbild einer Teilmenge</strong> <img src="http://l.wordpress.com/latex.php?latex=T&#038;bg=FFFFFF&#038;fg=000000&#038;s=1" title="T" style="vertical-align:-20%;" class="tex" alt="T" /> des Wertebereiches ist die Menge aller Elemente des Definitionsbereichs, deren Bild Element dieser Teilmenge ist: <img src="http://l.wordpress.com/latex.php?latex=f%5E%7B-1%7D%28T%29%20%3A%3D%20%5C%7Ba%20%5Cin%20A%20%7C%20f%28a%29%20%5Cin%20T%5C%7D&#038;bg=FFFFFF&#038;fg=000000&#038;s=1" title="f^{-1}(T) := \{a \in A | f(a) \in T\}" style="vertical-align:-20%;" class="tex" alt="f^{-1}(T) := \{a \in A | f(a) \in T\}" />.
	</li>
<li>
		Die <strong>Umkehrfunktion</strong> einer bijektiven Funktion weist jedem Element des Wertebereichs das Urbildelement zu.
	</li>
<li>
		Unter der <strong>Verkettung oder Komposition</strong> versteht man die Hintereinanderausführung <img src="http://l.wordpress.com/latex.php?latex=%28g%20%5Ccirc%20f%29%28a%29%20%3A%3D%20g%28f%28a%29%29&#038;bg=FFFFFF&#038;fg=000000&#038;s=1" title="(g \circ f)(a) := g(f(a))" style="vertical-align:-20%;" class="tex" alt="(g \circ f)(a) := g(f(a))" /> zweier Funktionen für alle Elemente des Defnitionsbereiches.
	</li>
</ul>
<h3>Stetigkeit</h3>
<p>Eine Funktion ist stetig, wenn <em>sehr</em> kleine Änderungen an den Eingangswerten auch nur <em>sehr</em> kleine Änderungen an den Ausgangswerten verursachen. Beispiele: <a href="http://de.wikipedia.org/wiki/Stetigkeit#Beispiele_und_Gegenbeispiele">http://de.wikipedia.org/wiki/Stetigkeit#Beispiele_und_Gegenbeispiele</a></p>
]]></content:encoded>
			<wfw:commentRss>http://brianp.de/2009/11/15/funktionen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Schaltungen</title>
		<link>http://brianp.de/2009/11/05/schaltungen/</link>
		<comments>http://brianp.de/2009/11/05/schaltungen/#comments</comments>
		<pubDate>Thu, 05 Nov 2009 00:00:13 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
				<category><![CDATA[TGdI1+2]]></category>
		<category><![CDATA[Abstraktion]]></category>
		<category><![CDATA[Ausgang]]></category>
		<category><![CDATA[Eingang]]></category>
		<category><![CDATA[Funktion]]></category>
		<category><![CDATA[Schaltung]]></category>
		<category><![CDATA[Spezifikation]]></category>
		<category><![CDATA[Zeitverhalten]]></category>
		<category><![CDATA[Zyklen]]></category>

		<guid isPermaLink="false">http://brianp.de/?p=599</guid>
		<description><![CDATA[Eine Schaltung besteht mindestens aus Eingängen, Ausgängen, einer Spezifikation der Funktion sowie des Zeitverhaltens &#8211; also was die Schaltung macht, und wie lang sie dafür benötigt. Dabei kann man sich eine Schaltung wie eine Black-Box vorstellen. Es interessiert nicht, wie sie das tut was sie tun soll, solange sie es in der spezifizierten Art und [...]]]></description>
			<content:encoded><![CDATA[<p>Eine Schaltung besteht mindestens aus <em>Eingängen, Ausgängen, einer Spezifikation der Funktion sowie des Zeitverhaltens</em> &#8211; also was die Schaltung macht, und wie lang sie dafür benötigt. Dabei kann man sich eine Schaltung wie eine Black-Box vorstellen. Es interessiert nicht, wie sie das tut was sie tun soll, solange sie es in der spezifizierten Art und Weise tut. Das ist ein wichtiger Grundsatz der Abstraktion (<a href="http://http://brianp.de/2009/10/12/beherrschung-von-komplexitat/">Beherrschung von Komplexität</a>). Eine Schaltung kann intern aus weiteren Schaltungen bestehen, für die natürlich genau das gleiche gilt.</p>
<p>Dabei gibt es zwei grundlegende Arten von Schaltungen:</p>
<ul>
<li>
		<strong>Kombinatorische Logik</strong><br />
		Der Zustand der Ausgänge hängt <em>nur</em> vom Zustand der Eingänge ab. Es ist also jeder Ausgangswert reproduzierbar, wenn man den gleichen Eingangswert erneut anlegt.
	</li>
<li>
		<strong>Sequentielle Logik</strong><br />
		Hier hängt der Zustand der Ausgänge <em>nicht nur</em> von den Eingängen ab, sondern auch von den vorherigen Zuständen. Die sequentielle Logik kann also Zustände speichern und bei späteren Berechnungen einbeziehen.
	</li>
</ul>
<p>Dabei gibt es eine Reihe von Regeln, wie Schaltungen verknüpft werden dürfen:</p>
<ul>
<li>
		Jedes Element der Schaltung muss kombinatorisch sein.
	</li>
<li>
		Jeder Verbindungsknoten ist ein Eingang in eine Schaltung oder an genau einem Ausgangsterminal angeschlossen. <small>(Folie 6)</small>
	</li>
<li>
		Die Schaltung enthält keine Zyklen, d.h. ein Ausgang einer Schaltung darf nicht gleichzeitig auch ein Eingang der gleichen Schaltung sein.
	</li>
</ul>
<p>Die Folien von Prof. Andreas Koch (TU Darmstadt, <a href="http://http://www.esa.informatik.tu-darmstadt.de/twiki/bin/view/Lectures/TGdI09De.html">http://www.esa.informatik.tu-darmstadt.de/twiki/bin/view/Lectures/TGdI09De.html</a>) wurden als Vorlagen benutzt.</p>
]]></content:encoded>
			<wfw:commentRss>http://brianp.de/2009/11/05/schaltungen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Disjunktive und Konjunktive Normalform</title>
		<link>http://brianp.de/2009/11/03/disjunktive-und-konjunktive-normalform/</link>
		<comments>http://brianp.de/2009/11/03/disjunktive-und-konjunktive-normalform/#comments</comments>
		<pubDate>Tue, 03 Nov 2009 19:38:48 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
				<category><![CDATA[TGdI1+2]]></category>
		<category><![CDATA[Bool]]></category>
		<category><![CDATA[Disjunktive]]></category>
		<category><![CDATA[DNF]]></category>
		<category><![CDATA[Funktion]]></category>
		<category><![CDATA[KNF]]></category>
		<category><![CDATA[Konjunktive]]></category>
		<category><![CDATA[Normalform]]></category>

		<guid isPermaLink="false">http://brianp.de/?p=588</guid>
		<description><![CDATA[Diese beiden Normalformen werden besonders in der boolschen Algebra benutzt um boolsche Funktionen darzustellen. Boolsche Funktionen beschrieben die Ausgänge einer Schaltung als eine Funktion der Eingänge. Zwischen DNF und KNF gibt es nur einen kleinen &#8211; aber entscheidenden &#8211; Unterschied: Disjunktive Normalform Alle Ausdrücke (der obersten Ebene) werden durch OR Verknüpft: . Dabei können die [...]]]></description>
			<content:encoded><![CDATA[<p>Diese beiden Normalformen werden besonders in der boolschen Algebra benutzt um boolsche Funktionen darzustellen. <strong>Boolsche Funktionen beschrieben die Ausgänge einer Schaltung als eine Funktion der Eingänge.</strong></p>
<p>Zwischen DNF und KNF gibt es nur einen kleinen &#8211; aber entscheidenden &#8211; Unterschied:</p>
<ul>
<li> <strong>Disjunktive Normalform</strong><br />
Alle Ausdrücke (der obersten Ebene) werden durch <strong>OR</strong> Verknüpft: <img src="http://l.wordpress.com/latex.php?latex=A%20%5Clor%20B%20%5Clor%20C&#038;bg=FFFFFF&#038;fg=000000&#038;s=1" title="A \lor B \lor C" style="vertical-align:-20%;" class="tex" alt="A \lor B \lor C" />.<br />
Dabei können die Ausdrücke auch komplexere Ausdrücke sein, die untereinander dann mit AND Verknüpft sind: <img src="http://l.wordpress.com/latex.php?latex=%28A_1%20%5Cland%20A_2%29%20%5Clor%20B%20%5Clor%20%28C_1%20%5Cland%20C_2%20%5Cland%20C_3%29&#038;bg=FFFFFF&#038;fg=000000&#038;s=1" title="(A_1 \land A_2) \lor B \lor (C_1 \land C_2 \land C_3)" style="vertical-align:-20%;" class="tex" alt="(A_1 \land A_2) \lor B \lor (C_1 \land C_2 \land C_3)" />.</li>
<li> <strong>Konjunktive Normalform</strong><br />
Alle Ausdrücke (der obersten Ebene) werden durch <strong>AND</strong> Verknüpft: <img src="http://l.wordpress.com/latex.php?latex=A%20%5Cland%20B%20%5Cland%20C&#038;bg=FFFFFF&#038;fg=000000&#038;s=1" title="A \land B \land C" style="vertical-align:-20%;" class="tex" alt="A \land B \land C" />.<br />
Dabei können die Ausdrücke auch komplexere Ausdrücke sein, die untereinander dann mit OR Verknüpft sind: <img src="http://l.wordpress.com/latex.php?latex=%28A_1%20%5Clor%20A_2%29%20%5Cland%20B%20%5Cland%20%28C_1%20%5Clor%20C_2%20%5Clor%20C_3%29&#038;bg=FFFFFF&#038;fg=000000&#038;s=1" title="(A_1 \lor A_2) \land B \land (C_1 \lor C_2 \lor C_3)" style="vertical-align:-20%;" class="tex" alt="(A_1 \lor A_2) \land B \land (C_1 \lor C_2 \lor C_3)" />.</li>
</ul>
<h3>Anwendung</h3>
<p>Gehen wir von folgender Wahrheitstabelle aus:</p>
<table cellpadding="5" border="1">
<tr>
<th>a</th>
<th>b</th>
<th style="background-color:lightgray;">Y</th>
</tr>
<tr>
<td>0</td>
<td>0</td>
<td style="background-color:lightgray;">0</td>
</tr>
<tr>
<td>0</td>
<td>1</td>
<td style="background-color:lightgray;">1</td>
</tr>
<tr>
<td>1</td>
<td>0</td>
<td style="background-color:lightgray;">1</td>
</tr>
<tr>
<td>1</td>
<td>1</td>
<td style="background-color:lightgray;">0</td>
</tr>
</table>
<p><u>DNF</u><br />
Wenn man diese boolsche Funktion nun in der DNF darstellen will, sucht man sich alle Ausgänge Y die 1 sind. In diesem Fall also wenn a=0 <strong>und</strong> b=1 <strong>oder</strong> a=1 <strong>und</strong> b=0. Wenn der Eingang 0 ist, so muss mal den Eingang in der Formel negieren, ist er 1 so bleibt er unverändert. Und genau das ist auch schon die Form in der man als DNF darstellt:<br />
<img src="http://l.wordpress.com/latex.php?latex=Y%3D%5Cneg%20AB%20%5Cvee%20A%20%5Cneg%20B&#038;bg=FFFFFF&#038;fg=000000&#038;s=1" title="Y=\neg AB \vee A \neg B" style="vertical-align:-20%;" class="tex" alt="Y=\neg AB \vee A \neg B" /></p>
<p><u>KNF</u><br />
Bei der KNF ist es etwas anders. Man sucht sich alle Ausgänge Y die 0 sind und negiert die positiven Eingänge:<br />
<img src="http://l.wordpress.com/latex.php?latex=Y%3D%28A%2BB%29%28%5Cneg%20A%20%2B%20%5Cneg%20B%29&#038;bg=FFFFFF&#038;fg=000000&#038;s=1" title="Y=(A+B)(\neg A + \neg B)" style="vertical-align:-20%;" class="tex" alt="Y=(A+B)(\neg A + \neg B)" /></p>
]]></content:encoded>
			<wfw:commentRss>http://brianp.de/2009/11/03/disjunktive-und-konjunktive-normalform/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Surjektivität, Injektivität, Bijektivität</title>
		<link>http://brianp.de/2009/11/02/surjektivitat-injektivitat-bijektivitat/</link>
		<comments>http://brianp.de/2009/11/02/surjektivitat-injektivitat-bijektivitat/#comments</comments>
		<pubDate>Mon, 02 Nov 2009 18:58:23 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
				<category><![CDATA[Mathe 1]]></category>
		<category><![CDATA[Bijektivität]]></category>
		<category><![CDATA[Funktion]]></category>
		<category><![CDATA[Injektivität]]></category>
		<category><![CDATA[Mathematik]]></category>
		<category><![CDATA[Surjektivität]]></category>

		<guid isPermaLink="false">http://brianp.de/?p=568</guid>
		<description><![CDATA[Surjektivität, Injektivität und Bijektivität sind Eigenschaft von mathematischen Funktionen. Surjektivität Eine Funktion ist surjektiv, wenn jeder Wert des Wertebereiches als y-Wert der Funktion angenommen wird (mindestens einmal). Beispiele und Gegenbeispiele in der Wikipedia Injektivität Eine Funktion ist injektiv, wenn jedes Element des Wertebereiches max. einmal angenommen wird. Beispiele und Gegenbeispiele in der Wikipedia Es darf [...]]]></description>
			<content:encoded><![CDATA[<p>Surjektivität, Injektivität und Bijektivität sind Eigenschaft von mathematischen Funktionen.</p>
<ul>
<li>
		<strong>Surjektivität</strong> <img src="http://l.wordpress.com/latex.php?latex=%5Cforall%20y%20%5Cin%20Y%20%5Cexists%20x%20%5Cin%20X%20%3A%20f%28x%29%3Dy&#038;bg=FFFFFF&#038;fg=000000&#038;s=1" title="\forall y \in Y \exists x \in X : f(x)=y" style="vertical-align:-20%;" class="tex" alt="\forall y \in Y \exists x \in X : f(x)=y" /><br />
		Eine Funktion ist surjektiv, wenn jeder Wert des Wertebereiches als y-Wert der Funktion angenommen wird (mindestens einmal).<br />
		<a href="http://de.wikipedia.org/wiki/Surjektivit%C3%A4t#Beispiele_und_Gegenbeispiele">Beispiele und Gegenbeispiele in der Wikipedia</a>
	</li>
<li>
		<strong>Injektivität</strong> <img src="http://l.wordpress.com/latex.php?latex=%5Cforall%20x_1%2C%20x_2%20%5Cin%20X%20%3A%20%28f%28x_1%29%3D%20f%28x_2%29%20%5CRightarrow%20x_1%3Dx_2%29&#038;bg=FFFFFF&#038;fg=000000&#038;s=1" title="\forall x_1, x_2 \in X : (f(x_1)= f(x_2) \Rightarrow x_1=x_2)" style="vertical-align:-20%;" class="tex" alt="\forall x_1, x_2 \in X : (f(x_1)= f(x_2) \Rightarrow x_1=x_2)" /><br />
		Eine Funktion ist injektiv, wenn jedes Element des Wertebereiches max. einmal angenommen wird.<br />
		<a href="http://de.wikipedia.org/wiki/Injektivit%C3%A4t#Beispiele_und_Gegenbeispiele">Beispiele und Gegenbeispiele in der Wikipedia</a></p>
<blockquote><p>Es darf keine 2 x-Werte geben, die den gleichen y-Wert haben.</p></blockquote>
</li>
<li>
		<strong>Bijektivität</strong><br />
		Eine Funktion ist bijektiv, wenn sie sowohl surjektiv als auch injektiv ist.<br />
		<a href="http://de.wikipedia.org/wiki/Bijektivit%C3%A4t#Beispiele_und_Gegenbeispiele">Beispiele und Gegenbeispiele in der Wikipedia</a>
	</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://brianp.de/2009/11/02/surjektivitat-injektivitat-bijektivitat/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bild einer Funktion (auch Bildmenge)</title>
		<link>http://brianp.de/2009/11/02/bild-einer-funktion-auch-bildmenge/</link>
		<comments>http://brianp.de/2009/11/02/bild-einer-funktion-auch-bildmenge/#comments</comments>
		<pubDate>Mon, 02 Nov 2009 18:35:06 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
				<category><![CDATA[Mathe 1]]></category>
		<category><![CDATA[Bild einer Funktion]]></category>
		<category><![CDATA[Bildmenge]]></category>
		<category><![CDATA[Funktion]]></category>
		<category><![CDATA[Mathematik]]></category>
		<category><![CDATA[Wertebereich]]></category>

		<guid isPermaLink="false">http://brianp.de/?p=561</guid>
		<description><![CDATA[Das Bild einer Funktion (auch als Bildmenge bekannt) ist ein Teilbereich des Wertebereich der Funktion. Es bezeichnet dabei allerdings nur die Elemente des Definitionsbereiches die die Funktion auch wirklich annimmt. Beispiele: 1) Bildmenge von ist 2) Bildmenge von ist]]></description>
			<content:encoded><![CDATA[<p>Das Bild einer Funktion (auch als Bildmenge bekannt) ist ein Teilbereich des Wertebereich der Funktion. Es bezeichnet dabei allerdings nur die Elemente des Definitionsbereiches die die Funktion auch wirklich annimmt.</p>
<p>Beispiele:<br />
1) <img src="http://l.wordpress.com/latex.php?latex=f%28x%29%3D%5Cfrac%7B1%7D%7Bx%7D&#038;bg=FFFFFF&#038;fg=000000&#038;s=1" title="f(x)=\frac{1}{x}" style="vertical-align:-20%;" class="tex" alt="f(x)=\frac{1}{x}" /> Bildmenge von <img src="http://l.wordpress.com/latex.php?latex=f%28%5Cmathbb%7BR%7D%20%5Csetminus%20%5C%7B0%5C%7D%29&#038;bg=FFFFFF&#038;fg=000000&#038;s=1" title="f(\mathbb{R} \setminus \{0\})" style="vertical-align:-20%;" class="tex" alt="f(\mathbb{R} \setminus \{0\})" /> ist <img src="http://l.wordpress.com/latex.php?latex=%5Cmathbb%7BR%7D%20%5Csetminus%20%5C%7B0%5C%7D&#038;bg=FFFFFF&#038;fg=000000&#038;s=1" title="\mathbb{R} \setminus \{0\}" style="vertical-align:-20%;" class="tex" alt="\mathbb{R} \setminus \{0\}" /></p>
<p>2) <img src="http://l.wordpress.com/latex.php?latex=f%28x%29%3Dx%5E2&#038;bg=FFFFFF&#038;fg=000000&#038;s=1" title="f(x)=x^2" style="vertical-align:-20%;" class="tex" alt="f(x)=x^2" /> Bildmenge von <img src="http://l.wordpress.com/latex.php?latex=f%28%5Cmathbb%7BR%7D%29&#038;bg=FFFFFF&#038;fg=000000&#038;s=1" title="f(\mathbb{R})" style="vertical-align:-20%;" class="tex" alt="f(\mathbb{R})" /> ist <img src="http://l.wordpress.com/latex.php?latex=%5Cmathbb%7BR%7D_%2B&#038;bg=FFFFFF&#038;fg=000000&#038;s=1" title="\mathbb{R}_+" style="vertical-align:-20%;" class="tex" alt="\mathbb{R}_+" /></p>
]]></content:encoded>
			<wfw:commentRss>http://brianp.de/2009/11/02/bild-einer-funktion-auch-bildmenge/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Beliebiges Potenzieren mit Scheme</title>
		<link>http://brianp.de/2009/10/22/beliebiges-potenzieren-mit-scheme/</link>
		<comments>http://brianp.de/2009/10/22/beliebiges-potenzieren-mit-scheme/#comments</comments>
		<pubDate>Thu, 22 Oct 2009 19:28:55 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
				<category><![CDATA[Scheme]]></category>
		<category><![CDATA[Funktion]]></category>
		<category><![CDATA[lib]]></category>
		<category><![CDATA[Potenzieren]]></category>

		<guid isPermaLink="false">http://brianp.de/?p=400</guid>
		<description><![CDATA[Leider gibt es in Scheme keine Funktion um eine Zahl beliebig zu potenzieren. Daher hab ich eine kleine Funktion dafür geschrieben: ;; Contract: ^ number number -&#62; number ;; Purpose: Returns result of number1^number2 ;; Example: (^ 2 10) -&#62; 1024 ;; &#160; &#160; &#160; &#160; &#160;(^ 2 -2) -&#62; 0.25 &#40;define &#40;^ x exp&#41; [...]]]></description>
			<content:encoded><![CDATA[<p>Leider gibt es in Scheme keine Funktion um eine Zahl beliebig zu potenzieren. Daher hab ich eine kleine Funktion dafür geschrieben:</p>
<div class="codecolorer-container scheme default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="scheme codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #808080; font-style: italic;">;; Contract: ^ number number -&gt; number</span><br />
<span style="color: #808080; font-style: italic;">;; Purpose: Returns result of number1^number2</span><br />
<span style="color: #808080; font-style: italic;">;; Example: (^ 2 10) -&gt; 1024</span><br />
<span style="color: #808080; font-style: italic;">;; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(^ 2 -2) -&gt; 0.25</span><br />
<span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">define</span> <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">^</span> x <span style="color: #b1b100;">exp</span><span style="color: #66cc66;">&#41;</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">cond</span><br />
&nbsp; &nbsp; <span style="color: #66cc66;">&#91;</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&gt;</span> <span style="color: #b1b100;">exp</span> <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">*</span> x <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">^</span> x <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">-</span> <span style="color: #b1b100;">exp</span> <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#93;</span><br />
&nbsp; &nbsp; <span style="color: #66cc66;">&#91;</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&lt;</span> <span style="color: #b1b100;">exp</span> <span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">/</span> <span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">*</span> x <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">^</span> x <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">-</span> <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">-</span> <span style="color: #b1b100;">exp</span><span style="color: #66cc66;">&#41;</span> <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#93;</span><br />
&nbsp; &nbsp; <span style="color: #66cc66;">&#91;</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">=</span> <span style="color: #b1b100;">exp</span> <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span> x<span style="color: #66cc66;">&#93;</span><br />
&nbsp; &nbsp; <span style="color: #66cc66;">&#91;</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">=</span> <span style="color: #b1b100;">exp</span> <span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span> <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><br />
<br />
<span style="color: #66cc66;">&#40;</span>check<span style="color: #66cc66;">-</span>expect <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">^</span> <span style="color: #cc66cc;">2</span> <span style="color: #cc66cc;">10</span><span style="color: #66cc66;">&#41;</span> <span style="color: #cc66cc;">1024</span><span style="color: #66cc66;">&#41;</span><br />
<span style="color: #66cc66;">&#40;</span>check<span style="color: #66cc66;">-</span>expect <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">^</span> <span style="color: #66cc66;">-</span><span style="color: #cc66cc;">52</span> <span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span> <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span><br />
<span style="color: #66cc66;">&#40;</span>check<span style="color: #66cc66;">-</span>expect <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">^</span> <span style="color: #cc66cc;">2</span> <span style="color: #66cc66;">-</span><span style="color: #cc66cc;">3</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">/</span> <span style="color: #cc66cc;">1</span> <span style="color: #cc66cc;">8</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span></div></div>
]]></content:encoded>
			<wfw:commentRss>http://brianp.de/2009/10/22/beliebiges-potenzieren-mit-scheme/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Scheme Kurs &#8211; Teil 1: Grundlegendes</title>
		<link>http://brianp.de/2009/10/14/scheme-kurs-teil-1-grundlegendes/</link>
		<comments>http://brianp.de/2009/10/14/scheme-kurs-teil-1-grundlegendes/#comments</comments>
		<pubDate>Wed, 14 Oct 2009 19:20:07 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
				<category><![CDATA[GdI1]]></category>
		<category><![CDATA[Scheme]]></category>
		<category><![CDATA[define]]></category>
		<category><![CDATA[Funktion]]></category>
		<category><![CDATA[Kombination]]></category>
		<category><![CDATA[Kommentar]]></category>
		<category><![CDATA[Konstante]]></category>
		<category><![CDATA[Lisp]]></category>
		<category><![CDATA[Parameter]]></category>
		<category><![CDATA[Präfixdarstellung]]></category>
		<category><![CDATA[Prozedur]]></category>

		<guid isPermaLink="false">http://brianp.de/?p=207</guid>
		<description><![CDATA[Scheme (1970) ist eine relativ alte Sprache, aber eine der neusten Abkömmlinge von Lisp. Und Lisp ist &#8220;die Mutter aller Programmiersprachen&#8221;! Kombination oder Präfix-Notation In Scheme ist alles in Klammern gefasst. Eine einfache Addition sieht wie folgt aus: &#40;+ zahl1 zahl2&#41; An der ersten Stelle in der Klammer steht der Operator oder die Funktion. Danach [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://de.wikipedia.org/wiki/Scheme">Scheme</a> (1970) ist eine relativ alte Sprache, aber eine der <em>neusten</em> Abkömmlinge von <a href="http://de.wikipedia.org/wiki/LISP">Lisp</a>. Und Lisp ist &#8220;die Mutter aller Programmiersprachen&#8221;!</p>
<h3>Kombination oder Präfix-Notation</h3>
<p>In Scheme ist alles in Klammern gefasst. Eine einfache Addition sieht wie folgt aus:</p>
<div class="codecolorer-container scheme default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="scheme codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">+</span> zahl1 zahl2<span style="color: #66cc66;">&#41;</span></div></div>
<p>An der ersten Stelle in der Klammer steht der Operator oder die Funktion. Danach folgen die Parameter. Die Anzahl der Parameter kann variieren, so ist es bei den eingebauten Funktionen möglich, beliebig viele anzugeben (solang sonnvoll).</p>
<div class="codecolorer-container scheme default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="scheme codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">*</span> <span style="color: #cc66cc;">2</span> <span style="color: #cc66cc;">2</span> <span style="color: #cc66cc;">2</span> <span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#41;</span></div></div>
<p>(Ist das gleiche wie <img src="http://l.wordpress.com/latex.php?latex=2%20%2A%202%20%2A%202%20%2A%202%20%3D%202%5E4&#038;bg=FFFFFF&#038;fg=000000&#038;s=1" title="2 * 2 * 2 * 2 = 2^4" style="vertical-align:-20%;" class="tex" alt="2 * 2 * 2 * 2 = 2^4" />.)</p>
<p>Diese Darstellungsform nennt man <strong>Präfixdarstellung</strong>.</p>
<h3>Verschachtelte Kombinationen</h3>
<p>Kombinationen können natürlich beliebig weit verschachtelt werden.</p>
<div class="codecolorer-container scheme default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="scheme codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">*</span> <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">+</span> <span style="color: #cc66cc;">4</span> <span style="color: #cc66cc;">9</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">-</span> <span style="color: #cc66cc;">12</span> <span style="color: #cc66cc;">3</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span></div></div>
<h3>Konstanten und Funktionen</h3>
<p>Konstanten und Funktionen können mit dem Schlüsselwort <em>define</em> definiert werden.</p>
<div class="codecolorer-container scheme default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="scheme codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">define</span> PI <span style="color: #cc66cc;">3.14</span><span style="color: #66cc66;">&#41;</span><br />
<span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">define</span> <span style="color: #66cc66;">&#40;</span>square var<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">*</span> var var<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span></div></div>
<p>In der ersten Zeile erstellen wir eine Konstante <em>PI</em> mit dem Wert 3.14.<br />
In der zweiten Zeile definieren wir eine Funktion (oder <strong>Prozedur</strong>) namens <em>square</em> mit dem Parameter <em>var</em>. Der <strong>Funktionskörper</strong> (oder <strong>Funktionsrumpf</strong>) multipliziert den Parameter <em>var</em> mit sich selbst und gibt das Ergebnis automatisch zurück.<br />
Danach kann man die Konstanten wie eine Zahl benutzen und die Funktion wie einen Operator:</p>
<div class="codecolorer-container scheme default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="scheme codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #66cc66;">&#40;</span>square PI<span style="color: #66cc66;">&#41;</span></div></div>
<p>würde uns das Ergebnis <em>9,8596</em> zurückgeben bzw. in diesem Fall auf dem Bildschirm ausgeben.</p>
<h3>Kommentare</h3>
<p>Kommentare werden durch einen doppelten Strichpunkt eingeleitet.</p>
<div class="codecolorer-container scheme default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="scheme codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #808080; font-style: italic;">;; Dies ist mein Kommentar</span></div></div>
]]></content:encoded>
			<wfw:commentRss>http://brianp.de/2009/10/14/scheme-kurs-teil-1-grundlegendes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
