<?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>muvik-multigrid &#187; Programming</title>
	<atom:link href="http://www.muvik.de/tag/programming/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.muvik.de</link>
	<description>open source - engineering - programming</description>
	<lastBuildDate>Wed, 28 Jul 2010 07:56:30 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Kurztipp 3: Plot-Legende mit Python</title>
		<link>http://www.muvik.de/2010/03/01/kurztipp-3-plot-legende-mit-python/</link>
		<comments>http://www.muvik.de/2010/03/01/kurztipp-3-plot-legende-mit-python/#comments</comments>
		<pubDate>Mon, 01 Mar 2010 16:16:14 +0000</pubDate>
		<dc:creator>Viktor Müller</dc:creator>
				<category><![CDATA[Kurztipps]]></category>
		<category><![CDATA[Legende]]></category>
		<category><![CDATA[Plot]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Python-Tipp]]></category>

		<guid isPermaLink="false">http://www.muvik.de/?p=353</guid>
		<description><![CDATA[Heute im Fokus: Steigerung der Übersichtlichkeit bei Plots mit mehreren Graphen durch Hinzufügen einer Legende. Momentan wiederhole ich einige Aufgaben zum Fach Werkstoffkunde und lasse mir Verläufe mit Python-Plots anzeigen. Meist sind es mehrere Kurven, die miteinander verglichen werden sollen. Um den Plot auf Anhieb zu verstehen und das Richtige zu vergleichen, gebe ich zu [...]]]></description>
			<content:encoded><![CDATA[<img class="cat-img-wide" alt="Viktors Kurztipp" src="http://muvik.de/categorie_images/viktorskurztipp.gif" title="Viktors Kurztipp zu diversen Themen" width="443" height="98" />
<p class="preview">Heute im Fokus: Steigerung der Übersichtlichkeit bei Plots mit mehreren Graphen durch Hinzufügen einer Legende.</p>
<p><span id="more-353"></span></p>
<p>Momentan wiederhole ich einige Aufgaben zum Fach Werkstoffkunde und lasse mir Verläufe mit Python-Plots anzeigen. Meist sind es mehrere Kurven, die miteinander verglichen werden sollen. Um den Plot auf Anhieb zu verstehen und das Richtige zu vergleichen, gebe ich zu jeder Kurve gleich die Legende mit an. So kann ich sofort erkennen, um was es sich bei den einzelnen Diagrammen handelt. Also dreht sich der heutige Kurztipp um das Hinzufügen von Legenden zu Plots mit dem <a href="http://matplotlib.sourceforge.net/">Python-Modul Pylab</a>.</p>
<h3>Legende bei einem einzigen Plot</h3>
<p>Je nach Zusammenhang kann es sinnvoll sein, nicht alle Kurven in einen einzigen Plot zu zeichnen. Daher habe ich den Kurztipp aufgeteilt, der erste Teil geht um die Legende bei einem einzigen Plot.</p>
<p>Das folgende Beispiel nehme ich aus einer der Werkstoffkunde-Aufgaben, in der es um Abkühlkurven geht. Die Funktion an sich ist zur Erklärung nicht wichtig und wird hier gnadenlos aus dem Kontext gerissen dargestellt.</p>
<pre class="brush:python">import numpy as np
import pylab as pl

def abk_lin(TA,TE,t,v):
    test = (TA-TE)/v
    erg = np.zeros_like(t)
    i = 0
    for time_ in t:

        if (time_ <= test):
            erg[i] = TA-v*time_
        else:
            erg[i] = TE
        i = i + 1
    return erg

def abk_newton(TA,TE,t,v):
    return (TA-TE)*np.exp(-v/(TA-TE)*t)+TE

TA = 900.0
TE = 20.0

v1 = 100.0
v2 = 1.0

dt = 10.0
t  = np.arange(0.0,3600.0+dt,dt)

pl.plot(t,abk_lin(TA,TE,t,v1),label='Linear v=100')
pl.plot(t,abk_lin(TA,TE,t,v2),label='Linear v=1')
pl.plot(t,abk_newton(TA,TE,t,v1),label='Newton v=100')
pl.plot(t,abk_newton(TA,TE,t,v2),label='Newton v=1')
pl.legend()
pl.show()
</pre>
<p>Der Beispiel-Code generiert ein Fenster, welches die vier Kurven enthält. Zusätzlich befindet sich in der rechten oberen Ecke eine einfache Legende. Ein Bild sagt mehr als tausend Worte:<div id="attachment_365" class="wp-caption alignnone" style="width: 453px"><a href="http://www.muvik.de/wp-content/uploads/2010/03/Abkuehlkurven.png"><img src="http://www.muvik.de/wp-content/uploads/2010/03/Abkuehlkurven-e1267458700869.png" alt="Abkühlkurven-Plot mit Legende" title="Abkühlkurven-Plot mit Legende" width="443" height="332" class="size-full wp-image-365" /></a><p class="wp-caption-text">Beispiel: Plot, vier Kurven mit Legende</p></div></p>
<p>Allgemein gehe ich bei der Erstellung einer Legende folgendermaßen vor:</p>
<ul>
<li><strong>plot</strong>-Befehl mit <em>label</em> kennzeichnen</li>
<li>Legende mit <strong>legend()</strong> anzeigen</li>
</ul>
<p>Und das war es schon!</p>
<p>Ist eine Gruppierung der Kurven sinnvoll, kann man sich die <strong>subplot</strong>-Funktion zu Nutze machen und dort auch separat die Legende erstellen.</p>
<h3>Legende bei mehreren Plots mit <em>pylab.subplot</em></h3>
<p>Um diese Funktion zu verdeutlichen, verwende ich wieder die Abkühlkurven aus dem vorherigen Beispiel und modifiziere die Darstellung etwas:</p>
<pre class="brush:python">subplot(211)
pl.plot(t,abk_lin(TA,TE,t,v1),label='Linear v=100')
pl.plot(t,abk_newton(TA,TE,t,v1),label='Newton v=100')
pl.legend()
subplot(212)
pl.plot(t,abk_lin(TA,TE,t,v2),label='Linear v=1')
pl.plot(t,abk_newton(TA,TE,t,v2),label='Newton v=1')
pl.legend()
pl.show()
</pre>
<p>Diese Variante liefert nun zwei Plot-Bereiche mit jeweils einer Legende:<br />
<div id="attachment_368" class="wp-caption alignnone" style="width: 453px"><a href="http://www.muvik.de/wp-content/uploads/2010/03/abkuehlkurven-in-zwei-plots-mit-legende-python.png"><img src="http://www.muvik.de/wp-content/uploads/2010/03/abkuehlkurven-in-zwei-plots-mit-legende-python.png" alt="Abkühlkurven in zwei Plots mit Legende - Python" title="Abkühlkurven in zwei Plots mit Legende - Python" width="443" height="332" class="size-full wp-image-368" /></a><p class="wp-caption-text">Beispiel: Zwei Plots mit jeweils einer Legende</p></div></p>
<p>Als nächstes müsste noch die x-Achse des oberen Plots angepasst werden, was aber eine andere Geschichte ist.</p>
<h3>Ist das alles?</h3>
<p>Es gibt noch einige weitere Möglichkeiten Legenden einzufügen. Eine der Möglichkeiten erlaubt das Weglassen des <em>label</em>-Tags, dafür schreibt man die Bezeichnungen in den <em>legend()</em>-Befehl. Doch dies soll ja ein Kurztipp sein, weiterführende Infos zur Legende gibt es auf der <a href="http://matplotlib.sourceforge.net/users/legend_guide.html">Pylab-Dokumentationsseite: Matplotlib</a>. Falls es gewünscht wird, kann ich gerne auch etwas ausführlicher über das Thema schreiben, dafür bitte einen Kommentar hinterlassen.</p>
<p><a href="http://partners.webmasterplan.com/click.asp?ref=515746&site=6989&type=text&tnb=1" target="_blank">
Deine Stadt - Dein Preis</a><br />Mit CityDeal und vielen Anderen
den Preis drücken!<br /><img src="http://banners.webmasterplan.com/view.asp?ref=515746&site=6989&type=text&tnb=1&js=1" BORDER="0" WIDTH="1" HEIGHT="1" /></p>
<hr />
<p><small>© Muvik for <a href="http://www.muvik.de">muvik-multigrid</a>, 2010. |
<a href="http://www.muvik.de/2010/03/01/kurztipp-3-plot-legende-mit-python/">Permalink</a> |
<a href="http://www.muvik.de/2010/03/01/kurztipp-3-plot-legende-mit-python/#comments">keine Kommentare</a> |
Teile es mit deinen Freunden:
<a href="http://del.icio.us/post?url=http://www.muvik.de/2010/03/01/kurztipp-3-plot-legende-mit-python/&title=Kurztipp 3: Plot-Legende mit Python">del.icio.us</a>
<a href="http://www.mister-wong.de/addurl/?bm_url=http://www.muvik.de/2010/03/01/kurztipp-3-plot-legende-mit-python/&title=Kurztipp 3: Plot-Legende mit Python">MisterWong</a>
<a href="http://twitter.com/home?status=http://www.muvik.de/2010/03/01/kurztipp-3-plot-legende-mit-python/&title=Kurztipp 3: Plot-Legende mit Python">Twitter</a>
<br/>
Tags: <a href="http://www.muvik.de/tag/legende/" rel="tag">Legende</a>, <a href="http://www.muvik.de/tag/plot/" rel="tag">Plot</a>, <a href="http://www.muvik.de/tag/programming/" rel="tag">Programming</a>, <a href="http://www.muvik.de/tag/python/" rel="tag">Python</a>, <a href="http://www.muvik.de/tag/python-tipp/" rel="tag">Python-Tipp</a><br/>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://www.muvik.de/2010/03/01/kurztipp-3-plot-legende-mit-python/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ankündigung: UML: kurz und gut</title>
		<link>http://www.muvik.de/2010/02/20/ankuendigung-uml-kurz-und-gut/</link>
		<comments>http://www.muvik.de/2010/02/20/ankuendigung-uml-kurz-und-gut/#comments</comments>
		<pubDate>Sat, 20 Feb 2010 10:14:55 +0000</pubDate>
		<dc:creator>Viktor Müller</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Modellierung]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[UML]]></category>

		<guid isPermaLink="false">http://www.muvik.de/?p=302</guid>
		<description><![CDATA[Mit diesem Artikel möchte ich eine kleine Aktion von mir ankündigen: In Kürze erscheinen drei Artikel zum Thema UML- Unified Modeling Language. Darin werden die Grundlagen dreier Diagrammtypen angesprochen und jeweils mit einem kleinen, einfachen Beispiel erläutert und auf die einzelnen Elemente des jeweiligen Diagrammtyps näher eingegangen. In diesem Post nenne ich Gründe und Intentionen, [...]]]></description>
			<content:encoded><![CDATA[<p class="preview">Mit diesem Artikel möchte ich eine kleine Aktion von mir ankündigen: In Kürze erscheinen drei Artikel zum Thema UML- Unified Modeling Language. Darin werden die Grundlagen dreier Diagrammtypen angesprochen und jeweils mit einem kleinen, einfachen Beispiel erläutert und auf die einzelnen Elemente des jeweiligen Diagrammtyps näher eingegangen. In diesem Post nenne ich Gründe und Intentionen, die mich bewogen haben, diese Kleinserie zu starten.</p>
<p><span id="more-302"></span></p>
<h3>Was ist UML?</h3>
<p>UML ist keine Programmiersprache, sondern eine Modellierungssprache. Es stellt standardisierte Begriffe, Bezeichnungen und grafische Notationen zur Verfügung und soll damit die Modellierung von Systemen, Abläufen, Programmen erleichtern. Ich möchte an dieser Stelle nicht auf die Entstehungsgeschichte eingehen, obwohl das ebenfalls ganz interessant wäre. Oft versteht man etwas besser, wenn man weiß, wie es entstanden ist. Naja, eventuell wird aus den drei Artikel zu UML irgendwann auch vier <img src='http://www.muvik.de/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> .</p>
<h3>Warum schreibe ich über UML?</h3>
<p>Das wird sich sicherlich der eine oder andere Leser fragen. Es geht auf diesem Blog doch in erster Linie um Programmieren, Mathematik und Software. Ja, das stimmt auch soweit, aber ich möchte ja diesen Blog auch dazu nutzen mein Wissen auf dem Gebiet nicht nur anderen zur Verfügung zu stellen, sondern auch zu erweitern. UML hat mich schon sein einer längeren Zeit interessiert, da es in meinen Augen einen sinnvollen Zugang zu neuen Projekten bereitstellen kann. Zu Beginn eines Projekts weiß man noch nicht viel und muss doch irgendwie anfangen. Also erstellt man sich zum Beispiel ein Anwendungsfalldiagramm um die Anforderungen zu definieren.</p>
<p>Es ist mir auch klar, dass ich hier keine riesigen Projekte vorstellen werde, für welche die Modellierung fast Gesetz ist. Aber auch kleiner Aufgaben können durch UML besser verstanden und erläutert werden. Vielleicht lässt sich ein Projecteuler-Problem mit UML gut darstellen, was ich dann auch machen werde. Im Vordergrund steht für mich bei der Verwendung von UML das Ziel, eine strukturierte Vorgehensweise zu erlernen und möglichst effizient zu arbeiten. Kurz: Es soll alles besser werden.</p>
<h3>Was erwartet den Leser, oder worauf darf sich der Leser freuen?</h3>
<p>Die Artikel zu der kurzen Serie sind bereits geschrieben und sollen im Laufe der nächsten Woche nach und nach veröffentlicht werden. Dieser Post hier macht den Anfang, dann folgt ein Artikel zum Thema <strong>Anwendungsfalldiagramme</strong>. Der zweite Beitrag beschäftigt sich mit einem ganz wichtigen und interessanten Diagramm, nämlich dem <strong>Klassendiagramm</strong>. Abgerundet wird das ganze durch einen Artikel zu dem <strong>Aktivitätsdiagramm</strong>. Im Anschluss an diese Serie stelle ich einige Bücher vor, die ich als Quelle für diese Artikel verwendet habe. Ich finde Bücher sind nach wie vor immernoch die wichtigste Wissenquelle.</p>
<h3>Viel Spass beim Lesen</h3>
<p>Da ich mir durchaus bewusst bin, dass nicht alles richtig sein kann, was in den angekündigten Artikeln so steht, bitte ich die wenigen Leser um rege Beteiligung durch Kommentare. Verbesserungen, Ergänzungen, Erfahrungsberichte &#8211; alle konstruktiven Beiträge sind willkommen.</p>
<p><a href="http://partners.webmasterplan.com/click.asp?ref=515746&site=6989&type=text&tnb=1" target="_blank">
Deine Stadt - Dein Preis</a><br />Mit CityDeal und vielen Anderen
den Preis drücken!<br /><img src="http://banners.webmasterplan.com/view.asp?ref=515746&site=6989&type=text&tnb=1&js=1" BORDER="0" WIDTH="1" HEIGHT="1" /></p>
<hr />
<p><small>© Muvik for <a href="http://www.muvik.de">muvik-multigrid</a>, 2010. |
<a href="http://www.muvik.de/2010/02/20/ankuendigung-uml-kurz-und-gut/">Permalink</a> |
<a href="http://www.muvik.de/2010/02/20/ankuendigung-uml-kurz-und-gut/#comments">ein Kommentar</a> |
Teile es mit deinen Freunden:
<a href="http://del.icio.us/post?url=http://www.muvik.de/2010/02/20/ankuendigung-uml-kurz-und-gut/&title=Ankündigung: UML: kurz und gut">del.icio.us</a>
<a href="http://www.mister-wong.de/addurl/?bm_url=http://www.muvik.de/2010/02/20/ankuendigung-uml-kurz-und-gut/&title=Ankündigung: UML: kurz und gut">MisterWong</a>
<a href="http://twitter.com/home?status=http://www.muvik.de/2010/02/20/ankuendigung-uml-kurz-und-gut/&title=Ankündigung: UML: kurz und gut">Twitter</a>
<br/>
Tags: <a href="http://www.muvik.de/tag/modellierung/" rel="tag">Modellierung</a>, <a href="http://www.muvik.de/tag/programming/" rel="tag">Programming</a>, <a href="http://www.muvik.de/tag/uml/" rel="tag">UML</a><br/>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://www.muvik.de/2010/02/20/ankuendigung-uml-kurz-und-gut/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Kurztipp 1: Zeitmessung in Python</title>
		<link>http://www.muvik.de/2010/02/13/kurztipp-1-zeitmessung-in-python/</link>
		<comments>http://www.muvik.de/2010/02/13/kurztipp-1-zeitmessung-in-python/#comments</comments>
		<pubDate>Sat, 13 Feb 2010 12:16:06 +0000</pubDate>
		<dc:creator>Viktor Müller</dc:creator>
				<category><![CDATA[Kurztipps]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Python-Tipp]]></category>

		<guid isPermaLink="false">http://www.muvik.de/?p=108</guid>
		<description><![CDATA[Heute im Fokus: Messung der Zeit, die zur Ausführung eines Code-Abschnitts nötig ist. In der Vorstellung der Lösung des ersten Problems von Projecteuler.net habe ich es bereits angewendet. Die Zeitmessung könnte aus unterschiedlichen Gründen interessant sein. Für mich ist es zunächst wichtig, um unterschiedliche Versionen einer Funktion zu testen. In der schon genannten Lösung des [...]]]></description>
			<content:encoded><![CDATA[<img class="cat-img-wide" alt="Viktors Kurztipp" src="http://muvik.de/categorie_images/viktorskurztipp.gif" title="Viktors Kurztipp zu diversen Themen" width="443" height="98" />
<p class="preview">Heute im Fokus: Messung der Zeit, die zur Ausführung eines Code-Abschnitts nötig ist.</p>
<p><span id="more-108"></span>In der Vorstellung der <a href="http://www.muvik.de/2010/02/11/projecteuler-loesung-zu-problem-1/">Lösung des ersten Problems von Projecteuler.net</a> habe ich es bereits angewendet. Die Zeitmessung könnte aus unterschiedlichen Gründen interessant sein. Für mich ist es zunächst wichtig, um unterschiedliche Versionen einer Funktion zu testen. In der schon genannten Lösung des ersten Projecteuler-Problems habe ich zwei komplett verschiedene Lösungsansätze miteinander verglichen und zur Bewertung hauptsächlich die benötigte Zeit herangezogen.</p>
<h3>Zeitmessung in Python mit dem time-Modul</h3>
<p>Das time-Modul stellt in meinen Augen eine der einfachsten Varianten zur Zeitmessung zur Verfügung. Im folgenden Beispiel findest du ein kurzes Beispiel:</p>
<pre class="brush:python">import time as t
def komplexe_funktion(N):
    ...

t0 = t.time();
N = 10000000
erg = komplexe_funktion(N);
tn = t.time();

print("Ergebnis: %6i" % erg)
print ("Benötigte Zeit: %.15f" % (tn-t0))</pre>
<p> Die Funktion time() aus dem time-Modul liefert laut der <a href="http://docs.python.org/library/time.html#module-time">Python-Dokumentation</a> die genauste verfügbare Zeit zurück, was vom System abhängt. In dem Code-Beispiel wird vor und nach dem Ausführen einer Funktion die Zeit gemessen. Die Differenz der zwei Werte ergibt die Zeit, die zur Funktionsausführung benötigt wird.<br />
Was meist als CPU- oder Prozessorzeit bezeichnet wir, liefert die Funktion clock() aus dem time-Modul. Die Python-Dokumentation rät dazu, Python-Funktionen mit dieser Zeit zu benchmarken. Sie wird genauso wie time() verwendet.</p>
<h3>Zeitmessung in Python mit dem timeit-Modul</h3>
<pre class="brush:python">from timeit import Timer
s = """ ... Anweisungen ..."""
t = Timer(stmt=s)
print("Zeit mit timeit: %.15f" % (t.timeit(number=100)))
</pre>
<p> Die timeit()-Funktion verwendet standardmäßig intern die time()-Funktion auf dem meisten Systemen außer Windows und die Funktion clock() auf Windows. </p>
<h3>Welche Funktionen verwendet Ihr?</h3>
<p>Jetzt bist du an der Reihe deine Benchmarking-Methoden für einfache Funktionen darzulegen. Welche Funktionen verwendest du zur Messung der Zeit oder nach welchen Kategorien bewertest du deinen eigenen Code?</p>
<p><a href="http://partners.webmasterplan.com/click.asp?ref=515746&site=6989&type=text&tnb=1" target="_blank">
Deine Stadt - Dein Preis</a><br />Mit CityDeal und vielen Anderen
den Preis drücken!<br /><img src="http://banners.webmasterplan.com/view.asp?ref=515746&site=6989&type=text&tnb=1&js=1" BORDER="0" WIDTH="1" HEIGHT="1" /></p>
<hr />
<p><small>© Muvik for <a href="http://www.muvik.de">muvik-multigrid</a>, 2010. |
<a href="http://www.muvik.de/2010/02/13/kurztipp-1-zeitmessung-in-python/">Permalink</a> |
<a href="http://www.muvik.de/2010/02/13/kurztipp-1-zeitmessung-in-python/#comments">keine Kommentare</a> |
Teile es mit deinen Freunden:
<a href="http://del.icio.us/post?url=http://www.muvik.de/2010/02/13/kurztipp-1-zeitmessung-in-python/&title=Kurztipp 1: Zeitmessung in Python">del.icio.us</a>
<a href="http://www.mister-wong.de/addurl/?bm_url=http://www.muvik.de/2010/02/13/kurztipp-1-zeitmessung-in-python/&title=Kurztipp 1: Zeitmessung in Python">MisterWong</a>
<a href="http://twitter.com/home?status=http://www.muvik.de/2010/02/13/kurztipp-1-zeitmessung-in-python/&title=Kurztipp 1: Zeitmessung in Python">Twitter</a>
<br/>
Tags: <a href="http://www.muvik.de/tag/programming/" rel="tag">Programming</a>, <a href="http://www.muvik.de/tag/python/" rel="tag">Python</a>, <a href="http://www.muvik.de/tag/python-tipp/" rel="tag">Python-Tipp</a><br/>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://www.muvik.de/2010/02/13/kurztipp-1-zeitmessung-in-python/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Projecteuler: Lösungen in Serie</title>
		<link>http://www.muvik.de/2010/02/10/projecteuler-loesungen-in-serie/</link>
		<comments>http://www.muvik.de/2010/02/10/projecteuler-loesungen-in-serie/#comments</comments>
		<pubDate>Wed, 10 Feb 2010 09:22:25 +0000</pubDate>
		<dc:creator>Viktor Müller</dc:creator>
				<category><![CDATA[Projekte]]></category>
		<category><![CDATA[Math]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Projecteuler]]></category>

		<guid isPermaLink="false">http://www.muvik.de/?p=53</guid>
		<description><![CDATA[Als erstes Projekt auf muvik-multigrid.de möchte ich hiermit Projecteuler: Lösungen mit Python und C++ ankündigen. Auf der Webseite Projecteuler.net findet man Aufgabe meist mathematischer Art, welche oft nicht ohne Unterstützung einer Programmiersprache gelöst werden können. Was ist Projecteuler.net? Projecteuler hat die Intention die mathematischen und problemlösungstechnischen Fähigkeiten zu fordern und zu fördern. Dazu habe sich [...]]]></description>
			<content:encoded><![CDATA[<img class="cat-img-wide" alt="Projecteuler: Lösungen mit Python und C++" src="http://muvik.de/categorie_images/projecteuler_serie_start.gif" title="Projecteuler: Lösungen mit Python und C++" width="443" height="98" />
<p class="preview">Als erstes Projekt auf muvik-multigrid.de möchte ich hiermit <strong>Projecteuler: Lösungen mit Python und C++</strong> ankündigen. Auf der <a href="http://projecteuler.net" target="_blank">Webseite Projecteuler.net</a> findet man Aufgabe meist mathematischer Art, welche oft nicht ohne Unterstützung einer Programmiersprache gelöst werden können.</p>
<p><span id="more-53"></span></p>
<h3>Was ist Projecteuler.net?</h3>
<p>Projecteuler hat die Intention die mathematischen und problemlösungstechnischen Fähigkeiten zu fordern und zu fördern. Dazu habe sich die Macher  dieser Webseite einen besonderen Modus ausgedacht: zum heutigen Zeitpunkt sind 277 Probleme bzw. Aufgaben aufgelistet, welche von jedem Teilnehmer gelöst werden sollen. Für jeden Teilnehmer werden die Anzahl der gelösten Aufgaben, die Frequenz der gelösten Aufgaben und die verwendete Programmiersprache aufgelistet. Da Projecteuler mittlerweile sehr viele Teilnehmer aus den unterschiedlichsten Ländern aufweist, entsteht auf diese Weise eine Art Wettbewerb. So kann sich jeder mit anderen aus allen Ländern vergleichen. Um auf eine hohe Position in einer bestimmten Liste zu kommen, muss nicht unbedingt jedes Problem gelöst werden, es reicht zu Beginn schon, wenn die Anzahl der gelösten Aufgaben in einem bestimmten Zeitraum hoch ist, also eine hohe Problemlösungsfrequenz vorliegt.<br />
Ein wesentliches Ziel von Projecteuler ist die Förderung der Teilnehmer und Erweiterung deren Horizont, indem sie versuchen neue Wege zu gehen um ein bis dato unbekanntes Problem zu lösen.</p>
<h3>An wen richtet sich Projecteuler.net?</h3>
<p>Generell kann man davon ausgehen, dass jeder teilnehmen kann. Etwas differenzierter betrachtet, stellen Studenten wohl die wesentliche Zielgruppe dar. Aus den Statistiken auf der Webseite habe ich gefolgert, dass wohl nicht ausschließlich Studenten Spass am Lösen der Probleme finden, sondern auch Berufstätige. Insgesamt sind alle, die Interesse an der Mathematik und genügend Engagement mitbringen willkommen.<br />
Also ab auf <a href="http://projecteuler.net" target="_blank">Projecteuler.net</a>, anmelden und Spass haben.</p>
<h3>Welche Bedingungen gibt es an die Lösung?</h3>
<p>Projecteuler stellt nur eine einzige Bedingung an die Lösung. Es spielt keine Rolle, ob das Problem mit Hilfe einer Programmiersprache oder in welcher Programmiersprache gelöst wurde, die Lösung darf nur nicht länger als eine Minute dauern. Neben der von allein verständlichen Voraussetzung, dass die Lösung von jedem Teilnehmer selbstständig erarbeitet sein sollte, ohne der Google Code Suche, ist die 1-Minuten-Bedingung die einzige Regel.<br />
Hat man ein Ergebnis, so kann es auf Projecteuler geprüft werden. Ist es korrekt, dann erhält man Zugang zu einem Forum, wo das gerade gelöste Problem besprochen wird. In diesem Forum kann man sich von anderen Teilnehmern inspirieren lassen und seine eigene Lösung unter Umständen verbessern. </p>
<h3>Lösungen mit Python und C++</h3>
<p>Es gibt im Web bestimmt bereits ewig viele Lösungen zu den bei Projecteuler vorgestellten Problemen. Insbesondere mit C++. Da ich jedoch das Programmieren in Python lernen und in C++ üben möchte, bieten sich die Probleme von Projecteuler an. Da ich bei weitem kein Profi bin, ist es mir vor allen Dingen wichtig, andere Lösungsvorschläge kennen zu lernen. Natürlich nachdem ich es mit meinem eigenen Ansatz gelöst habe. Ich denke das bringt viel. Zudem gibt es dadurch immer wieder etwas zu berichten und mein Weblog wird mit sinnvollem Inhalt gefüllt</p>
<h3>Was tun die lieben Leser?</h3>
<p>Zwar hat der Weblog zu diesem Zeitpunkt noch nicht viele, bis gar keine Besucher, was sich hoffentlich bald ändern wird, aber ich möchte trotzdem die zukünftigen Leser mit einbinden und auffordern meine vorgestellten Lösungen zu verbessern, falls etwas falsch ist. Falls das Interesse irgendwann bestehen sollte, wäre ich auch für Gastbeiträge offen, in denen Lösungen mit anderen Programmiersprachen oder auch in Python bzw. C++ mit einem ganz anderem Ansatz vorgestellt werden.</p>
<p>Der erste Beitrag steht schon vor der Tür und ich freue mich auf die Serie.</p>
<p><a href="http://partners.webmasterplan.com/click.asp?ref=515746&site=6989&type=text&tnb=1" target="_blank">
Deine Stadt - Dein Preis</a><br />Mit CityDeal und vielen Anderen
den Preis drücken!<br /><img src="http://banners.webmasterplan.com/view.asp?ref=515746&site=6989&type=text&tnb=1&js=1" BORDER="0" WIDTH="1" HEIGHT="1" /></p>
<hr />
<p><small>© Muvik for <a href="http://www.muvik.de">muvik-multigrid</a>, 2010. |
<a href="http://www.muvik.de/2010/02/10/projecteuler-loesungen-in-serie/">Permalink</a> |
<a href="http://www.muvik.de/2010/02/10/projecteuler-loesungen-in-serie/#comments">keine Kommentare</a> |
Teile es mit deinen Freunden:
<a href="http://del.icio.us/post?url=http://www.muvik.de/2010/02/10/projecteuler-loesungen-in-serie/&title=Projecteuler: Lösungen in Serie">del.icio.us</a>
<a href="http://www.mister-wong.de/addurl/?bm_url=http://www.muvik.de/2010/02/10/projecteuler-loesungen-in-serie/&title=Projecteuler: Lösungen in Serie">MisterWong</a>
<a href="http://twitter.com/home?status=http://www.muvik.de/2010/02/10/projecteuler-loesungen-in-serie/&title=Projecteuler: Lösungen in Serie">Twitter</a>
<br/>
Tags: <a href="http://www.muvik.de/tag/math/" rel="tag">Math</a>, <a href="http://www.muvik.de/tag/programming/" rel="tag">Programming</a>, <a href="http://www.muvik.de/tag/projecteuler/" rel="tag">Projecteuler</a><br/>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://www.muvik.de/2010/02/10/projecteuler-loesungen-in-serie/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

