Wikibooks
dewikibooks
https://de.wikibooks.org/wiki/Hauptseite
MediaWiki 1.47.0-wmf.20
first-letter
Medium
Spezial
Diskussion
Benutzer
Benutzer Diskussion
Wikibooks
Wikibooks Diskussion
Datei
Datei Diskussion
MediaWiki
MediaWiki Diskussion
Vorlage
Vorlage Diskussion
Hilfe
Hilfe Diskussion
Kategorie
Kategorie Diskussion
Regal
Regal Diskussion
TimedText
TimedText talk
Modul
Modul Diskussion
Veranstaltung
Veranstaltung Diskussion
A Poem a Day – Gedichte zum Auswendiglernen
0
22256
1091091
1091073
2026-09-19T15:24:58Z
Mjchael
2222
/* September */ +
1091091
wikitext
text/x-wiki
{{Regal|Literatur}}
== Zusammenfassung des Projekts ==
* '''Buchpatenschaft/Ansprechperson:''' Zur Zeit niemand. Buch darf übernommen werden.
* '''Sind Co-Autoren gegenwärtig erwünscht?''' Ja, sehr gerne.
<!-- Für welche Leute soll das Buch geschrieben werden? -->
* '''Zielgruppe:'''
# Alle Menschen, die gerne Gedichte aus den Sprachen Deutsch und Englisch auswendig lernen möchten und dazu auch eine kurze Information zum Dichter und zur Kulturepoche haben möchten.
# Alle Menschen, die gerne ein persönliches Statement zu einem ihrer Lieblingsgedichte verfassen möchten und sich so an dem Projekt beteiligen möchten.
# Wie kann man sich beteiligen: Ganz einfach: Datum aussuchen, Gedicht (oder auch ein Zitat aus einem Gedicht) einfügen und ein persönliches Statement verfassen. Bitte keine Daten überschreiben! Wer zuerst kommt, mahlt zuerst. Oder natürlich auch das Vorwort & das Kapitel "auswendig lernen lernen" bearbeiten.
<!-- Was soll alles in das Buch rein, was nicht? -->
* '''Projektumfang:'''
Kurzformel: 365 & 1(Schaltjahr :-) Gedichte & 1 persönliches Statement von einem (oder mehreren Menschen z.B.: Schulklassen), 1 Kapitel "Wie soll ich auswendig lernen lernen?", Vorwort: Wozu soll ich Gedichte auswendig lernen?
* Neben persönlichen subjektiven Statements könnten sich ohne weiteres ganze Klassen an der Analyse und Interpretation eines Gedichtes beteiligen, und die Ergebnisse beispielhaft hier abdrucken. Entweder als die beste Interpretation einer Klasse (Wettbewerb) oder als eine Gemeinschaftsproduktion. In der Form
**A Poem a Day/ 30.Februar: Das Gedicht vom Gedicht /Interpretation 1...
Dabei sollte die Ausführung etwas ausführlicher und für interessierte Laien in einer allgemein verständlichen Form erklärt werden.
* '''Einschränkung:'''
Reine Gedichtesammlungen sind auf Wikibooks nicht zulässig, aber ein Lehrbuch über Gedichte mit Analysen, Vergleichen und Beispielen (diese mindestens mit persönlichem Statement) ist möglich.
== Status ==
* 20 Gedichte von 365 [[Bild:1von10.png]] (5.5%)
* 4 Beiträge/Kommentare/Statements von 365, die länger als nur ein Satz sind [[Bild:0von10.png]] (1,1%)
==A Poem a Day: Vorwort: Wozu soll ich Gedichte auswendig lernen?==
Sogar ein kurzes Gedicht kann mehr als tausend Worte sagen. Als Ausdruck von Gedanken und Gefühlen sind Gedichte ein guter Weg die Grenzen zwischen emotionaler und rationaler Wahrnehmung aufzuheben. Sie auswendig zu lernen und zu rezitieren kann die in ihnen enthaltene Welt von Empfindungen in einem selbst lebendig werden lassen und mag zum Selbstverfassen von Gedichten anregen und so einen neuen Weg der Selbsterkenntnis eröffnen.
==A Poem a Day: 365 & 1 Gedichte==
Jeweils 1 Gedicht & 1 persönliches Statement & 1 Kommentar oder 1 Interpretation oder 1 historischen Rückblick oder 1 Formale Analyse.
=== Januar ===
* [[A Poem a Day/ 01. Januar: Merseburgerzaubersprüche (Volksweise)|01. Januar: Merseburger Zaubersprüche I (Volksweise)]]
* [[A Poem a Day/ 02. Januar: Merseburgerzaubersprüche II (Volksweise)|02. Januar: Merseburger Zaubersprüche II (Volksweise)]]
=== Februar ===
* [[A Poem a Day/ 05. Februar: Liebeserklärung an Mutter Erde|05. Februar: Liebeserklärung an Mutter Erde]]
=== März ===
* [[A Poem a Day/ 01. März: Vom Eise befreit (Johann Wolfgang von Goethe)|01. März: Vom Eise befreit (Johann Wolfgang von Goethe)]]
=== April ===
=== Mai ===
* [[A Poem a Day/ 02. Mai: Komm lieber Mai und mache (Christian Adolph Overbeck)|02.Mai: Komm lieber Mai und mache (Christian Adolph Overbeck)]]
* [[A Poem a Day/ 27. Mai: Nicht immer war ich schon so alt (Heinz Ehrhardt)|27.Mai: Nicht immer war ich schon so alt (Heinz Ehrhardt)]]
=== Juli ===
* [[A Poem a Day/ 07. Juli: Der römische Brunnen (Conrad Ferdinand Meyer)|07. Juli: Der römische Brunnen (Conrad Ferdinand Meyer)]]
=== August ===
* [[A Poem a Day/ 01. August: Überall (Joachim Ringelnatz)|01. August: Überall (Joachim Ringelnatz)]]
* [[A Poem a Day/ 08. August: Kriegslied (Mathias Claudius)|08. August: Kriegslied (Mathias Claudius)]]
=== September ===
* [[A Poem a Day/ 1. September: Der Zauberlehrling (Johann Wolfgang von Goethe)|1. September: Der Zauberlehrling (Johann Wolfgang von Goethe)]]
* [[A Poem a Day/ 2. September: Vergänglichkeit der Schönheit (Christian Hoffmann von Hoffmannswaldau)|2. September: Vergänglichkeit der Schönheit (Christian Hoffmann von Hoffmannswaldau)]]
* [[A Poem a Day/ 3. September: Septembermorgen (Eduard Mörike)|3. September: Septembermorgen (Eduard Mörike)]]
* [[A Poem a Day/ 9. September: Ginkgo Biloba (Johann Wolfgang von Goethe)|9. September: Ginkgo Biloba (Johann Wolfgang von Goethe)]]
* [[A Poem a Day/ 17. September: The Charge of the Light Brigade (Alfred Lord Tennyson)|17. September: The Charge of the Light Brigade (Alfred Lord Tennyson)]]
* [A Poem a Day/ 26. September: Herbst (R.M. Rilke)|22. September: Herbst (R.M. Rilke)]]
* [[A Poem a Day/ 26. September: Der Panther (R.M. Rilke)|26. September: Der Panther (R.M. Rilke)]]
=== Oktober ===
* [[A Poem a Day/ 2. Oktober: Herr von Ribbeck auf Ribbeck im Havelland (Theodor Fontane)| 2. Oktober: Herr von Ribbeck auf Ribbeck im Havelland (Theodor Fontane)]]
* [[A Poem a Day/ 7. Oktober: Baum im Herbst (Hermann Hesse)| 7. Oktober: Baum im Herbst (Hermann Hesse)]]
* [[A Poem a Day/ 11. Oktober: Herbsttag (R.M. Rilke)|11. Oktober: Herbsttag (R.M. Rilke)]]
* [[A Poem a Day/ 12. Oktober: Herbstbild (Friedrich Hebbel)|12. Oktober: Herbstbild (Friedrich Hebbel)]]
* [[A Poem a Day/ 13. Oktober: Blätter (R.M. Rilke)|13. Oktober: Blätter (R.M. Rilke)]]
* [[A Poem a Day/ 25. Oktober: Mondnacht (Joseph von Eichendorff)|25. Oktober: Mondnacht (Joseph von Eichendorff)]]
* [[A Poem a Day/ 30.Oktober: Des Pfarrers Tochter von Taubenhain|30.Oktober: Des Pfarrers Tochter von Taubenhain (Gottfried August Bürger)]]
=== November ===
* [[A Poem a Day/ 1. November: Herbst (Theodor Storm)|1. November: Herbst (Theodor Storm)]]
* [[A Poem a Day/ 8. November: Septembermorgen (Eduard Möricke)|8. November: Septembermorgen (Eduard Möricke)]]
* [[A Poem a Day/ 14. November: Der Erlkönig (Johann Wolfgang von Goethe)|14. November: Der Erlkönig (Johann Wolfgang von Goethe)]]
* [[A Poem a Day/ 20. November: Schlesischen Weber (Heinrich Heine)|20. November: Schlesischen Weber (Heinrich Heine)]]
=== Dezember ===
* [[A Poem a Day/ 01. Dezember: Der Winter ist ein rechter Mann (Matthias Claudius)|01.Dezember:
Der Winter ist ein rechter Mann (Matthias Claudius)]]
* [[A Poem a Day/ 02. Dezember : Schenken (Joachim Ringelnatz)| 02. Dezember: Schenken (Joachim Ringelnatz)]]
* [[A Poem a Day/ 21. Dezember : Es gibt so wunderweiße Nächte (Rainer Maria Rilke)| 21. Dezember: Es gibt so wunderweiße Nächte (Rainer Maria Rilke)]]
* [[A Poem a Day/ 30. Dezember: Winternacht (Joseph von Eichendorff)|30. Dezember : Winternacht (Joseph von Eichendorff)]]
==A Poem a Day: Wie soll ich auswendig lernen lernen? Tipps und Tricks==
=== Tipp 1 ===
Das Gedicht sollte dir gefallen. Gedichte auswendig zu lernen, nur weil man es muss, ist eine geeignete Methode einem den Geschmack an Lyrik zu verderben. Eigentümlicherweise sind dieselben Kinder und Jugendliche oft in der Lage, eine komplette Folge von Liedern fast auswendig mitzusingen, ohne dass sie sich wirklich dafür angestrengt haben. Was einem gefällt, das lernt sich viel leichter.
=== Tipp 2 ===
Das Gedicht sollte dir etwas sagen, oder dich emotional berühren. In Gedichten stecken in vielen Fällen wesentlich mehr Informationen, als man den paar Worten zutrauen mag. Mit Gedichten schafft man es, die flüchtigen Gefühle und Eindrücke, die man selbst im Leben sammelt, eine Form zu geben, die es einem ermöglicht, dieses Gefühl und den Eindruck oder die Erinnerungen, die man mit dem Gedicht verknüpft hat, wieder wach zurufen.
*[[A Poem a Day/ 11. Oktober: Herbsttag (R.M. Rilke)#Memento Mori|Beispiel: Herbsttag (Memento Mori)]]
=== Tipp 3 ===
Suche die innere Logik. Viele Gedichte haben einen in sich stimmigen Ablauf. Es gibt oft einen bestimmten Grund, warum bestimmte Strophen an genau dieser Stelle auftauchen und nicht etwa zwei Strophen später. Diesen Handlungsstrang gilt es zu entdecken. Dabei sollte man in erster Linie dem folgen, was der Dichter (vermutlich) sagen wollte. Sollte dieses nicht möglich sein, so schadet es nichts, sich einen eigenen Handlungsstrang oder eine eigene innere Ordnung zu erfinden, an dem sich das Gedächtnis entlang hangeln kann. Jedoch sollte man sich dabei immer bewusst sein, was im Gedicht steckt[[w:Exegese|(Exegese)]]<ref>Die '''Exegese''' ([[w:Griechische Sprache|griech.]] ''exégesis'' = Auslegung, Erläuterung) ist ein Fachbegriff der [[w:Hermeneutik|Hermeneutik]] und beschreibt verschiedene Methoden, den Inhalt eines Textes zu [[w:Interpretation|interpretieren]].</ref>, und was man selbst hineininterpretert hat [[w:Eisegese|Eisegese]]<ref>'''Eisegese''' (v. [[w:Griechische Sprache|griech.]]: εισήγηση = die Einlegung) ist ein etwas abschätzig gemeinter Begriff, der ausdrücken soll, dass man etwas in einen Text herausliest (besser hineininterpretiert), das aber nicht dort darin steht oder gemeint ist. </ref>.
Solange man sich dessen bewusst ist, was man selbst hineininterpretiert oder drum herum ausgeschmückt hat, kann man dieses gut als Eselsbrücke für das Lernen verwenden. Es darf hinterher nur nicht Bestandteil einer Interpretation für z.B. einen Deutschunterricht werden. Eine weitere Methode ein Gedicht sinnvoll „auszuschmücken“ ist es, sich eine Bildergeschichte zu dem Gedicht zu malen, die einem hilft, sich die Reihenfolge zu merken.
*[[A Poem a Day/ 25. Oktober: Mondnacht (Joseph von Eichendorff)#Statement|Beispiel: Statement von "die Mondnacht"]]
=== Tipp 4 ===
Im Gedichtvortrag hört es sich oft nicht besonders schön an, wenn man das Gedicht herunterleiert. Doch zum Lernen ist dieses Herunterleiern eine gute Hilfe. Der Rhythmus, der Reim und das Metrum (und sollte es vorhanden sein auch eine Melodie) sind hervorragende Gedächtnisstützen.
=== Tipp 5 ===
Die "Ich packe einen Koffer"-Methode. Sie eignet sich um noch möglichst schnell ein Gedicht zu pauken.
*Man liest einen Satz, und sagt diesen auf.
*Man kontrolliert den ersten Satz und liest den zweiten und sagt beides auf
*Man kontrolliert die ersten beiden Sätze, liest den dritten und sagt alles drei auf
Damit fährt man strophenweise fort. Nach jeder Strophe sagt man die kompletten vorherigen Strophen auf.
=== Tipp 6 ===
Wiederholen, wiederholen, wiederholen. Dabei muss man nicht unbedingt alles selbst wiederholen, sondern man kann es auch durch Zuhören, gegenseitiges Abfragen, Lesen etc. wiederholen. Bei Liedtexten kann natürlich der CD- bzw. MP3-Player ungemein beim Lernen helfen.
=== Tipp 7 ===
Wiederholen, wiederholen, wiederholen. Nicht nur in der akuten Lernphase, sondern auch noch einmal nach einer Minute, nach eine Stunde, nach einen Tag, eine Woche und einem Monat, nachdem man zum ersten mal das Gedicht auswendig gelernt hat.
=== Tipp 8 ===
Gedichte auswendig lernen. So banal sich dieses anhört, je mehr man Gedichte, Lieder, Texte, Bibelverse, Poesie-Album-Sprüche u.s.w. auswendig lernt, desto einfacher fällt es einem, Texte auswendig zu lernen.
=== Tipp 9 ===
Sage Gedichte laut auf. Dabei versuche nicht nur darauf zu achten, ob man kein Wort vergessen hat, sondern konzentriere dich darauf, wie sich das Gedicht für einen Zuhörer anhören mag. Gedichte wollen vorgetragen werden. Dabei ist es wichtig, ob das Gedicht spannend, lustig, traurig oder auch eintönig klingen sollte. Versuche es dann auch so zu sprechen, wie du es hören möchtest. Dadurch erhält das Gedicht viel mehr Farbe und ist dadurch auch leichter zu lernen.
*[[A Poem a Day/ 1. September: Der Zauberlehrling (Johann Wolfgang von Goethe:Regieanweisung)|Beispiel: "Der Zauberlehrling"]]
=== Tipp 10 ===
Wer ein Mikrofon und ein Aufzeichnungsgerät (altmodisch: Kassettenrecorder; neumodischer: PC, Laptop, Netbook, Handy), alternativ einen MP3-Player mit integriertem Mikrofon besitzt und sich nicht davor scheut, seine eigene Stimme von einer Aufzeichnung zu hören (sie klingt für einen selber anders, als man sich sowieso sprechen hört), kann auswendig zu lernendes Material einmalig aufzeichnen und die entstehende Aufnahme wiederholt abhören.
Gerade bei längeren Werken kann dies für die eigenen Stimmbänder schonender sein als Tipp 9.
== Wie schreibe ich am besten Gedichte, die mir auch nach Wochen noch gefallen? ==
=== Themenwahl ===
Am besten ist es, wenn man sich nicht dazu zwingen muss, ein Gedicht zu schreiben, weil man denkt: "ich will oder muss jetzt aber!". Ich habe die Erfahrung gemacht, das Gedichte „zu mir kommen“ , was bedeutet, dass ich erst einmal im Kopf mit Gedanken, Worten und Wörtern herumspiele. Manchmal ist es sinnvoll, einzelne von ihnen aufzuschreiben, um sie besser betrachten zu können. Es geht dabei vordergründig um die Aussage, die sie für mich haben und die ich vermitteln will. Diese Intentionen mache ich mir dann zum Thema. Manchmal ist es aber auch eine bestimmte Situation oder Atmosphäre, die ich vermitteln möchte, weil ich sie gerade frisch erlebt habe.
=== Das Gedicht entsteht ===
Als nächstes gibt es eine Art Gedankensammlung, die man schriftlich oder auch nur mit ein paar Stichworten machen kann, wobei Stich-/Schlagworte oft das Weiterdenken anregen.
Nun kann man beginnen, die ersten Verse zu schreiben, zu reimen oder einfach seine Metrik zu finden. Gerade jetzt wird viel Platz auf einem Schmierblatt benötigt. Es ist sinnvoll, Radiergummi und Bleistift griffbereit zu haben, da viele Worte, Versverteilungen und Formulierungen oft nicht auf Anhieb passen. Wenn man mit seinem Ausdruck relativ zufrieden ist, geht es noch mal an die Feinarbeit.
=== Letzter Schliff ===
Der „letzte Schliff“ ist häufig der Arbeitsschritt, der die meiste Zeit in Anspruch nimmt. Man liest Wort für Wort, Vers für Vers, Strophe für Strophe mal laut, mal leise. Man überlegt sich jedes Wort in jedem Vers. verschiebt einen Zeilensprung, tauscht Verse, manchmal ganze Strophen untereinander. Oft schleichen sich „Reim dich oder ich fress dich“- Stellen ein. Man sollte versuchen, diese durch besser klingende Passagen zu ersetzen. Zum Schluss schreibt man das Gedicht noch mal in der Fassung auf, für die man sich entschieden hat. Wenn jetzt beim Schreiben oder beim nochmaligen laut Lesen etwas Störendes auffällt, kann man mit dem Schliff fortfahren – ansonsten kann man es für sein Gemüt noch einmal ins „Reine“ schreiben und auf sein Werk auch ein wenig stolz sein.
Es ist keine Seltenheit, so ordentlich bearbeitete Gedichte schon nach mehrmaligem Vorlesen fast auswendig zu können, was auch recht vorteilhaft sein kann.
----
;Fußnoten
<references />
[[Kategorie:Buch]]
jb9q0fos1euvjtme9ndrz8nuwatjm1b
1091092
1091091
2026-09-19T15:25:18Z
Mjchael
2222
/* September */
1091092
wikitext
text/x-wiki
{{Regal|Literatur}}
== Zusammenfassung des Projekts ==
* '''Buchpatenschaft/Ansprechperson:''' Zur Zeit niemand. Buch darf übernommen werden.
* '''Sind Co-Autoren gegenwärtig erwünscht?''' Ja, sehr gerne.
<!-- Für welche Leute soll das Buch geschrieben werden? -->
* '''Zielgruppe:'''
# Alle Menschen, die gerne Gedichte aus den Sprachen Deutsch und Englisch auswendig lernen möchten und dazu auch eine kurze Information zum Dichter und zur Kulturepoche haben möchten.
# Alle Menschen, die gerne ein persönliches Statement zu einem ihrer Lieblingsgedichte verfassen möchten und sich so an dem Projekt beteiligen möchten.
# Wie kann man sich beteiligen: Ganz einfach: Datum aussuchen, Gedicht (oder auch ein Zitat aus einem Gedicht) einfügen und ein persönliches Statement verfassen. Bitte keine Daten überschreiben! Wer zuerst kommt, mahlt zuerst. Oder natürlich auch das Vorwort & das Kapitel "auswendig lernen lernen" bearbeiten.
<!-- Was soll alles in das Buch rein, was nicht? -->
* '''Projektumfang:'''
Kurzformel: 365 & 1(Schaltjahr :-) Gedichte & 1 persönliches Statement von einem (oder mehreren Menschen z.B.: Schulklassen), 1 Kapitel "Wie soll ich auswendig lernen lernen?", Vorwort: Wozu soll ich Gedichte auswendig lernen?
* Neben persönlichen subjektiven Statements könnten sich ohne weiteres ganze Klassen an der Analyse und Interpretation eines Gedichtes beteiligen, und die Ergebnisse beispielhaft hier abdrucken. Entweder als die beste Interpretation einer Klasse (Wettbewerb) oder als eine Gemeinschaftsproduktion. In der Form
**A Poem a Day/ 30.Februar: Das Gedicht vom Gedicht /Interpretation 1...
Dabei sollte die Ausführung etwas ausführlicher und für interessierte Laien in einer allgemein verständlichen Form erklärt werden.
* '''Einschränkung:'''
Reine Gedichtesammlungen sind auf Wikibooks nicht zulässig, aber ein Lehrbuch über Gedichte mit Analysen, Vergleichen und Beispielen (diese mindestens mit persönlichem Statement) ist möglich.
== Status ==
* 20 Gedichte von 365 [[Bild:1von10.png]] (5.5%)
* 4 Beiträge/Kommentare/Statements von 365, die länger als nur ein Satz sind [[Bild:0von10.png]] (1,1%)
==A Poem a Day: Vorwort: Wozu soll ich Gedichte auswendig lernen?==
Sogar ein kurzes Gedicht kann mehr als tausend Worte sagen. Als Ausdruck von Gedanken und Gefühlen sind Gedichte ein guter Weg die Grenzen zwischen emotionaler und rationaler Wahrnehmung aufzuheben. Sie auswendig zu lernen und zu rezitieren kann die in ihnen enthaltene Welt von Empfindungen in einem selbst lebendig werden lassen und mag zum Selbstverfassen von Gedichten anregen und so einen neuen Weg der Selbsterkenntnis eröffnen.
==A Poem a Day: 365 & 1 Gedichte==
Jeweils 1 Gedicht & 1 persönliches Statement & 1 Kommentar oder 1 Interpretation oder 1 historischen Rückblick oder 1 Formale Analyse.
=== Januar ===
* [[A Poem a Day/ 01. Januar: Merseburgerzaubersprüche (Volksweise)|01. Januar: Merseburger Zaubersprüche I (Volksweise)]]
* [[A Poem a Day/ 02. Januar: Merseburgerzaubersprüche II (Volksweise)|02. Januar: Merseburger Zaubersprüche II (Volksweise)]]
=== Februar ===
* [[A Poem a Day/ 05. Februar: Liebeserklärung an Mutter Erde|05. Februar: Liebeserklärung an Mutter Erde]]
=== März ===
* [[A Poem a Day/ 01. März: Vom Eise befreit (Johann Wolfgang von Goethe)|01. März: Vom Eise befreit (Johann Wolfgang von Goethe)]]
=== April ===
=== Mai ===
* [[A Poem a Day/ 02. Mai: Komm lieber Mai und mache (Christian Adolph Overbeck)|02.Mai: Komm lieber Mai und mache (Christian Adolph Overbeck)]]
* [[A Poem a Day/ 27. Mai: Nicht immer war ich schon so alt (Heinz Ehrhardt)|27.Mai: Nicht immer war ich schon so alt (Heinz Ehrhardt)]]
=== Juli ===
* [[A Poem a Day/ 07. Juli: Der römische Brunnen (Conrad Ferdinand Meyer)|07. Juli: Der römische Brunnen (Conrad Ferdinand Meyer)]]
=== August ===
* [[A Poem a Day/ 01. August: Überall (Joachim Ringelnatz)|01. August: Überall (Joachim Ringelnatz)]]
* [[A Poem a Day/ 08. August: Kriegslied (Mathias Claudius)|08. August: Kriegslied (Mathias Claudius)]]
=== September ===
* [[A Poem a Day/ 1. September: Der Zauberlehrling (Johann Wolfgang von Goethe)|1. September: Der Zauberlehrling (Johann Wolfgang von Goethe)]]
* [[A Poem a Day/ 2. September: Vergänglichkeit der Schönheit (Christian Hoffmann von Hoffmannswaldau)|2. September: Vergänglichkeit der Schönheit (Christian Hoffmann von Hoffmannswaldau)]]
* [[A Poem a Day/ 3. September: Septembermorgen (Eduard Mörike)|3. September: Septembermorgen (Eduard Mörike)]]
* [[A Poem a Day/ 9. September: Ginkgo Biloba (Johann Wolfgang von Goethe)|9. September: Ginkgo Biloba (Johann Wolfgang von Goethe)]]
* [[A Poem a Day/ 17. September: The Charge of the Light Brigade (Alfred Lord Tennyson)|17. September: The Charge of the Light Brigade (Alfred Lord Tennyson)]]
* [[A Poem a Day/ 26. September: Herbst (R.M. Rilke)|22. September: Herbst (R.M. Rilke)]]
* [[A Poem a Day/ 26. September: Der Panther (R.M. Rilke)|26. September: Der Panther (R.M. Rilke)]]
=== Oktober ===
* [[A Poem a Day/ 2. Oktober: Herr von Ribbeck auf Ribbeck im Havelland (Theodor Fontane)| 2. Oktober: Herr von Ribbeck auf Ribbeck im Havelland (Theodor Fontane)]]
* [[A Poem a Day/ 7. Oktober: Baum im Herbst (Hermann Hesse)| 7. Oktober: Baum im Herbst (Hermann Hesse)]]
* [[A Poem a Day/ 11. Oktober: Herbsttag (R.M. Rilke)|11. Oktober: Herbsttag (R.M. Rilke)]]
* [[A Poem a Day/ 12. Oktober: Herbstbild (Friedrich Hebbel)|12. Oktober: Herbstbild (Friedrich Hebbel)]]
* [[A Poem a Day/ 13. Oktober: Blätter (R.M. Rilke)|13. Oktober: Blätter (R.M. Rilke)]]
* [[A Poem a Day/ 25. Oktober: Mondnacht (Joseph von Eichendorff)|25. Oktober: Mondnacht (Joseph von Eichendorff)]]
* [[A Poem a Day/ 30.Oktober: Des Pfarrers Tochter von Taubenhain|30.Oktober: Des Pfarrers Tochter von Taubenhain (Gottfried August Bürger)]]
=== November ===
* [[A Poem a Day/ 1. November: Herbst (Theodor Storm)|1. November: Herbst (Theodor Storm)]]
* [[A Poem a Day/ 8. November: Septembermorgen (Eduard Möricke)|8. November: Septembermorgen (Eduard Möricke)]]
* [[A Poem a Day/ 14. November: Der Erlkönig (Johann Wolfgang von Goethe)|14. November: Der Erlkönig (Johann Wolfgang von Goethe)]]
* [[A Poem a Day/ 20. November: Schlesischen Weber (Heinrich Heine)|20. November: Schlesischen Weber (Heinrich Heine)]]
=== Dezember ===
* [[A Poem a Day/ 01. Dezember: Der Winter ist ein rechter Mann (Matthias Claudius)|01.Dezember:
Der Winter ist ein rechter Mann (Matthias Claudius)]]
* [[A Poem a Day/ 02. Dezember : Schenken (Joachim Ringelnatz)| 02. Dezember: Schenken (Joachim Ringelnatz)]]
* [[A Poem a Day/ 21. Dezember : Es gibt so wunderweiße Nächte (Rainer Maria Rilke)| 21. Dezember: Es gibt so wunderweiße Nächte (Rainer Maria Rilke)]]
* [[A Poem a Day/ 30. Dezember: Winternacht (Joseph von Eichendorff)|30. Dezember : Winternacht (Joseph von Eichendorff)]]
==A Poem a Day: Wie soll ich auswendig lernen lernen? Tipps und Tricks==
=== Tipp 1 ===
Das Gedicht sollte dir gefallen. Gedichte auswendig zu lernen, nur weil man es muss, ist eine geeignete Methode einem den Geschmack an Lyrik zu verderben. Eigentümlicherweise sind dieselben Kinder und Jugendliche oft in der Lage, eine komplette Folge von Liedern fast auswendig mitzusingen, ohne dass sie sich wirklich dafür angestrengt haben. Was einem gefällt, das lernt sich viel leichter.
=== Tipp 2 ===
Das Gedicht sollte dir etwas sagen, oder dich emotional berühren. In Gedichten stecken in vielen Fällen wesentlich mehr Informationen, als man den paar Worten zutrauen mag. Mit Gedichten schafft man es, die flüchtigen Gefühle und Eindrücke, die man selbst im Leben sammelt, eine Form zu geben, die es einem ermöglicht, dieses Gefühl und den Eindruck oder die Erinnerungen, die man mit dem Gedicht verknüpft hat, wieder wach zurufen.
*[[A Poem a Day/ 11. Oktober: Herbsttag (R.M. Rilke)#Memento Mori|Beispiel: Herbsttag (Memento Mori)]]
=== Tipp 3 ===
Suche die innere Logik. Viele Gedichte haben einen in sich stimmigen Ablauf. Es gibt oft einen bestimmten Grund, warum bestimmte Strophen an genau dieser Stelle auftauchen und nicht etwa zwei Strophen später. Diesen Handlungsstrang gilt es zu entdecken. Dabei sollte man in erster Linie dem folgen, was der Dichter (vermutlich) sagen wollte. Sollte dieses nicht möglich sein, so schadet es nichts, sich einen eigenen Handlungsstrang oder eine eigene innere Ordnung zu erfinden, an dem sich das Gedächtnis entlang hangeln kann. Jedoch sollte man sich dabei immer bewusst sein, was im Gedicht steckt[[w:Exegese|(Exegese)]]<ref>Die '''Exegese''' ([[w:Griechische Sprache|griech.]] ''exégesis'' = Auslegung, Erläuterung) ist ein Fachbegriff der [[w:Hermeneutik|Hermeneutik]] und beschreibt verschiedene Methoden, den Inhalt eines Textes zu [[w:Interpretation|interpretieren]].</ref>, und was man selbst hineininterpretert hat [[w:Eisegese|Eisegese]]<ref>'''Eisegese''' (v. [[w:Griechische Sprache|griech.]]: εισήγηση = die Einlegung) ist ein etwas abschätzig gemeinter Begriff, der ausdrücken soll, dass man etwas in einen Text herausliest (besser hineininterpretiert), das aber nicht dort darin steht oder gemeint ist. </ref>.
Solange man sich dessen bewusst ist, was man selbst hineininterpretiert oder drum herum ausgeschmückt hat, kann man dieses gut als Eselsbrücke für das Lernen verwenden. Es darf hinterher nur nicht Bestandteil einer Interpretation für z.B. einen Deutschunterricht werden. Eine weitere Methode ein Gedicht sinnvoll „auszuschmücken“ ist es, sich eine Bildergeschichte zu dem Gedicht zu malen, die einem hilft, sich die Reihenfolge zu merken.
*[[A Poem a Day/ 25. Oktober: Mondnacht (Joseph von Eichendorff)#Statement|Beispiel: Statement von "die Mondnacht"]]
=== Tipp 4 ===
Im Gedichtvortrag hört es sich oft nicht besonders schön an, wenn man das Gedicht herunterleiert. Doch zum Lernen ist dieses Herunterleiern eine gute Hilfe. Der Rhythmus, der Reim und das Metrum (und sollte es vorhanden sein auch eine Melodie) sind hervorragende Gedächtnisstützen.
=== Tipp 5 ===
Die "Ich packe einen Koffer"-Methode. Sie eignet sich um noch möglichst schnell ein Gedicht zu pauken.
*Man liest einen Satz, und sagt diesen auf.
*Man kontrolliert den ersten Satz und liest den zweiten und sagt beides auf
*Man kontrolliert die ersten beiden Sätze, liest den dritten und sagt alles drei auf
Damit fährt man strophenweise fort. Nach jeder Strophe sagt man die kompletten vorherigen Strophen auf.
=== Tipp 6 ===
Wiederholen, wiederholen, wiederholen. Dabei muss man nicht unbedingt alles selbst wiederholen, sondern man kann es auch durch Zuhören, gegenseitiges Abfragen, Lesen etc. wiederholen. Bei Liedtexten kann natürlich der CD- bzw. MP3-Player ungemein beim Lernen helfen.
=== Tipp 7 ===
Wiederholen, wiederholen, wiederholen. Nicht nur in der akuten Lernphase, sondern auch noch einmal nach einer Minute, nach eine Stunde, nach einen Tag, eine Woche und einem Monat, nachdem man zum ersten mal das Gedicht auswendig gelernt hat.
=== Tipp 8 ===
Gedichte auswendig lernen. So banal sich dieses anhört, je mehr man Gedichte, Lieder, Texte, Bibelverse, Poesie-Album-Sprüche u.s.w. auswendig lernt, desto einfacher fällt es einem, Texte auswendig zu lernen.
=== Tipp 9 ===
Sage Gedichte laut auf. Dabei versuche nicht nur darauf zu achten, ob man kein Wort vergessen hat, sondern konzentriere dich darauf, wie sich das Gedicht für einen Zuhörer anhören mag. Gedichte wollen vorgetragen werden. Dabei ist es wichtig, ob das Gedicht spannend, lustig, traurig oder auch eintönig klingen sollte. Versuche es dann auch so zu sprechen, wie du es hören möchtest. Dadurch erhält das Gedicht viel mehr Farbe und ist dadurch auch leichter zu lernen.
*[[A Poem a Day/ 1. September: Der Zauberlehrling (Johann Wolfgang von Goethe:Regieanweisung)|Beispiel: "Der Zauberlehrling"]]
=== Tipp 10 ===
Wer ein Mikrofon und ein Aufzeichnungsgerät (altmodisch: Kassettenrecorder; neumodischer: PC, Laptop, Netbook, Handy), alternativ einen MP3-Player mit integriertem Mikrofon besitzt und sich nicht davor scheut, seine eigene Stimme von einer Aufzeichnung zu hören (sie klingt für einen selber anders, als man sich sowieso sprechen hört), kann auswendig zu lernendes Material einmalig aufzeichnen und die entstehende Aufnahme wiederholt abhören.
Gerade bei längeren Werken kann dies für die eigenen Stimmbänder schonender sein als Tipp 9.
== Wie schreibe ich am besten Gedichte, die mir auch nach Wochen noch gefallen? ==
=== Themenwahl ===
Am besten ist es, wenn man sich nicht dazu zwingen muss, ein Gedicht zu schreiben, weil man denkt: "ich will oder muss jetzt aber!". Ich habe die Erfahrung gemacht, das Gedichte „zu mir kommen“ , was bedeutet, dass ich erst einmal im Kopf mit Gedanken, Worten und Wörtern herumspiele. Manchmal ist es sinnvoll, einzelne von ihnen aufzuschreiben, um sie besser betrachten zu können. Es geht dabei vordergründig um die Aussage, die sie für mich haben und die ich vermitteln will. Diese Intentionen mache ich mir dann zum Thema. Manchmal ist es aber auch eine bestimmte Situation oder Atmosphäre, die ich vermitteln möchte, weil ich sie gerade frisch erlebt habe.
=== Das Gedicht entsteht ===
Als nächstes gibt es eine Art Gedankensammlung, die man schriftlich oder auch nur mit ein paar Stichworten machen kann, wobei Stich-/Schlagworte oft das Weiterdenken anregen.
Nun kann man beginnen, die ersten Verse zu schreiben, zu reimen oder einfach seine Metrik zu finden. Gerade jetzt wird viel Platz auf einem Schmierblatt benötigt. Es ist sinnvoll, Radiergummi und Bleistift griffbereit zu haben, da viele Worte, Versverteilungen und Formulierungen oft nicht auf Anhieb passen. Wenn man mit seinem Ausdruck relativ zufrieden ist, geht es noch mal an die Feinarbeit.
=== Letzter Schliff ===
Der „letzte Schliff“ ist häufig der Arbeitsschritt, der die meiste Zeit in Anspruch nimmt. Man liest Wort für Wort, Vers für Vers, Strophe für Strophe mal laut, mal leise. Man überlegt sich jedes Wort in jedem Vers. verschiebt einen Zeilensprung, tauscht Verse, manchmal ganze Strophen untereinander. Oft schleichen sich „Reim dich oder ich fress dich“- Stellen ein. Man sollte versuchen, diese durch besser klingende Passagen zu ersetzen. Zum Schluss schreibt man das Gedicht noch mal in der Fassung auf, für die man sich entschieden hat. Wenn jetzt beim Schreiben oder beim nochmaligen laut Lesen etwas Störendes auffällt, kann man mit dem Schliff fortfahren – ansonsten kann man es für sein Gemüt noch einmal ins „Reine“ schreiben und auf sein Werk auch ein wenig stolz sein.
Es ist keine Seltenheit, so ordentlich bearbeitete Gedichte schon nach mehrmaligem Vorlesen fast auswendig zu können, was auch recht vorteilhaft sein kann.
----
;Fußnoten
<references />
[[Kategorie:Buch]]
m4drlv59aol99kt09y5lng1xta3ignv
Benutzer:Mjchael/ Spielweise
2
28362
1091088
1090009
2026-09-19T14:32:48Z
Mjchael
2222
/* Akkorde */
1091088
wikitext
text/x-wiki
Hier sind Tests für das Projekt [[Gitarre: Lagerfeuerdiplom]] und den Folgekursen.
Bitte diese Tests nicht löschen, jedoch Tipps wären wünschenswert.
== Akut ==
===Tonarten===
==== Akkordstufen lydisch ====
{| class="wikitable" border="1"
|-style="background:#B9FFC5"
|-
!Tonart ▼
!colspan="3"|Dur-Akkorde
!colspan="3"|Moll-Akkorde
!Dim
|-style="background:#CCCCC; font-weight: bold;"
!Akkord­stufen ▶
|1<br>I
|5<br>V
|2<br>II
|6<br>VI
|3<br>III
|j7<br>VII
|4#<br>IV°
|-style="background:#ffddff"
!Cb lydisch
|Cb (!)
|Gb
|Db
|Abm
|Ebm
|Bbm
|F°
|-style="background:#ff99DD
!Gb lydisch
|Gb
|Db
|Ab
|Ebm
|Bbm
|Fm
|C°
|-style="background:#ff9999"
!Db lydisch
|Db
|Ab
|Eb
|Bbm
|Fm
|Cm
|G°
|-style="background:#ffdd99"
!Ab lydisch
|Ab
|Eb
|Bb
|Fm
|Cm
|Gm
|D°
|-style="background:#ffff99"
!Eb lydisch
|Eb
|Bb
|F
|Cm
|Gm
|Dm
|A°
|-style="background:#ddff99"
!Bb lydisch
|Bb
|F
|C
|Gm
|Dm
|Am
|E°
|-style="background:#99FF99; font-weight: bold;"
!F lydisch
|F
|C
|G
|Dm
|Am
|Em
|B°
|-style="background:#99ffdd"
!C lydisch
|C
|G
|D
|Am
|Em
|Bm
|F#°
|-style="background:#99ffff"
!G lydisch
|G
|D
|A
|Em
|Bm
|F#m
|C#°
|-style="background:#99ddff"
!D lydisch
|D
|A
|E
|Bm
|F#m
|C#m
|G#°
|-style="background:#9999ff"
!A lydisch
|A
|E
|B
|F#m
|C#m
|G#m
|D#°
|-style="background:#dd99ff"
!E lydisch
|E
|B
|F#
|C#m
|G#m
|D#m
|A#°
|-style="background:#ffddff"
!B lydisch
|B
|F#
|C#
|G#m
|D#m
|A#m
|E#° (!)
|
|}
==== Akkordstufen ionisch (entspricht Dur) ====
{| class="wikitable" border="1"
|-style="background:#B9FFC5"
|-
!Tonart ▼
!colspan="3"|Dur-Akkorde
!colspan="3"|Moll-Akkorde
!colspan="2"|Verminderter<br>Akkord
|-style="background:#CCCCC; font-weight: bold;"
!Akkord­stufen ▶
|4<br>IV
|1<br>I
|5<br>V
|2<br>II
|6<br>VI
|3<br>III
|(3⁷)<br>(III⁷)
|j7<br>VII°
|-style="background:#ffddff"
!Gb / Ebm
|Cb (!)
|Gb
|Db<sup>(7)</sup>
|Abm
|Ebm
|Bbm
|(Bb7)
|F°
|-style="background:#ff99DD
!Db / Bbm
|Gb
|Db
|Ab<sup>(7)</sup>
|Ebm
|Bbm
|Fm
|(F7)
|C°
|-style="background:#ff9999"
!Ab / Fm
|Db
|Ab
|Eb<sup>(7)</sup>
|Bbm
|Fm
|Cm
|(C7)
|G°
|-style="background:#ffdd99"
!Eb / Cm
|Ab
|Eb
|Bb<sup>(7)</sup>
|Fm
|Cm
|Gm
|(G7)
|D°
|-style="background:#ffff99"
!Bb / Gm
|Eb
|Bb
|F<sup>(7)</sup>
|Cm
|Gm
|Dm
|(D7)
|A°
|-style="background:#ddff99"
!F / Dm
|Bb
|F
|C<sup>(7)</sup>
|Gm
|Dm
|Am
|(A7)
|E°
|-style="background:#99FF99; font-weight: bold;"
!C / Am
|F
|C
|G<sup>(7)</sup>
|Dm
|Am
|Em
|(E7)
|B°
|-style="background:#99ffdd"
!G / Em
|C
|G
|D<sup>(7)</sup>
|Am
|Em
|Bm
|(H7)
|F#°
|-style="background:#99ffff"
!D / Bm
|G
|D
|A<sup>(7)</sup>
|Em
|Bm
|F#m
|(F#7)
|C#°
|-style="background:#99ddff"
!A / F#m
|D
|A
|E<sup>(7)</sup>
|Bm
|F#m
|C#m
|(C#7)
|G#°
|-style="background:#9999ff"
!E / C#m
|A
|E
|B<sup>(7)</sup>
|F#m
|C#m
|G#m
|(G#7)
|D#°
|-style="background:#dd99ff"
!B / G#m
|E
|B
|F#<sup>(7)</sup>
|C#m
|G#m
|D#m
|(D#7)
|A#°
|-style="background:#ffddff"
!F# / D#m
|B
|F#
|C#<sup>(7)</sup>
|G#m
|D#m
|A#m
|(A#7)
|E#° (!)
|
|}
==== Akkordstufen mixolydisch ====
{| class="wikitable" border="1"
|-style="background:#B9FFC5"
|-
!Tonart ▼
!colspan="3"|Dur-Akkorde
!colspan="3"|Moll-Akkorde
!Dim
|-style="background:#CCCCC; font-weight: bold;"
!Akkord­stufen ▶
|7<br>VIIb
|4<br>IV
|'''1<br>I'''
|5<br>V
|2<br>II
|6<br>VI
|3<br>III
|-style="background:#ffddff"
!Db mixolydisch
|Cb (!)
|Gb
|'''Db'''
|Abm
|Ebm
|Bbm
|F°
|-style="background:#ff99DD
!Ab mixolydisch
|Gb
|Db
|'''Ab'''
|Ebm
|Bbm
|Fm
|C°
|-style="background:#ff9999"
!Eb mixolydisch
|Db
|Ab
|'''Eb'''
|Bbm
|Fm
|Cm
|G°
|-style="background:#ffdd99"
!Bb mixolydisch
|Ab
|Eb
|'''Bb'''
|Fm
|Cm
|Gm
|D°
|-style="background:#ffff99"
!F mixolydisch
|Eb
|Bb
|'''F'''
|Cm
|Gm
|Dm
|A°
|-style="background:#ddff99"
!C mixolydisch
|Bb
|F
|'''C'''
|Gm
|Dm
|Am
|E°
|-style="background:#99FF99; font-weight: bold;"
!G mixolydisch
|F
|C
|'''G'''
|Dm
|Am
|Em
|B°
|-style="background:#99ffdd"
!D mixolydisch
|C
|G
|'''D'''
|Am
|Em
|Bm
|F#°
|-style="background:#99ffff"
!A mixolydisch
|G
|D
|'''A'''
|Em
|Bm
|F#m
|C#°
|-style="background:#99ddff"
!E mixolydisch
|D
|A
|'''E'''
|Bm
|F#m
|C#m
|G#°
|-style="background:#9999ff"
!B mixolydisch
|A
|E
|'''B'''
|F#m
|C#m
|G#m
|D#°
|-style="background:#dd99ff"
!F# mixolydisch
|E
|B
|'''F#'''
|C#m
|G#m
|D#m
|A#°
|-style="background:#ffddff"
!C# mixolydisch
|B
|F#
|'''C#'''
|G#m
|D#m
|A#m
|E#° (!)
|}
==== Akkordstufen dorisch ====
{| class="wikitable" border="1"
|-style="background:#B9FFC5"
|-
!Tonart ▼
!colspan="3"|Dur-Akkorde
!colspan="3"|Moll-Akkorde
!Dim
|-style="background:#CCCCC; font-weight: bold;"
!Akkord­stufen ▶
|3<br>IIIb
|7<br>VIIb
|4<br>IV
|1<br>I
|5<br>V
|2<br>II
|6<br>VI
|-style="background:#ffddff"
!Cb lydisch
|Cb (!)
|Gb
|Db
|Abm
|Ebm
|Bbm
|F°
|-style="background:#ff99DD
!Gb lydisch
|Gb
|Db
|Ab
|Ebm
|Bbm
|Fm
|C°
|-style="background:#ff9999"
!Db lydisch
|Db
|Ab
|Eb
|Bbm
|Fm
|Cm
|G°
|-style="background:#ffdd99"
!Ab lydisch
|Ab
|Eb
|Bb
|Fm
|Cm
|Gm
|D°
|-style="background:#ffff99"
!Eb lydisch
|Eb
|Bb
|F
|Cm
|Gm
|Dm
|A°
|-style="background:#ddff99"
!Bb lydisch
|Bb
|F
|C
|Gm
|Dm
|Am
|E°
|-style="background:#99FF99; font-weight: bold;"
!F lydisch
|F
|C
|G
|Dm
|Am
|Em
|B°
|-style="background:#99ffdd"
!C lydisch
|C
|G
|D
|Am
|Em
|Bm
|F#°
|-style="background:#99ffff"
!G lydisch
|G
|D
|A
|Em
|Bm
|F#m
|C#°
|-style="background:#99ddff"
!D lydisch
|D
|A
|E
|Bm
|F#m
|C#m
|G#°
|-style="background:#9999ff"
!A lydisch
|A
|E
|B
|F#m
|C#m
|G#m
|D#°
|-style="background:#dd99ff"
!E lydisch
|E
|B
|F#
|C#m
|G#m
|D#m
|A#°
|-style="background:#ffddff"
!B lydisch
|B
|F#
|C#
|G#m
|D#m
|A#m
|E#° (!)
|
|}
=== Grundtöne der A-Formen ===
<score>
<<
\cadenzaOn
\new Staff {
\clef "treble_8"
\time 7/4
\once \override Staff.TimeSignature #'stencil = ##f
\omit Stem
<a, a>4 <bes, bes> <b, b> <c c'>
<d d'> <e e'>
<f f'> <g g'>
<a a'> <b b'>
<c' c''> \bar "|"
}\addlyrics { A Bb B C D E F G A B C }
\new TabStaff {
\override Stem #'transparent = ##t
\override Beam #'transparent = ##t
{
<a,\5 a\3>4 <bes,\5 bes\3>4 <b,\5 b\3>4 <c\5 c'\3>
<d\5 d'\3> <e\5 e'\3>
<f\5 f'\3> <g\5 g'\3>
<a\5 a'\3> <b\5 b'\3>
<c'\5 c''\3>
\bar "|"
}
}
>>
</score>
=== Grundtöne der E-Formen ===
<score>
<<
\cadenzaOn
\new Staff {
\clef "treble_8"
\time 4/4
\once \override Staff.TimeSignature #'stencil = ##f
\omit Stem
<e, e e'>4
<f, f f'>
<g, g g'>
<a, a a'>
<b, b b'>
<c c' c''>
<d d' d''>
<e e' e''>
\bar "|"
}\addlyrics { E F G A B C D E }
\new TabStaff {
\override Stem #'transparent = ##t
\override Beam #'transparent = ##t
{
<e,\6 e\4 e'\1>4
<f,\6 f\4 f'\1>
<g,\6 g\4 g'\1>
<a,\6 a\4 a'\1>
<b,\6 b\4 b'\1>
<c\6 c'\4 c''\1>
<d\6 d'\4 d''\1>
<e\6 e'\4 e''\1>
\bar "|"
}
}
>>
</score>
=== She Moved Through The Fair ===
<score sound="1" raw="1">
\header {
title = "She Moved Through The Fair"
% subtitle = " ... "
% piece = " ... "
composer = "trad. Irish-Folk"
% source = "using different sources"
arranger = "Arr.: Mjchael"
copyright = "ccbysa de.wikibooks.org/wiki/Gitarre"
% footer = " ... "
}
myChords = { \chordmode { \set chordChanges = ##t
\partial 4 a4 |
\repeat volta 3 {
g1 | a | g | a |
g1 | a | g | a |
g1 | a | g | a |
g1 | a | g | a |
} } }
myDiskant = { % here don't use \relative c'
\set Staff.midiInstrument = "acoustic guitar (nylon)"
\stemUp
\partial 4 b8 cis' |
\repeat volta 3 {
d'8 g d cis' g, g d' g |
e'8 a e e' a, a cis' b |
g d b, a d b, b g |
a e a, a e a' e' fis'|
g'4. a' e'4 |
fis'8 e'4 e'4. e'4
d'4. cis' d'4 |
e'4. e' e'8 fis'
g'4. a' e'4 |
fis'8 e'4 e'4. e'4
d'4. cis' d'4 |
e'4. e' b8 cis'
d'4. cis' d'4 |
e'4. e' cis'8 b
g4. a b4 |
a4. a b8 cis'
}
}
%% like: "let ring" in Powertab
myMelody = \relative c' {
\set Staff.midiInstrument = "acoustic guitar (nylon)"
\stemUp
\partial 4 b8 cis |
\repeat volta 3 {
d4. cis d4 | e4. e cis8 b
g4. a b4 | a4. a e'8 fis
g4. a e4 | fis8 e4 e4. e4
d4. cis d4 | e4. e e8 fis
g4. a e4 | fis8 e4 e4. e4
d4. cis d4 | e4. e b8 cis
d4. cis d4 | e4. e cis8 b
g4. a b4 | a4. a b8 cis
}
}
myBass = {
% \override NoteHead #'color = #blue
{
\partial 4 r4 |
\repeat volta 3 {
g,4 d g, d | a, e a, e
g,4 d g, d | a, e a, e
g,4 d g, d | a, e a, e
g,4 d g, d | a, e a, e
g,4 d g, d | a, e a, e
g,4 d g, d | a, e a, e
g,4 d g, d | a, e a, e
g,4 d g, d | a, e a, e
}
} }
myGuitar = << \myDiskant \\ \myBass >>
\score {
<<
\new ChordNames { \myChords }
\new Voice {
\clef "treble_8" \time 4/4
\tempo 4 = 100 \key d \major
\set Score.tempoHideNote = ##t
\myGuitar
}
\new TabStaff { \myGuitar }
>>
\layout { }
}
\score {
<<
% \new ChordNames { \myChords }
\new Voice {
\clef "treble_8" \time 4/4
\tempo 4 = 100 \key d \major
\unfoldRepeats <<
\myGuitar \\ \myMelody
>>
}
>>
\midi { }
}
\paper {
indent=0\mm
line-width=120\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
=== Die Moritat von Mackie Messer ===
<score sound="1" raw="1">
\header {
title = "Die Moritat von Mackie Messer"
% subtitle = " ... "
% piece = " ... "
poet = "Bertolt Brecht (*1898 - †1956)"
composer = "Kurt Julian Weill (*1900 - †1950)"
% source = "using different sources"
arranger = "Arr.: Mjchael"
copyright = "ccbysa de.wikibooks.org/wiki/Gitarre"
% footer = " ... "
}
myChords = { \chordmode
{
\set chordChanges = ##t
\partial 2 g2:7 |
\repeat volta 3 {
c1 c1 | d:m7 d:m7 |
g:7 g: | c c |
a1:m a:m | d:m7 d:m7|
g:7 g:7 | c c |
}
}
}
myDiskant = { % here don't use \relative c'
\set Staff.midiInstrument = "acoustic guitar (nylon)"
\stemUp
\partial 2 e4. g8 |
\repeat volta 3 {
}
}
%% like: "let ring" in Powertab
myMelody = \relative c' {
\set Staff.midiInstrument = "acoustic guitar (nylon)"
\stemUp
}
myBass = {
% \override NoteHead #'color = #blue
{
}
}
myGuitar = << \myDiskant \\ \myBass >>
\score {
<<
\new ChordNames { \myChords }
\new Voice {
\clef "treble_8" \time 4/4
\tempo 4 = 140 \key c \major
\set Score.tempoHideNote = ##t
\myGuitar
}
\new TabStaff { \myGuitar }
>>
\layout { }
}
\score {
<<
% \new ChordNames { \myChords }
\new Voice {
\clef "treble_8" \time 4/4
\tempo 4 = 140 \key c \major
\unfoldRepeats <<
\myGuitar \\ \myMelody
>>
}
>>
\midi { }
}
\paper {
indent=0\mm
line-width=120\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
===Dixie's Land===
<score lang="ABC" sound="1">
X:1
M:2/4
L:1/8
Q:100
K:C
z2 zG/2-E/2|: CCC/2-D/2 E/2F/2| GG GE|
w: I wish I was in the land of cot-ton,
AA A3/2 G/2| A3/2 G/2A/2 B/2c/2 d/2|
w: Old times there are not for-got-ten.
e3 c/2G/2 | c3 G/2E/2 G3 D/2E/2 |1 | C2 z G/2-E/2 |2 C2 z (3G/2A/2B/2 :| |
w: Look_ away, look_ away, look_ away. Di-xie | Land! I | Land! I__ |
ce d>c| A c2 A| d3 A| d3 (3G/2A/2B/2 |
w: wish I was in Di-xie, Hoo-ray! Hoo-ray! In__ |
ce d>c | AB c>A | GGcG | EDCE
w: Di-xie's Land I'll | take my stand to | live and die in Di-xie_ A-
|: C3 E | D3 A | G E e>c |1 | dc2 A |2 dc2 z :| |]
w: way A-| way a-|way down south in | Di-xie! A- | Di-xie!
</score>
===Akkorde===
<score>
<<
\chords {d2 d d s fis fis fis s c c c}
\context Voice = "mel" {
% simple D chord
d'2 ^\markup \fret-diagram-verbose #'((mute 6) (mute 5) (open 4) (place-fret 3 2) (place-fret 2 3) (place-fret 1 2))
d' ^\markup \fret-diagram "6-x;5-x;4-o;3-2;2-3;1-2;"
d' ^\markup \fret-diagram-terse "x;x;o;2;3;2;"
r
% fis major chord, 3/4 size, fingering labeled below string
fis' ^\markup \override #'(size . 0.75) {\override #'(finger-code . below-string){\fret-diagram-verbose #'((place-fret 6 2 1) (barre 6 1 2) (place-fret 5 4 3) (place-fret 4 4 4) (place-fret 3 3 2) (place-fret 2 2 1) (place-fret 1 2 1))}}
fis' ^\markup \override #'(finger-code . below-string) {\fret-diagram "s:0.75;c:6-1-2;6-2-1;5-4-3;4-4-4;3-3-2;2-2-1;1-2-1;"}
fis' ^\markup \override #'(size . 0.75) {\override #'(finger-code . below-string){\fret-diagram-terse "2-1-(;4-3;4-4;3-2;2-1;2-1-);"}}
r
% c major barre chord, fingering labeled on frets
c' ^\markup \override #'(dot-color . white) {
\override #'(finger-code . in-dot)
\fret-diagram-verbose #'((mute 6) (place-fret 5 3 1) (place-fret 4 5 2) (place-fret 3 5 3) (place-fret 2 5 4) (place-fret 1 3 1) (barre 5 1 3)) }
c' ^\markup \override #'(barre-type . straight) \fret-diagram "f:1;c:5-1-3;6-x;5-3-1;4-5-2;3-5-3;2-5-4;1-3-1;"
c' ^\markup \override #'(dot-radius . 0.35) {
\override #'(finger-code . in-dot) {
\override #'(dot-color . white) {
\fret-diagram-terse "x;3-1-(;5-2;5-3;5-4;3-1-);"}}}
r
% c major scale using open strings
c' ^\markup \fret-diagram-verbose #'((mute 6) (place-fret 5 3) (open 4) (place-fret 4 2) (place-fret 4 3) (open 3) (place-fret 3 2) (open 2) (place-fret 2 1) (mute 1))
c' ^\markup \fret-diagram #'"6-x;5-3;4-o;4-2;4-3;3-o;3-2;2-o;2-1;1-x;"
c' ^\markup \fret-diagram-terse #'"x;3;2 3;o 2;o 1;x;"
% c major scale using no open strings
c' ^\markup \fret-diagram-verbose #'((mute 6) (place-fret 5 3) (place-fret 5 5) (place-fret 4 2) (place-fret 4 3 red) (place-fret 4 5) (place-fret 3 2) (place-fret 3 4) (place-fret 3 5) (mute 2) (mute 1))
c' ^\markup \fret-diagram #'"6-x;5-3;5-5;4-2;4-3;4-5;3-2;3-4;3-5;2-x;1-x;"
c' ^\markup \fret-diagram-terse #'"x;3 5;2 3 5;2 4 5;x;x;"
% g major scale, no open strings, two octaves on six strings, white dots
g' ^\markup \override #'(dot-color . white) {\fret-diagram-terse #'"3 5;2 3 5;2 4 5;2 4 5;3 5;2 3;" }
r r r}
>>
</score>
=== Bm7-Form ===
<score>
<<
\new ChordNames {
\chordmode {
% \set chordChanges = ##t
b1:m7 b:m7 c:m7 c:m7
}
}
\new FretBoards {
\override FretBoards.FretBoard.size = #'1.5
\override FretBoard.fret-diagram-details.finger-code = #'in-dot
\override FretBoard.fret-diagram-details.dot-color = #'white
\override FretBoard.fret-diagram-details.orientation =
#'landscape
< b,-1 d a-2 b >1 % Bm
< b,-1 d a-2 d'-3 >1 % Bm
< c-3 es-1 bes-4 c'-1 >1 % Cm7
< c-2 es-1 bes-3 es'-4 >1 % Cm7
}>>
</score>
===Schneeflöckchen, Weißröckchen===
<pre>
Schneeflöckchen, Weißröckchen
A E E A
Schneeflöckchen, Weißröckchen, wann kommst du geschneit;
A D E A
Du wohnst in den Wolken, dein Weg ist so weit.
A E E A
Komm, setz dich ans Fenster, du lieblicher Stern;
A D E A
Malst Blumen und Blätter, wir haben dich gern.
A E E A
Schneeflöckchen, du deckst uns die Blümelein zu,
A D E A
Dann schlafen sie sicher in himmlischer Ruh'.
A E E A
Schneeflöckchen, Weißröckchen, komm zu uns ins Tal;
A D E A
dann baun wir den Schneemann und werfen den Ball.
<\pre>
==Test: Todoliste==
<nowiki>* {{todolink|Mjchael}}</nowiki> ergibt
* {{todolink|Mjchael}}
<nowiki>* {{todolink|Mjchael|Link zu meiner Todoliste}}</nowiki> ergibt
* {{todolink|Mjchael|Link zu meiner Todoliste}}
== Anleitung, um eine Navigationsleiste zu erstellen ==
===Erstelle einen Rahmen für die Navigation===
*Erstelle eine Seite
*<nowiki>[[MeinBuch/ Navi]]</nowiki>
*Kopiere folgenden Code in das Buch hinein
<pre style="white-space:normal;">
<div class="noprint" style="background-color: {{{bg|LemonChiffon}}}; -moz-border-radius:15px; border: 2px solid {{{border|sienna}}}; padding: 5px; clear: both;">[[Bild:{{{img|Book icoline.svg}}}|right|{{{px|80}}}px]]
{{rot|'''{{{index|Navigation}}}|{{{color|saddlebrown}}}}}: ''' [[MeinBuch:_Inhalt|Inhalt]] | [[MeinBuch: {{{1}}}|{{{1}}}]][[Kategorie:{{{Kategorie|{{{1}}}}}}|{{{Kategorietitel|!}}}]]<br />{{{2}}}{{#if: {{{3|}}}| <br />{{{3}}}|}}{{#if: {{{4|}}}| <br />{{{4}}}|}}{{#if: {{{5|}}}| <br />{{{5}}}|}}{{#if: {{{6|}}}| <br />{{{6}}}|}}{{#if: {{{7|}}}| <br />{{{7}}}|}}{{#if: {{{8|}}}| <br />{{{8}}}|}}{{#if: {{{9|}}}| <br />{{{9}}}|}}
</div>
</pre>
* tausche im Quelltext "MeinBuch" durch deinen Buchtitel aus. (2x!)
* tausche, je nach dem, wie du dein Buch gliederst, gegebenenfalls im Quelltext den Doppelpunkt nach "MeinBuch" einen Back-Slash ('''\''') aus (2x!)
* tausche im Quelltext "Book icoline.svg" durch dein Buchlogo aus.
* passe die Farben "LemonChiffon", "sienna", "saddlebrown" deinem Geschmack an
* tausche den Eintrag [[MeinBuch:_Inhalt|Inhalt]] durch den Link zu der Startseite oder der Inhaltsangabe deines Buches aus.
== H7 C7 C9 ==
<score>
<<
\new ChordNames { \chordmode {
b1:7 c:7 c:9 c:9
}}
\new FretBoards {
\override FretBoards.FretBoard.size = #'1.5
\override FretBoard.fret-diagram-details.finger-code = #'in-dot
\override FretBoard.fret-diagram-details.dot-color = #'white
\override FretBoard.fret-diagram-details.orientation =
#'landscape
< b,-2 dis-1 a-3 b fis'-4 > % B7
< c-3 e-2 bes-4 c'-1 e' > % C7
< c-2 e-1 bes-3 d'-4 > % C9
< c-2 e-1 bes-3 d'-4 g'-4 > % 99
}
>>
</score>
== Farbige Akkorde ==
<score>
<<
\new ChordNames {
\chordmode {
f1 g c c b
}
}
\new Staff {
\clef "treble_8"
\override Voice.TextScript.size = 1.2
\override Voice.TextScript
.fret-diagram-details.finger-code = #'below-string
<f, c f a c' f'>1^\markup {
\fret-diagram-verbose #'(
(place-fret 6 1)
(place-fret 5 3)
(place-fret 4 3)
(place-fret 3 2)
(place-fret 2 1)
(place-fret 1 1)
(barre 6 1 1)
)
}
<g, b, d g b g'>1^\markup {
\fret-diagram-verbose #'(
(place-fret 6 3 2)
(place-fret 5 2 1)
(open 4 inverted)
(open 3)
(open 2)
(place-fret 1 3 "#5")
)
}
<c g c' e' g'>1^\markup {
\fret-diagram-verbose #'(
(mute 6)
(place-fret 4 5 1)
(place-fret 3 5 2)
(place-fret 2 5 3)
)
}
<c g c' e' g'>1^\markup {
\fret-diagram-verbose #'(
(place-fret 6 3 1 red parenthesized default-paren-color)
(place-fret 5 3 1 inverted)
(place-fret 4 5 2 blue parenthesized)
(place-fret 3 5 3 blue)
(place-fret 2 5 4 blue)
(place-fret 1 3 1 inverted)
)
}
<b, fis b dis' fis'>1^\markup
\override #'(fret-diagram-details . ((finger-code . in-dot)))
\fret-diagram-verbose #`(
(place-fret 5 2 1)
(place-fret 4 4 "fis" red)
(place-fret 3 4 "b" red)
(place-fret
2 4
,#{ \markup
\concat {
\vcenter "d"
\fontsize #-5
\musicglyph "accidentals.sharp"} #}
red)
(place-fret 1 2 1)
)
}
>>
</score>
<score>
<<
<b, fis b dis' fis'>1^\markup {
\override #'(fret-diagram-details . ((finger-code . below-string) (dot-radius . 0.3) (string-label-font-mag . 0.3)))
\override #'(size . 2) \center-column { "G/B" \fret-diagram-verbose #'( (mute 6) (place-fret 5 2 "M3") (place-fret 4 0 "P5" white) (place-fret 3 0 "R" white) (place-fret 2 0 "P5" white) (place-fret 1 3 "R" red)) } \hspace #3 \override #'(fret-diagram-details . ((finger-code . below-string) (dot-radius . 0.3) (string-label-font-mag . 0.3))) \override #'(size . 2) \center-column { "C/B♭" \fret-diagram-verbose #'( (mute 6) (place-fret 5 1 "m7") (place-fret 4 2 "M3") (place-fret 3 0 "P5" white) (place-fret 2 1 "R" red) (place-fret 1 0 "M3" white)) } }
>>
</score>
== Skalen ==
=== Quintverwandtschaft ===
<score raw="1">
\version "2.14.2"
\markup {
\override #'(size . 2.0) {
\override #'(fret-diagram-details . (
(orientation . #'landscape )
(finger-code . #'in-dot )
(dot-color . #'black)
(dot-radius . 0.3)
(dot-position . 0.5)
(top-fret-thickness . 5)
(fret-count . 13)
(number-type . roman-upper)
))
\fret-diagram-verbose #'(
(place-fret 1 0 "E" darkorange1 )
(place-fret 1 1 "F" turquoise )
(place-fret 1 2 red )
(place-fret 1 3 "G" yellowgreen )
(place-fret 1 4 purple )
(place-fret 1 5 "A" goldenrod1 )
(place-fret 1 6 cyan )
(place-fret 1 7 "B" orangered )
(place-fret 1 8 "C" seagreen )
(place-fret 1 9 magenta )
(place-fret 1 10 "D" yellow3 )
(place-fret 1 11 blue )
(place-fret 1 12 "E" darkorange1 )
(place-fret 2 0 "B" orangered )
(place-fret 2 1 "C" seagreen )
(place-fret 2 2 magenta )
(place-fret 2 3 "D" yellow3 )
(place-fret 2 4 blue )
(place-fret 2 5 "E" darkorange1 )
(place-fret 2 6 "F" turquoise )
(place-fret 2 7 red )
(place-fret 2 8 "G" yellowgreen )
(place-fret 2 9 purple )
(place-fret 2 10 "A" goldenrod1 )
(place-fret 2 11 cyan )
(place-fret 2 12 "B" orangered )
(place-fret 3 0 "G" yellowgreen )
(place-fret 3 1 purple )
(place-fret 3 2 "A" goldenrod1 )
(place-fret 3 3 cyan )
(place-fret 3 4 "B"orangered )
(place-fret 3 5 "C" seagreen )
(place-fret 3 6 magenta )
(place-fret 3 7 "D" yellow3 )
(place-fret 3 8 blue )
(place-fret 3 9 "E" darkorange1 )
(place-fret 3 10 "F" turquoise )
(place-fret 3 11 red )
(place-fret 3 12 "G" yellowgreen )
(place-fret 4 0 "D" yellow3 )
(place-fret 4 1 blue )
(place-fret 4 2 "E" darkorange1 )
(place-fret 4 3 "F" turquoise )
(place-fret 4 4 red )
(place-fret 4 5 "G" yellowgreen )
(place-fret 4 6 purple )
(place-fret 4 7 "A" goldenrod1 )
(place-fret 4 8 cyan )
(place-fret 4 9 "B" orangered )
(place-fret 4 10 "C" seagreen )
(place-fret 4 11 magenta )
(place-fret 4 12 "D" yellow3 )
(place-fret 5 0 "A" goldenrod1 )
(place-fret 5 1 cyan )
(place-fret 5 2 "B" orangered )
(place-fret 5 3 "C" seagreen )
(place-fret 5 4 magenta )
(place-fret 5 5 "D" yellow3 )
(place-fret 5 6 blue )
(place-fret 5 7 "E" darkorange1 )
(place-fret 5 8 "F" turquoise )
(place-fret 5 9 red )
(place-fret 5 10 "G" yellowgreen )
(place-fret 5 11 purple )
(place-fret 5 12 "A" goldenrod1 )
(place-fret 6 0 "E" darkorange1 )
(place-fret 6 1 "F" turquoise )
(place-fret 6 2 red )
(place-fret 6 3 "G" yellowgreen )
(place-fret 6 4 purple )
(place-fret 6 5 "A" goldenrod1 )
(place-fret 6 6 cyan )
(place-fret 6 7 "B" orangered )
(place-fret 6 8 "C" seagreen )
(place-fret 6 9 magenta )
(place-fret 6 10 "D" yellow3 )
(place-fret 6 11 blue)
(place-fret 6 12 "E" darkorange1 )
)
}}
\paper{
indent=0\mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
bookTitleMarkup = ##f
scoreTitleMarkup = ##f}
</score>
</div>
<score raw="1">
\version "2.14.2"
\markup {
\override #'(size . 2.0) {
\override #'(fret-diagram-details . (
(orientation . #'landscape )
(finger-code . #'in-dot )
(dot-color . #'black)
(dot-radius . 0.3)
(dot-position . 0.5)
(top-fret-thickness . 5)
(fret-count . 13)
(number-type . roman-upper)
))
\fret-diagram-verbose #'(
(place-fret 1 0 "E" darkorange1 )
(place-fret 1 1 "F" turquoise )
(place-fret 1 2 )
(place-fret 1 3 "G" yellowgreen )
(place-fret 1 4 )
(place-fret 1 5 "A" goldenrod1 )
(place-fret 1 6 )
(place-fret 1 7 "B" orangered )
(place-fret 1 8 "C" seagreen )
(place-fret 1 9 )
(place-fret 1 10 "D" yellow3 )
(place-fret 1 11 )
(place-fret 1 12 "E" darkorange1 )
(place-fret 2 0 "B" orangered )
(place-fret 2 1 "C" seagreen )
(place-fret 2 2 )
(place-fret 2 3 "D" yellow3 )
(place-fret 2 4 )
(place-fret 2 5 "E" darkorange1 )
(place-fret 2 6 "F" turquoise )
(place-fret 2 7 )
(place-fret 2 8 "G" yellowgreen )
(place-fret 2 9 )
(place-fret 2 10 "A" goldenrod1 )
(place-fret 2 11 )
(place-fret 2 12 "B" orangered )
(place-fret 3 0 "G" yellowgreen )
(place-fret 3 1 )
(place-fret 3 2 "A" goldenrod1 )
(place-fret 3 3 )
(place-fret 3 4 "B"orangered )
(place-fret 3 5 "C" seagreen )
(place-fret 3 6 )
(place-fret 3 7 "D" yellow3 )
(place-fret 3 8 )
(place-fret 3 9 "E" darkorange1 )
(place-fret 3 10 "F" turquoise )
(place-fret 3 11 )
(place-fret 3 12 "G" yellowgreen )
(place-fret 4 0 "D" yellow3 )
(place-fret 4 1 )
(place-fret 4 2 "E" darkorange1 )
(place-fret 4 3 "F" turquoise )
(place-fret 4 4 )
(place-fret 4 5 "G" yellowgreen )
(place-fret 4 6 )
(place-fret 4 7 "A" goldenrod1 )
(place-fret 4 8 )
(place-fret 4 9 "B" orangered )
(place-fret 4 10 "C" seagreen )
(place-fret 4 11 )
(place-fret 4 12 "D" yellow3 )
(place-fret 5 0 "A" goldenrod1 )
(place-fret 5 1 )
(place-fret 5 2 "B" orangered )
(place-fret 5 3 "C" seagreen )
(place-fret 5 4 )
(place-fret 5 5 "D" yellow3 )
(place-fret 5 6 )
(place-fret 5 7 "E" darkorange1 )
(place-fret 5 8 "F" turquoise )
(place-fret 5 9 )
(place-fret 5 10 "G" yellowgreen )
(place-fret 5 11 )
(place-fret 5 12 "A" goldenrod1 )
(place-fret 6 0 "E" darkorange1 )
(place-fret 6 1 "F" turquoise )
(place-fret 6 2 )
(place-fret 6 3 "G" yellowgreen )
(place-fret 6 4 )
(place-fret 6 5 "A" goldenrod1 )
(place-fret 6 6 )
(place-fret 6 7 "B" orangered )
(place-fret 6 8 "C" seagreen )
(place-fret 6 9 )
(place-fret 6 10 "D" yellow3 )
(place-fret 6 11)
(place-fret 6 12 "E" darkorange1 )
)
}}
\paper{
indent=0\mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
bookTitleMarkup = ##f
scoreTitleMarkup = ##f}
</score>
===Test===
<score raw="1">
\version "2.14.2"
\markup {
\override #'(size . 2.0) {
\override #'(fret-diagram-details . (
(orientation . #'landscape )
(finger-code . #'in-dot )
(dot-color . #'black)
(dot-radius . 0.4)
(dot-position . 0.5)
(top-fret-thickness . 5)
(fret-count . 13)
(number-type . roman-upper)
))
\fret-diagram-verbose #'(
(place-fret 1 0 "E" )
(place-fret 1 1 "F" red3 )
(place-fret 1 2 "Gb" )
(place-fret 1 3 "G" darkorange1 )
(place-fret 1 4 "Ab")
(place-fret 1 5 "A" yellow3 )
(place-fret 1 6 "Bb")
(place-fret 1 7 "B" seagreen )
(place-fret 1 8 "C" )
(place-fret 1 9 "Db" blue3 )
(place-fret 1 10 "D" )
(place-fret 1 11 "Eb" darkviolet )
(place-fret 1 12 "E" )
(place-fret 2 0 "B" )
(place-fret 2 1 "C" red3 )
(place-fret 2 2 "Db")
(place-fret 2 3 "D" darkorange1 )
(place-fret 2 4 "Eb" )
(place-fret 2 5 "E" yellow3 )
(place-fret 2 6 "F" )
(place-fret 2 7 "F#" seagreen )
(place-fret 2 8 "G" )
(place-fret 2 9 "Ab" blue3 )
(place-fret 2 10 "A" )
(place-fret 2 11 "Bb" darkviolet )
(place-fret 2 12 "B" )
(place-fret 3 0 "G" red3 )
(place-fret 3 1 "Ab" )
(place-fret 3 2 "A" darkorange1 )
(place-fret 3 3 "Bb" )
(place-fret 3 4 "B"yellow3 )
(place-fret 3 5 "C" )
(place-fret 3 6 "C#" seagreen )
(place-fret 3 7 "D" )
(place-fret 3 8 "Eb" blue3 )
(place-fret 3 9 "E" )
(place-fret 3 10 "F" darkviolet )
(place-fret 3 11 "Gb" )
(place-fret 3 12 "G" deeppink2 )
(place-fret 4 0 "D" red3 )
(place-fret 4 1 "Eb" )
(place-fret 4 2 "E" darkorange1 )
(place-fret 4 3 "F" )
(place-fret 4 4 "F#" yellow3 )
(place-fret 4 5 "G" )
(place-fret 4 6 "G#" seagreen )
(place-fret 4 7 "A" )
(place-fret 4 8 "Bb"blue3 )
(place-fret 4 9 "B" )
(place-fret 4 10 "C" darkviolet )
(place-fret 4 11 "Db" )
(place-fret 4 12 "D" deeppink2 )
(place-fret 5 0 "A" red3 )
(place-fret 5 1 "Bb" )
(place-fret 5 2 "B" darkorange1 )
(place-fret 5 3 "C" )
(place-fret 5 4 "C#" yellow3 )
(place-fret 5 5 "D" )
(place-fret 5 6 "D#" seagreen )
(place-fret 5 7 "E" )
(place-fret 5 8 "F" blue3 )
(place-fret 5 9 "F#")
(place-fret 5 10 "G" darkviolet )
(place-fret 5 11 "Ab" )
(place-fret 5 12 "A" deeppink2 )
(place-fret 6 0 "E" red3 )
(place-fret 6 1 "F" )
(place-fret 6 2 "F#" darkorange1 )
(place-fret 6 3 "G" )
(place-fret 6 4 "G#" yellow3 )
(place-fret 6 5 "A" )
(place-fret 6 6 "A#" seagreen )
(place-fret 6 7 "B" )
(place-fret 6 8 "C" blue3 )
(place-fret 6 9 "C#" )
(place-fret 6 10 "D" darkviolet )
(place-fret 6 11 "Eb" )
(place-fret 6 12 "E" deeppink2 )
)
}}
\paper{
indent=0\mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
bookTitleMarkup = ##f
scoreTitleMarkup = ##f}
</score>
====Posten====
<score raw="1">
\version "2.14.2"
\markup {
\override #'(size . 3.0) {
\override #'(fret-diagram-details . (
(orientation . #'landscape )
(finger-code . #'in-dot )
(dot-color . #'black)
(dot-radius . 0.4)
(dot-position . 0.5)
(top-fret-thickness . 5)
(fret-count . 7)
(number-type . roman-upper)
))
\fret-diagram-verbose #'(
(place-fret 1 0 "E" )
(place-fret 1 1 "F" red3 )
(place-fret 1 2 "Gb" )
(place-fret 1 3 "G" darkorange1 )
(place-fret 1 4 "Ab")
(place-fret 1 5 "A" yellow3 )
(place-fret 1 6 "Bb")
(place-fret 1 7 "B" seagreen )
(place-fret 2 0 "B" )
(place-fret 2 1 "C" red3 )
(place-fret 2 2 "Db")
(place-fret 2 3 "D" darkorange1 )
(place-fret 2 4 "Eb" )
(place-fret 2 5 "E" yellow3 )
(place-fret 2 6 "F" )
(place-fret 2 7 "G#" seagreen )
(place-fret 3 0 "G" red3 )
(place-fret 3 1 "Ab" )
(place-fret 3 2 "A" darkorange1 )
(place-fret 3 3 "Bb" )
(place-fret 3 4 "B"yellow3 )
(place-fret 3 5 "C" )
(place-fret 3 6 "C#" seagreen )
(place-fret 3 7 "D" )
(place-fret 4 0 "D" red3 )
(place-fret 4 1 "Eb" )
(place-fret 4 2 "E" darkorange1 )
(place-fret 4 3 "F" )
(place-fret 4 4 "F#" yellow3 )
(place-fret 4 5 "G" )
(place-fret 4 6 "G#" seagreen )
(place-fret 4 7 "A" )
(place-fret 5 0 "A" red3 )
(place-fret 5 1 "Bb" )
(place-fret 5 2 "B" darkorange1 )
(place-fret 5 3 "C" )
(place-fret 5 4 "C#" yellow3 )
(place-fret 5 5 "D" )
(place-fret 5 6 "D#" seagreen )
(place-fret 5 7 "E" )
(place-fret 6 0 "E" red3 )
(place-fret 6 1 "F" )
(place-fret 6 2 "F#" darkorange1 )
(place-fret 6 3 "G" )
(place-fret 6 4 "G#" yellow3 )
(place-fret 6 5 "A" )
(place-fret 6 6 "A#" seagreen )
(place-fret 6 7 "B" )
)
}}
\paper{
indent=0\mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
bookTitleMarkup = ##f
scoreTitleMarkup = ##f}
</score>
<score raw="1">
\version "2.14.2"
\markup {
\override #'(size . 3.0) {
\override #'(fret-diagram-details . (
(orientation . #'landscape )
(finger-code . #'in-dot )
(dot-color . #'black)
(dot-radius . 0.4)
(dot-position . 0.5)
(top-fret-thickness . 5)
(fret-count . 7)
(number-type . roman-upper)
))
\fret-diagram-verbose #'(
(place-fret 1 6 "Bb")
(place-fret 1 7 "B" seagreen )
(place-fret 1 8 "C" )
(place-fret 1 9 "Db" blue3 )
(place-fret 1 10 "D" )
(place-fret 1 11 "Eb" darkviolet )
(place-fret 1 12 "E" )
(place-fret 2 6 "F" )
(place-fret 2 7 "F#" seagreen )
(place-fret 2 8 "G" )
(place-fret 2 9 "Ab" blue3 )
(place-fret 2 10 "A" )
(place-fret 2 11 "Bb" darkviolet )
(place-fret 2 12 "B" )
(place-fret 3 6 "C#" seagreen )
(place-fret 3 7 "D" )
(place-fret 3 8 "Eb" blue3 )
(place-fret 3 9 "E" )
(place-fret 3 10 "F" darkviolet )
(place-fret 3 11 "Gb" )
(place-fret 3 12 "G" deeppink2 )
(place-fret 4 6 "G#" seagreen )
(place-fret 4 7 "A" )
(place-fret 4 8 "Bb"blue3 )
(place-fret 4 9 "B" )
(place-fret 4 10 "C" darkviolet )
(place-fret 4 11 "Db" )
(place-fret 4 12 "D" deeppink2 )
(place-fret 5 6 "D#" seagreen )
(place-fret 5 7 "E" )
(place-fret 5 8 "F" blue3 )
(place-fret 5 9 "F#")
(place-fret 5 10 "G" darkviolet )
(place-fret 5 11 "Ab" )
(place-fret 5 12 "A" deeppink2 )
(place-fret 6 6 "A#" seagreen )
(place-fret 6 7 "B" )
(place-fret 6 8 "C" blue3 )
(place-fret 6 9 "C#" )
(place-fret 6 10 "D" darkviolet )
(place-fret 6 11 "Eb" )
(place-fret 6 12 "E" deeppink2 )
)
}}
\paper{
indent=0\mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
bookTitleMarkup = ##f
scoreTitleMarkup = ##f}
</score>
=== Skala ===
<score>
<<
\new Staff {
\new Voice = “scale” \relative c {
<f-1\6>4^\markup {
\override #'(size . 5.0) {
\override #'(fret-diagram-details . (
(orientation . #'landscape )
(finger-code . #'in-dot )
(dot-color . #'black)
(dot-radius . 0.4)
(dot-position . 0.5)
(top-fret-thickness . 7)
(fret-count . 5)) )
\fret-diagram-verbose #'(
(place-fret 6 12 3 )
(place-fret 6 13 4 gold )
(place-fret 6 15 5 )
(place-fret 5 12 6 darkgreen )
(place-fret 5 14 "j7" gold)
(place-fret 5 15 1 )
(place-fret 4 12 2 darkgreen )
(place-fret 4 14 3 )
(place-fret 4 15 4 gold )
(place-fret 3 12 5 )
(place-fret 3 14 6 darkgreen )
(place-fret 2 12 "j7" gold )
(place-fret 2 13 1 )
(place-fret 2 15 2 darkgreen )
(place-fret 1 12 3 )
(place-fret 1 13 4 gold )
(place-fret 1 15 5 )
)
}
}
<g-2> <a-4> <b-1\5> |
}
}
>></score>
(place-fret 12 1 1 inverted)
== Akkordtabelle kurz ==
{| class="wikitable" border="1"
|-style="background:#B9FFC5"
|-
!Tonart ▼
!colspan="3"|Dur-Akkorde
!colspan="3"|Moll-Akkorde
!colspan="2"|Moll-Dominante<br>und 7. Akkordstufe
!Vorzeichen
|-style="background:#CCCCC; font-weight: bold;"
!Akkord­stufen ▶
|4<br>IV
|1<br>I
|5<br>V
|2<br>II
|6<br>VI
|3<br>III
|(3⁷)<br>(III⁷)
|j7<br>VII°
<!--
|-style="background:#ffddff"
!Gb / Ebm
|Cb (!)
|Gb
|Db<sup>(7)</sup>
|Abm
|Ebm
|Bbm
|(Bb7)
|Fm7b5
|bbbbbb(6)
|-style="background:#ff99DD
!Db / Bbm
|Gb
|Db
|Ab<sup>(7)</sup>
|Ebm
|Bbm
|Fm
|(F7)
|Cm7b5
|bbbbb(5)
|-style="background:#ff9999"
!Ab / Fm
|Db
|Ab
|Eb<sup>(7)</sup>
|Bbm
|Fm
|Cm
|(C7)
|Gm7b5
|bbbb(4)
|-style="background:#ffdd99"
!Eb / Cm
|Ab
|Eb
|Bb<sup>(7)</sup>
|Fm
|Cm
|Gm
|(G7)
|Dm7b5
|bbb(3)
|-style="background:#ffff99"
!Bb / Gm
|Eb
|Bb
|F<sup>(7)</sup>
|Cm
|Gm
|Dm
|(D7)
|Am7b5
|bb(2)
|-style="background:#ddff99"
!F / Dm
|Bb
|F
|C<sup>(7)</sup>
|Gm
|Dm
|Am
|(A7)
|Em7b5
|b(1)
-->
|-style="background:#99FF99; font-weight: bold;"
!C / Am
|F
|'''C'''
|G<sup>(7)</sup>
|Dm
|'''Am'''
|Em
|(E7)
|Bm7b5
|0b 0#
|-style="background:#99ffdd"
!G / Em
|C
|'''G'''
|D<sup>(7)</sup>
|Am
|'''Em'''
|Bm
|(H7)
|F#m7b5
|# (1)
|-style="background:#99ffff"
!D / Bm
|G
|'''D'''
|A<sup>(7)</sup>
|Em
|'''Bm'''
|F#m
|(F#7)
|C#m7b5
|##(2)
|-style="background:#99ddff"
!A / F#m
|D
|'''A'''
|E<sup>(7)</sup>
|Bm
|'''F#m'''
|C#m
|(C#7)
|G#m7b5
|###(3)
|-style="background:#9999ff"
!E / C#m
|A
|'''E'''
|B<sup>(7)</sup>
|F#m
|'''C#m'''
|G#m
|(G#7)
|D#m7b5
|####(4)
|-style="background:#dd99ff"
!B / G#m
|E
|'''B'''
|F#<sup>(7)</sup>
|C#m
|'''G#m'''
|D#m
|(D#7)
|A#m7b5
|#####(5)
<!--
|-style="background:#ffddff"
!F# / D#m
|B
|F#
|C#<sup>(7)</sup>
|G#m
|D#m
|A#m
|(A#7)
|E#m7b5 (!)
|######(6)
-->
|}
= TEST =
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="Problem: Triads in der G-Form"
subtitle="auf den unteren drei Saiten"
subsubtitle="Dreiklänge auf den Diskantsaiten"
arranger = "CC-BY-SA Wikibooks (mjchael)"
}
myKey = {
\tempo 4 = 60
%Tempo ausblenden
\set Score.tempoHideNote = ##t
\clef "G_8"
\time 4/4
\key c
\major
}
myDiskant = {
\set Staff.midiInstrument = #"electric guitar (jazz)"
\stemUp
\override NoteHead #'color = #darkgreen
< g' b' d'' >1^\markup {
\override #'(size . 2)
%% Akkorddiagramm in Farbe
{
\override #'(
fret-diagram-details . (
(orientation . #'landscape )
(finger-code . #'in-dot )
(dot-color . #'black)
(dot-radius . 0.4)
(dot-position . 0.5)
(top-fret-thickness . 6)
(fret-count . 3)
(number-type . roman-upper)
)
)
%
\fret-diagram-verbose #'(
(place-fret 1 10 "D" darkgreen )
(place-fret 2 12 "B" darkblue )
(place-fret 3 12 "G" black )
)
}
} % G
\override NoteHead #'color = #red
< g' b' g'' >1^\markup {
\override #'(size . 2)
{
\override #'(
fret-diagram-details . (
(orientation . #'landscape )
(finger-code . #'in-dot )
(dot-color . #'black)
(dot-radius . 0.4)
(dot-position . 0.5)
(top-fret-thickness . 6)
(fret-count . 3)
(number-type . roman-upper)
)
)
\fret-diagram-verbose #'(
(place-fret 1 15 "G" black )
(place-fret 2 12 "B" darkblue )
(place-fret 3 12 "G" black )
)
}
} % Gno5
\override NoteHead #'color = #red
< g' d'' g'' >1^\markup {
\override #'(size . 2)
%% Akkorddiagramm in Farbe
{
\override #'(
fret-diagram-details . (
(orientation . #'landscape )
(finger-code . #'in-dot )
(dot-color . #'black)
(dot-radius . 0.4)
(dot-position . 0.5)
(top-fret-thickness . 6)
(fret-count . 3)
(number-type . roman-upper)
)
)
\fret-diagram-verbose #'(
(place-fret 1 15 "G" black )
(place-fret 2 15 "D" darkgreen )
(place-fret 3 12 "G" black )
)
}
} % G5
\override NoteHead #'color = #darkgreen
< b' d'' g'' >1^\markup {
\override #'(size . 2)
{
\override #'(
fret-diagram-details . (
(orientation . #'landscape )
(finger-code . #'in-dot )
(dot-color . #'black)
(dot-radius . 0.4)
(dot-position . 0.5)
(top-fret-thickness . 6)
(fret-count . 3)
(number-type . roman-upper)
)
)
\fret-diagram-verbose #'(
(place-fret 1 15 "G" black )
(place-fret 2 15 "D" darkgreen )
(place-fret 3 16 "B" darkblue )
)
}
} % G
}
myChords = \chordmode {
g1
\once \override ChordName.text = "G(no5)" g:3
g:5 g
}
myGuitar = \myDiskant
%% Layout
\score {
<<
%% Akkordnamen
\new ChordNames { \myChords }
%% Noten
\new Voice {
\myKey
\myGuitar
}
%% Tabulatur
\new TabStaff {
\tabFullNotation
< g' b' d'' >1 % G
< g' b' g'' >1 % Gno5
< g' d'' g'' >1 % G5
< b' d'' g'' >1 % G
}
>>
\layout {
\omit Voice.StringNumber
\context {
\Score
\override SpacingSpanner.common-shortest-duration = #(ly:make-moment 1/30)
}
}
}
%% Migiausgabe
\score {
<<
\unfoldRepeats {
\new Staff <<
\myKey
\myDiskant
>>
}
>>
\midi {}
}
%& unterdrückt im raw="1"-Modus das DinA4-Format.
\paper {
indent=0\mm
line-width=100\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
=Test2=
=häufig genutzte Textbausteine=
== Lilypond ==
=== Tabulatur ===
=== Lied mit Pseudo-Gitarrenbegleitung ===
<syntaxhighlight lang="latex">
<score sound="1" raw="1">
\version "2.20.0"
\header {
title = "MeinTitel"
% subtitle = "MeinSubtitle"
% poet = "Texter"
% composer = "Komponist"
% arranger = "arr: ccbysa: Wikibooks (mjchael)"
}
myKey = {
\clef "treble"
\time 4/4
\tempo 4 = 100
%%Tempo ausblenden
\set Score.tempoHideNote = ##t
\key d\major
}
%% Akkorde
%% 4/4-Schlag
%% 1 . 2 . 3 . 4 .
myD = \chordmode { d,4 d d, d }
myA = \chordmode { a,,4 a, a,, a, }
myDA = \chordmode { d,4 d a,, a, }
myChords = \chordmode {
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
%% Akkorde nur beim Wechsel notieren
\set chordChanges = ##t
% \partial 4 s4
\myD \myA \myDA \myD
}
myMelody = \relative c'' {
\myKey
\set Staff.midiInstrument = #"trombone"
\relative c''{
a4 fis4 2 | g4 e4 2 |
d4 fis a a | d,1 |
\bar "|."
}
}
myLyrics = \lyricmode {
\set stanza = "1."
Häns -- chen klein | ging al -- lein | in das Haus hin | -- ein. |
}
\score {
<<
\new ChordNames { \myChords }
\new Voice = "mySong" { \myMelody }
\new Lyrics \lyricsto "mySong" { \myLyrics }
% \new TabStaff { \myChords } %% Check
>>
\midi { }
\layout { }
}
%% unterdrückt im raw="1"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 0 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
</syntaxhighlight>
;ergibt
<score sound="1" raw="1">
\version "2.20.0"
\header {
title = "MeinTitel"
% subtitle = "MeinSubtitle"
% poet = "Texter"
% composer = "Komponist"
% arranger = "arr: ccbysa: Wikibooks (mjchael)"
}
myKey = {
\clef "treble"
\time 4/4
\tempo 4 = 100
%%Tempo ausblenden
\set Score.tempoHideNote = ##t
\key d\major
}
%% Akkorde
%% 4/4-Schlag
%% 1 . 2 . 3 . 4 .
myD = \chordmode { d,4 d d, d }
myA = \chordmode { a,,4 a, a,, a, }
myDA = \chordmode { d,4 d a,, a, }
myChords = \chordmode {
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
%% Akkorde nur beim Wechsel notieren
\set chordChanges = ##t
% \partial 4 s4
\myD \myA \myDA \myD
d,1 %Schlusston
}
myMelody = \relative c'' {
\myKey
\set Staff.midiInstrument = #"trombone"
\relative c''{
a4 fis4 2 | g4 e4 2 |
d4 fis a a | d,1 |
\bar "|."
}
}
myLyrics = \lyricmode {
\set stanza = "1."
Häns -- chen klein | ging al -- lein | in das Haus hin | -- ein. |
}
\score {
<<
\new ChordNames { \myChords }
\new Voice = "mySong" { \myMelody }
\new Lyrics \lyricsto "mySong" { \myLyrics }
% \new TabStaff { \myChords } %% Check
>>
\midi { }
\layout { }
}
%% unterdrückt im raw="1"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 0 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
==== Tab + Chord + Chorddiagram ====
<pre>
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="Basis-Pattern"
encoder="mjchael"
}
myChords = \chordmode {
%% nur nötig, wenn Akkorde erklingen sollen.
% \set Staff.midiInstrument = #"acoustic guitar (nylon)"
% \set chordChanges = ##t
d1
}
myDiskantWithChords = {
d8^\markup {
\override #'(fret-diagram-details . ((orientation . landscape)))
\fret-diagram #"6-x;5-x;4-o;3-2;2-3;1-2;" } d' a fis' d d' a fis'
\mark "4x"
}
myDiskant = {
d8 d' a fis' d d' a fis'
\mark "4x"
}
myBass = {
d4 a d a
}
% Layout
\score {
<<
%% Akkordnamen
\new ChordNames {
\chordmode { \myChords }
}
{
%% Noten
\new Staff <<
\tempo 4 = 120
%% Tempo ausblenden
\set Score.tempoHideNote = ##t
\time 4/4
\key d \major
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8" \repeat volta 4
%% Balken nur über viertel Noten, nicht über halbe Noten
\set Timing.beamExceptions = #'()
\set Timing.baseMoment = #(ly:make-moment 1/4)
\set Timing.beatStructure = #'(1 1 1 1)
% Noten im Diskant
\myDiskantWithChords
\\
%% Noten im Bass
\myBass
>>
}
%% Tabulatur
\new TabStaff {
\tabFullNotation %\repeat volta 4
<<
%% Tabulatur im Diskant
\myDiskant
\\
%% Tabulatur im Bass
\myBass
>>
}
>>
\layout {}
}
% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\key d \major
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8" \repeat volta 4
\myDiskant
\\
\repeat volta 4
\myBass
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 0 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=70\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
</pre>
; Ergibt
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="Basis-Pattern"
encoder="mjchael"
}
myChords = \chordmode {
%% nur nötig, wenn Akkorde erklingen sollen.
% \set Staff.midiInstrument = #"acoustic guitar (nylon)"
% \set chordChanges = ##t
d1
}
myDiskantWithChords = {
d8^\markup {
\override #'(fret-diagram-details . ((orientation . landscape)))
\fret-diagram #"6-x;5-x;4-o;3-2;2-3;1-2;" } d' a fis' d d' a fis'
\mark "4x"
}
myDiskant = {
d8 d' a fis' d d' a fis'
\mark "4x"
}
myBass = {
d4 a d a
}
% Layout
\score {
<<
%% Akkordnamen
\new ChordNames {
\chordmode { \myChords }
}
{
%% Noten
\new Staff <<
\tempo 4 = 120
%% Tempo ausblenden
\set Score.tempoHideNote = ##t
\time 4/4
\key d \major
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8" \repeat volta 4
%% Balken nur über viertel Noten, nicht über halbe Noten
\set Timing.beamExceptions = #'()
\set Timing.baseMoment = #(ly:make-moment 1/4)
\set Timing.beatStructure = #'(1 1 1 1)
% Noten im Diskant
\myDiskantWithChords
\\
%% Noten im Bass
\myBass
>>
}
%% Tabulatur
\new TabStaff {
\tabFullNotation %\repeat volta 4
<<
%% Tabulatur im Diskant
\myDiskant
\\
%% Tabulatur im Bass
\myBass
>>
}
>>
\layout {}
}
% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\key d \major
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8" \repeat volta 4
\myDiskant
\\
\repeat volta 4
\myBass
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 0 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=70\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
==== Übung Nr. ?? ====
;Als Versuch mal einen Choral.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="3. Fingersatz (G-Form) in D-Dorisch"
subtitle="Christ lag in Todesbanden"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c' {
\set TabStaff.minimumFret = #4
\set TabStaff.restrainOpenStrings = ##t
\override Score.TimeSignature.stencil=##f
a2 g4 a c d c (b) a r \bar"" a f g a g (f) e4 d2 \bar"'"
a' g4 a c d c (b) a r \bar"" a f g a g8 (f) e4 d2 \bar"'"
d4 f g d f g a r8 \bar"" a d4 c d (e) c b a r8 \bar""
a c4 a c g f8 (d) e4 d \bar"'" a' g8 (f e4) d1 \bar "|." }
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 4/4
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
===Akkorde sollen nicht erklingen===
<pre>
<score midi="1" vorbis="1">
<<
% Akkordnamen (siehe auch: \midi)
\new ChordNames {
\chordmode {
c2 c:/b a1:m f g
}
}
...
>>
\layout {}
\midi {
% Notennamen sollen nicht erklingen
\context {
\ChordNames
\remove "Staff_performer"
}
}
</score>
</pre>
Alternativ: einen eigenen Score für Layout und einen anderen für Midi erstellen. Dazu arbeitet man besser mit Variablen im Raw-Modus. s.u.
=== Basis-Pattern (optimierter Code) ===
;Problem 1
Kompletter Frescobaldi-Code funktioniert nur mit Raw-Modus (raw="1").
;Problem 2
raw="1" erzeugt eine DinA4 Ausgabe, was für kleine Beispiele überdimensioniert ist.
;Lösung: Papierdefinitionen überschreiben mit \paper {...}
<pre>
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="Basis-Pattern"
encoder="mjchael"
}
%Diskant- bzw. Melodiesaiten
Diskant = {
c8 c' g e' b, c' g e' | % 1 Basis
a,8 c' a e' e c' a e' | % 2 Basis
f8 c' a f' a, c' a f' | % 3 Basis
g,8 b g g' b, b g g' | % 4 Basis
\mark "4x"
}
%Basssaiten, die hier nur mit dem Daumen gespielt werden.
Bass = {
c4 g b, g a, a e a f a a, a g, g b, g
}
% Layout- bzw. Bildausgabe
\score {
<<
\new ChordNames {
\chordmode {
c2 c:/b a1:m f g
}
}
{
%Noten
\new Staff <<
\tempo 4 = 120
%Tempo für die kurzen Beispiele ausblenden
\set Score.tempoHideNote = ##t
\time 4/4
\key c \major
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8" \repeat volta 4
% Balken nur über viertel Noten, nicht über halbe Noten
\set Timing.beamExceptions = #'()
\set Timing.baseMoment = #(ly:make-moment 1/4)
\set Timing.beatStructure = #'(1 1 1 1)
% Noten im Diskant
\Diskant
\\
% Noten im Bass - beachte: Wiederholungszeichen ist für Midi notwendig!
\repeat volta 4
\Bass
>>
}
% Tabulatur
\new TabStaff {
\tabFullNotation \repeat volta 4
<<
% Tabulatur im Diskant
\Diskant
\\
% Tabulatur im Bass
\Bass
>>
}
>>
\layout {}
}
% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\key c \major
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8" \repeat volta 4
\Diskant
\\
\repeat volta 4
\Bass
>>
}
>>
\midi {}
}
% unterdrückt im raw="1"-Modus das DinA4-Format.
\paper {
indent=0\mm
% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
</pre>
Kopiere den Code nach Frescobaldi und kommentiere den Score-Tag mit % aus, damit Frescobaldi diesen ignoriert.
<pre>
%<score sound="1" raw="1">
...
%</score>
</pre>
;ergibt:
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="Basis-Pattern"
encoder="mjchael"
}
%Diskant- bzw. Melodiesaiten
Diskant = {
c8 c' g e' b, c' g e' | % 1 Basis
a,8 c' a e' e c' a e' | % 2 Basis
f8 c' a f' a, c' a f' | % 3 Basis
g,8 b g g' b, b g g' | % 4 Basis
\mark "4x"
}
%Basssaiten, die hier nur mit dem Daumen gespielt werden.
Bass = {
c4 g b, g a, a e a f a a, a g, g b, g
}
% Layout- bzw. Bildausgabe
\score {
<<
\new ChordNames {
\chordmode {
c2 c:/b a1:m f g
}
}
{
%Noten
\new Staff <<
\tempo 4 = 120
%Tempo ausblenden
\set Score.tempoHideNote = ##t
\time 4/4
\key c \major
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8" \repeat volta 4
% Balken nur über viertel Noten, nicht über halbe Noten
\set Timing.beamExceptions = #'()
\set Timing.baseMoment = #(ly:make-moment 1/4)
\set Timing.beatStructure = #'(1 1 1 1)
% Noten im Diskant
\Diskant
\\
% Noten im Bass - beachte: Wiederholungszeichen ist für Midi notwendig!
\repeat volta 4
\Bass
>>
}
% Tabulatur
\new TabStaff {
\tabFullNotation \repeat volta 4
<<
% Tabulatur im Diskant
\Diskant
\\
% Tabulatur im Bass
\Bass
>>
}
>>
\layout {}
}
% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\key c \major
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8" \repeat volta 4
\Diskant
\\
\repeat volta 4
\Bass
>>
}
>>
\midi {}
}
% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
% DinA4 0 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
=== Schlagzeug ===
<score sound="1" raw="1">
\version "2.20.0"
\header {
title = "Schlagzeug"
subtitle = "Töne und Bezeichnung"
}
myLyrics = \lyricmode {
cymc cyms cymr hh hhc hho hhho hhp
cb hc bd sn ss tomh tommh tomml toml tomfh tomfl }
myDrum = \drummode {
cymc cyms cymr hh hhc hho hhho hhp \break
cb hc bd sn ss tomh tommh tomml toml tomfh tomfl s16 }
\score {
<< \new DrumStaff \with {
% \remove Bar_engraver
% \remove Time_signature_engraver
% \hide Stem
% \override Stem.Y-extent = ##f
} \myDrum
\new Lyrics \myLyrics
>>
\layout {}
\midi {}
}
\paper {
indent=0\mm
line-width=120\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
<score sound="1" raw="1">
\version "2.20.0"
\header {
title = "Schlagzeugbeispiel"
subtitle = "Einfacher 4/4-Takt"
}
% cymc cyms cymr hh hhc hho hhho hhp
% cb hc bd sn ss tomh tommh tomml toml tomfh tomfl s16
myHands = \drummode {
hh16 hh hh hh hh hh hh hh
hho8 hhc hh16 hh hh hh
}
myFeeds = \drummode {
<bd snare>4 sn8. 16 bd4 sn4
}
myDrum = { \new DrumStaff <<
\new DrumVoice {
\voiceOne \myHands }
\\
{ \voiceTwo \myFeeds}
>>
}
\score {
<< \new DrumStaff \with {
\remove Bar_engraver
\remove Time_signature_engraver
\hide Stem
\override Stem.Y-extent = ##f
} \myDrum
>>
\layout {}
\midi {}
}
\paper {
indent=0\mm
line-width=120\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
=== C-Dur- bzw. A-Moll-Tonleiter ===
<pre>
=== C-Dur- bzw. A-Moll-Tonleiter ===
;in der G-Dur- bzw. E-Moll-Form
<score sound="1" raw="1">
\version "2.20.0"
\header {
title = "Übung 1"
subtitle = "reine Skala"
}
Melody = {
\set Staff.midiInstrument = "electric guitar (clean)"
\repeat volta 2 {
\stemUp
\set TabStaff.minimumFret = #5
\set TabStaff.restrainOpenStrings = ##t
a,8 b, c d e f g a |
b8 c' d' e' f' g' a' b' |
c''8 b' a' g' f' e' d' c' |
b8 a g f e d c a, |
}
}
Gitarre = \Melody
\score {
<<
\new Voice {
\clef "treble_8" \time 4/4
\tempo 4 = 100 \key c \major
\set Score.tempoHideNote = ##t
\Gitarre
}
\new TabStaff { \Gitarre }
>>
\layout { }
}
\score {
<<
\new Voice {
\clef "treble_8" \time 4/4
\tempo 4 = 100 \key c \major
\unfoldRepeats \Gitarre
}
>>
\midi { }
}
\paper {
indent=0\mm
line-width=120\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
</pre>
ergibt (ohne Überschrift - s.o.):
;in der G-Dur- bzw. E-Moll-Form
<score sound="1" raw="1">
\version "2.20.0"
\header {
title = "Übung 1"
subtitle = "reine Skala"
}
Melody = {
\set Staff.midiInstrument = "electric guitar (clean)"
\repeat volta 2 {
\stemUp
\set TabStaff.minimumFret = #5
\set TabStaff.restrainOpenStrings = ##t
a,8 b, c d e f g a |
b8 c' d' e' f' g' a' b' |
c''8 b' a' g' f' e' d' c' |
b8 a g f e d c a, |
}
}
Gitarre = \Melody
\score {
<<
\new Voice {
\clef "treble_8" \time 4/4
\tempo 4 = 100 \key c \major
\set Score.tempoHideNote = ##t
\Gitarre
}
\new TabStaff { \Gitarre }
>>
\layout { }
}
\score {
<<
\new Voice {
\clef "treble_8" \time 4/4
\tempo 4 = 100 \key c \major
\unfoldRepeats \Gitarre
}
>>
\midi { }
}
\paper {
indent=0\mm
line-width=120\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
==== Skalen ====
<score>
\new Staff{
c'1^\markup {
\fret-diagram-terse #"2 4 6;x;o;1 2;3 9;1 5 12;"}
<d a d' f'>1^\markup {
\override #'(fret-diagram-details . ((orientation . landscape)))
\fret-diagram-verbose #'(
(mute 6)
(place-fret 6 2)
(place-fret 6 4)
(place-fret 6 5)
(place-fret 6 8)
(mute 5)
(open 4)
(place-fret 3 2)
(place-fret 3 5)
(place-fret 2 3)
(place-fret 1 1)
)
}
}
</score>
== CAGED ==
<score raw="1">
\version "2.14.2"
\markup
\override #'(fret-diagram-details . ( (number-type . roman-upper)
(finger-code . in-dot) (orientation . landscape))) {
%% s:3 = 3x so groß
%% f:1 zeigt Finger als Kreise
%% f:2 zeigt Finger neben den Saiten
%% 6-3-2 Saite-Bund-Finger
%% oder
%% 6-3-2 Saite-Bund-Intervall
%% 4-o zeigt 4. Saite offen
\fret-diagram #"s:3;f:1;
1-12-3;1-13-4;1-15-5;
2-12-7;2-13-1;2-15-2;
3-12-5;3-14-6;
4-12-2;4-14-3;4-15-4;
5-12-6;5-14-7;5-15-1;
6-12-3;6-13-4;6-15-5;"
\fret-diagram #"s:3;f:1;
1-12-3;1-13-4;1-15-5;
2-12-7;2-13-1;2-15-2;
3-12-5;3-14-6;
4-12-2;4-14-3;4-15-4;
5-12-6;5-14-7;5-15-1;
6-12-3;6-13-4;6-15-5;"
\fret-diagram #"s:3;f:1;
1-12-3;1-13-4;1-15-5;
2-12-7;2-13-1;2-15-2;
3-12-5;3-14-6;
4-12-2;4-14-3;4-15-4;
5-12-6;5-14-7;5-15-1;
6-12-3;6-13-4;6-15-5;"
}
\paper{
indent=0\mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
bookTitleMarkup = ##f
scoreTitleMarkup = ##f}
</score>
=== ABC-Notation ===
{{:Regal:Musik/ Vorlage:ABC-Notation}}
[[Regal:Musik/ Vorlage:ABC-Notation]]
;Nützliche Links
* http://www.mediawiki.org/wiki/Extension:Score
* http://abcnotation.com/examples
<score lang="ABC">
X:1
M:C
L:1/4
K:C
"C"C, D, E, F,|G, A, B, C|D E F G|A B c d|
w: C D E F G
e f g a|b c' d' e'|f' g' a' b'|]
</score>.
===Melodie und Text===
<pre>
<score>
{
\key d \major \time 2/2
\relative c' { \partial 2 d2 | e2 g2 e2}
\addlyrics {A boy was born }
}
</score>
</pre>
; ergibt
<score>
{
\key d \major \time 2/2
\relative c' { \partial 2 d2 | e2 g2 e2}
\addlyrics {A boy was born }
}
</score>
=== Rhyhtmusnotation mit Lilypond ===
<pre><score sound="1" raw="1">
\version "2.20.0"
\header {
title="4/4-Schlag mit D und A-Dur im Wechsel"
encoder="mjchael"
}
myChords = \new ChordNames { \chordmode {
d1 a d a
}}
myRhythm = { \repeat volta 4 {
<a d a>4 \downbow
<a d' fis'> \downbow
<a d a>4 \downbow
<a d' fis'> \downbow
<e, a e>4 \downbow
<a cis' e'> \downbow
<e, a e>4 \downbow
<a cis' e'> \downbow
<a d a>4 \downbow
<a d' fis'> \downbow
<a d a>4 \downbow
<a d' fis'> \downbow
<e, a e>4 \downbow
<a cis' e'> \downbow
<e, a e>4 \downbow
<a cis' e'> \downbow
\mark "4x"
}}
\score { << %layout
\myChords
\new Voice \with {
\consists "Pitch_squash_engraver"
}{
\set Staff.midiInstrument = "acoustic guitar (nylon)"
\improvisationOn
\override NoteHead.X-offset = 0
\myRhythm
}
>> \layout{} }
\score { << % midi
\unfoldRepeats {
\tempo 4 = 120
\time 4/4
\key d \major
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\myRhythm
<a d a d' fis'>1 \downbow
}
>> \midi{} }
\paper {
indent=0\mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
</pre>
; ergibt:
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="4/4-Schlag mit D und A-Dur im Wechsel"
encoder="mjchael"
}
myChords = \new ChordNames { \chordmode {
d1 a d a
}}
myRhythm = { \repeat volta 4 {
<a d a>4 \downbow
<a d' fis'> \downbow
<a d a>4 \downbow
<a d' fis'> \downbow
<e, a e>4 \downbow
<a cis' e'> \downbow
<e, a e>4 \downbow
<a cis' e'> \downbow
<a d a>4 \downbow
<a d' fis'> \downbow
<a d a>4 \downbow
<a d' fis'> \downbow
<e, a e>4 \downbow
<a cis' e'> \downbow
<e, a e>4 \downbow
<a cis' e'> \downbow
\mark "4x"
}}
\score { << % layout
\myChords
\new Voice \with {
\consists "Pitch_squash_engraver"
}{
\set Staff.midiInstrument = "acoustic guitar (nylon)"
\improvisationOn
\override NoteHead.X-offset = 0
\myRhythm
}
>> \layout{} }
\score { << % midi
\unfoldRepeats {
\tempo 4 = 120
\time 4/4
\key d \major
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\myRhythm
<a d a d' fis'>1 \downbow
}
>> \midi{} }
\paper {
indent=0\mm
line-width=120\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
;Danke an Malte vom Lilipond-Forum für seine Unterstützung! {{smiley}} --[[Benutzer:Mjchael|mjchael]] 19:25, 6. Jul. 2019 (CEST)
==== Alles auf einer Linie ====
<score sound="1">
<<
\new RhythmicStaff {
\new Voice = "myRhythm" \relative {
\set Staff.midiInstrument = #"lead 7 (fifths)"
\time 4/4
c 4 e8 f g2
r4 g g f
g1
}
}
\new Lyrics {
\lyricsto "myRhythm" {
This is my song
I like to sing
}
}
>>
</score>
===Modales Transponieren===
\modalTranspose c e'' { c d e f g a b } { c b, a, g, }
<score vorbis="1">
{
\clef treble
\modalTranspose c c' { c d e f g a b } { c8 d e f }
\modalTranspose c d' { c d e f g a b } { c d e f }
\modalTranspose c e' { c d e f g a b } { c d e f }
\modalTranspose c f' { c d e f g a b } { c d e f }
\modalTranspose c g' { c d e f g a b } { c d e f }
\modalTranspose c a' { c d e f g a b } { c d e f }
\modalTranspose c b' { c d e f g a b } { c d e f }
\modalTranspose c c'' { c d e f g a b } { c d e f }
\modalTranspose c d'' { c d e f g a b } { c d e f }
\modalTranspose c e'' { c d e f g a b } { c d e f }
\modalTranspose c f'' { c d e f g a b } { c d e f }
\modalTranspose c g'' { c d e f g a b } { c d e f }
\modalTranspose c c''' { c d e f g a b } { c b, a, g, }
\modalTranspose c b'' { c d e f g a b } { c b, a, g, }
\modalTranspose c a'' { c d e f g a b } { c b, a, g, }
\modalTranspose c g'' { c d e f g a b } { c b, a, g, }
\modalTranspose c f'' { c d e f g a b } { c b, a, g, }
\modalTranspose c e'' { c d e f g a b } { c b, a, g, }
\modalTranspose c d'' { c d e f g a b } { c b, a, g, }
\modalTranspose c c'' { c d e f g a b } { c b, a, g, }
\modalTranspose c b' { c d e f g a b } { c b, a, g, }
\modalTranspose c a' { c d e f g a b } { c b, a, g, }
\modalTranspose c g' { c d e f g a b } { c b, a, g, }
\modalTranspose c f' { c d e f g a b } { c b, a, g,~ }
c'1
\bar "|."
}
</score>
=== incl. Midi-Output ===
<score lang="ABC" midi="1" vorbis="1">
X:1
T:Ohne Titel
C:Aufgezeichnet 1784
A:Seibis nahe Lichtenberg in Oberfranken
S:Handschrift, bezeichnet und datiert: "Heinrich Nicol Philipp zu Seibis den 30 Junius 1784"
M:4/4
L:1/4
K:D
dd d2 | ee e2 | fg ad | cB cA |\
dd d2 | ee e2 | fg ad | ed/c/ d2 :|
|:\
fg ad | cB cA | fg ad | cB cA |\
dd d2 | ee e2 | fg ad | ed/c/ d2 :|
</score>
== A B C die Katze liegt im Schnee ==
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="Folk-Pattern"
encoder="mjchael"
}
%Diskant- bzw. Melodiesaiten
Diskant = {
c4 g8 e' b, c' g4 | % 1 Folk
a,4 a8 e' e c' a4 | % 2 Folk
f4 a8 f' a, c' a4 | % 3 Folk
g,4 g8 g' b, b g4 | % 4 Folk
\mark "4x"
}
%Basssaiten, die hier nur mit dem Daumen gespielt werden.
Bass = {
c4 g b, g a, a e a f a a, a g, g b, g
}
% Layout- bzw. Bildausgabe
\score {
<<
\new ChordNames {
\chordmode {
c2 c:/b a1:m f g
}
}
{
%Noten
\new Staff <<
\tempo 4 = 120
%Tempo ausblenden
\set Score.tempoHideNote = ##t
\time 4/4
\key c \major
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8" \repeat volta 4
% Balken nur über viertel Noten, nicht über halbe Noten
\set Timing.beamExceptions = #'()
\set Timing.baseMoment = #(ly:make-moment 1/4)
\set Timing.beatStructure = #'(1 1 1 1)
% Noten im Diskant
\Diskant
\\
% Noten im Bass - beachte: Wiederholungszeichen ist für Midi notwendig!
\repeat volta 4
\Bass
>>
}
% Tabulatur
\new TabStaff {
\tabFullNotation \repeat volta 4
<<
% Tabulatur im Diskant
\Diskant
\\
% Tabulatur im Bass
\Bass
>>
}
>>
\layout {}
}
% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\key c \major
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8" \repeat volta 4
\Diskant
\\
\repeat volta 4
\Bass
>>
}
>>
\midi {}
}
% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
% DinA4 0 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
=== Vorlage ===
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="A B C die Katze liegt im Schnee (in D)"
encoder="mjchael"
}
akkorde = \chordmode { \germanChords
d2 d2 a:7 d g a g a g d a:7 d
}
melodie = \relative c' {
\clef "treble"
\time 2/4
\tempo 4 = 100
\key d\major
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
d,4 fis a r8 d a8. g16 fis8 e d4 r8 a'
g fis e d cis d e a g fis e d cis d e d
g8. g16 fis8 d b'8. b16 a8 d a8. g16 fis8 e d4 r4
\bar "|."
}
text = \lyricmode {
\set stanza = "1."
A, B, C, die Kat -- ze lief im Schnee, und
als sie dann nach Hau -- se kam, da hatt' sie wei -- ße Stie -- fel an, o
je -- mi -- ne, o je -- mi -- ne, die Kat -- ze lief im Schnee.
}
\score {
<<
\new ChordNames { \akkorde }
\new Voice = "Lied" { \melodie }
\new Lyrics \lyricsto "Lied" { \text }
% Tabulatur
\new TabStaff {
\tabFullNotation \melodie
}
>>
\layout { }
}
\score {
\unfoldRepeats
<<
\new ChordNames { \akkorde }
\new Voice = "Lied" { \melodie }
>>
\midi { }
}
% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
% DinA4 0 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
=== Vereinfachen ===
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="A B C die Katze liegt im Schnee (in C)"
encoder="mjchael"
}
akkorde = \chordmode { \germanChords
c2 c2 g:7 c f g f g f c g:7 c
}
melodie = \relative c' {
\clef "treble"
\time 2/4
\tempo 4 = 100
\key c\major
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
c,4 e g r8 c g8. f16 e8 d c4 r8 g'
f e d c b c d g f e d c b c d c
f8. f16 e8 c a'8. a16 g8 c g8. f16 e8 d c4 r4
\bar "|."
}
text = \lyricmode {
\set stanza = "1."
A, B, C, die Kat -- ze lief im Schnee, und
als sie dann nach Hau -- se kam, da hatt' sie wei -- ße Stie -- fel an, o
je -- mi -- ne, o je -- mi -- ne, die Kat -- ze lief im Schnee.
}
\score {
<<
\new ChordNames { \akkorde }
\new Voice = "Lied" { \melodie }
\new Lyrics \lyricsto "Lied" { \text }
%% Tabulatur
\new TabStaff {
\tabFullNotation \melodie
}
>>
\layout { }
}
\score {
\unfoldRepeats
<<
\new ChordNames { \akkorde }
\new Voice = "Lied" { \melodie }
>>
\midi { }
}
% unterdrückt im raw="1"-Modus das DinA4-Format.
\paper {
indent=0\mm
% DinA4 0 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
;Ambitus ermitteln
Tiefste Note ist C, die höchste ist C.
;Stimme in den Diskant verlegen
Hier hilft die Erfahrung. Die einfachste Tonart ist C-Dur, aber die Stimme liegt zwischen den Bass- und Melodieseiten. Da ist kein Platz mehr für einen Bass und ein paar Harmonietöne. Die nächst einfache Tonart ist G-Dur. Die Noten kämen auf die Diskantsaiten, und die Basssaiten währen für die Begleitung frei.
=== Melodie in den Diskant ===
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="A B C die Katze liegt im Schnee (in G)"
encoder="mjchael"
}
akkorde = \chordmode { \germanChords
g2 g2 d:7 g c d c d c g d:7 g
}
melodie = \relative g' {
\clef "treble"
\time 2/4
\tempo 4 = 100
\key g\major
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
g,4 b d r8 g d8. c16 b8 a g4 r8 d'
c b a g fis g a d c b a g fis g a g
c8. c16 b8 g e'8. e16 d8 g d8. c16 b8 a g4 r4
\bar "|."
}
text = \lyricmode {
\set stanza = "1."
A, B, C, die Kat -- ze lief im Schnee, und
als sie dann nach Hau -- se kam, da hatt' sie wei -- ße Stie -- fel an, o
je -- mi -- ne, o je -- mi -- ne, die Kat -- ze lief im Schnee.
}
\score {
<<
\new ChordNames { \akkorde }
\new Voice = "Lied" { \melodie }
\new Lyrics \lyricsto "Lied" { \text }
% Tabulatur
\new TabStaff {
\tabFullNotation \melodie
}
>>
\layout { }
}
\score {
\unfoldRepeats
<<
\new ChordNames { \akkorde }
\new Voice = "Lied" { \melodie }
>>
\midi { }
}
% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
% DinA4 0 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
==Drei Chinesen mit dem Kontrabass==
Lied mit simpler Akkordbegleitung. Die Begleitung ähnelt einer Gitarrenbegleitung, nutzt aber einfache Klavierakkorde ausschließlich in der Grundstellung. Um zu überprüfen ob die Klavierbegleitung der Gitarrenbegleitung einigermaßen nahe kommt, gibt es einen Schalter, der nur zu Prüfzwecken gebraucht wird.
<pre>
<score sound="1" raw="1">
\version "2.20.0"
\header {
title = "Drei Chinesen mit dem Kontrabass"
composer = "T+M: Volkslied"
arranger = "arr: ccbysa Mjchael"
}
% Akkorde
myChords = \chordmode {
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\set chordChanges = ##t
g,,4 g, g,, g,
a,,:m a,:m a,,:m a,:m
d,:7 d:7 d,:7 d:7
g,, g, g,, g,
g,,:7 g,:7 g,,:7 g,:7
c, c c, c
d,:7 d:7 d,:7 d:7
g,, g, g,, g,
}
myMelody = \relative c' {
\clef "treble"
\time 4/4
\tempo 4 = 120
\key g\major
\set Staff.midiInstrument = #"trombone"
g'4. g8 g g fis g a4 a a2
a8 a a a a a g a b4 b8 b b4 r8
g d' d d d d4 b8 g e'4 e e2
d4. e8 d c b a g4 g g2
\bar "|."
}
myLyrics = \lyricmode {
\set stanza = "1."
Drei Chi -- ne -- sen mit dem Kon -- tra -- bass sa -- ßen auf der Stra -- ße und
er -- zähl -- ten sich was. Da kam die Po -- li -- zei: Ja, was ist denn das?
Drei Chi -- ne -- sen mit dem Kon -- tra -- bass.
}
\score {
<<
\new ChordNames { \myChords }
\new Voice = "Lied" { \myMelody }
\new Lyrics \lyricsto "Lied" { \myLyrics }
% \new TabStaff { \myChords } %%check
>>
\midi { }
\layout { }
}
% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
% DinA4 0 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
</pre>
;ergibt:
<score sound="1" raw="1">
\version "2.20.0"
\header {
title = "Drei Chinesen mit dem Kontrabass"
composer = "T+M: Volkslied"
arranger = "arr: ccbysa Mjchael"
}
% Akkorde
myChords = \chordmode {
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\set chordChanges = ##t
g,,4 g, g,, g,
a,,:m a,:m a,,:m a,:m
d,:7 d:7 d,:7 d:7
g,, g, g,, g,
g,,:7 g,:7 g,,:7 g,:7
c, c c, c
d,:7 d:7 d,:7 d:7
g,, g, g,, g,
}
myMelody = \relative c' {
\clef "treble"
\time 4/4
\tempo 4 = 120
\key g\major
\set Staff.midiInstrument = #"trombone"
g'4. g8 g g fis g a4 a a2
a8 a a a a a g a b4 b8 b b4 r8
g d' d d d d4 b8 g e'4 e e2
d4. e8 d c b a g4 g g2
\bar "|."
}
myLyrics = \lyricmode {
\set stanza = "1."
Drei Chi -- ne -- sen mit dem Kon -- tra -- bass sa -- ßen auf der Stra -- ße und
er -- zähl -- ten sich was. Da kam die Po -- li -- zei: Ja, was ist denn das?
Drei Chi -- ne -- sen mit dem Kon -- tra -- bass.
}
\score {
<<
\new ChordNames { \myChords }
\new Voice = "Lied" { \myMelody }
\new Lyrics \lyricsto "Lied" { \myLyrics }
% \new TabStaff { \myChords } %%check
>>
\midi { }
\layout { }
}
% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
% DinA4 0 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
== Tonleiter ==
<score sound="1">
{
\relative c' {
\clef treble
c2 d4 e f g a b c1
\break
c2 b4 a g f e d c1 }
\addlyrics {
"1" "2" "3" "4" "5" "6" "j7" "8"
"8" "j7" "6" "5" "4" "3" "2" "1"
}
}
</score>
== Akkorde ==
<score raw="1">
\paper{
indent=0\mm
line-width=120\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
bookTitleMarkup = ##f
scoreTitleMarkup = ##f
}
\markup \override #'(fret-diagram-details . (
(number-type . arabic)
(finger-code . in-dot)
))
{
\fret-diagram #"s:2;f:1;6-3-2;5-2-1;5-5-4;4-4-3;"
% Prozentzeuchen ist für Kommentare
% s:3 vergrößert das Griffbild (3x size)
% f:1 nummerierter Fingersatz
% 6-3-2 = 6.Saite-3.Bund-2.Finger
" " % Platzhalter
\fret-diagram #"s:3;f:1;5-4-2;4-3-1;4-6-4;3-5-3;"
" "
\fret-diagram #"s:3;f:2;6-3-2;5-2-1;4-o;3-o;2-o;1-3-3;"
% f:2 shows fingers beneath the strings
% 4-o indicates 4th string is played open
}
</score>
==Progression==
<score>
<<
\new ChordNames { \chordmode {
c1 c:/b a:m a:m/g f d:/fis g g:7
}}
\new FretBoards {
\override FretBoards.FretBoard.size = #'1.5
\override FretBoard.fret-diagram-details.finger-code = #'in-dot
\override FretBoard.fret-diagram-details.dot-color = #'white
\override FretBoard.fret-diagram-details.orientation =
#'landscape
< c-3 e-2 g c'-1 e' >
< b,-2 g c'-1 e' >
< a, e-2 a-3 c'-1 e' >
< g,-4 a, e-2 a-3 c'-1 e' >
< f,-1 c-3 f-4 a-2 f'-1 >
< fis,-2 a, d a-3 c'-1 fis'-4>
< g,-3 b,-2 d g b g'-4>
< g,-3 b,-2 d g b f'-1>
}
>>
</score>
= Lilypond-Probleme=
== Doppelte Notenhälse ==
Punktierte halbe Noten im Bass ( c,2. ) erhalten in der Tabulatur zwei Notenhälse. Das ist für völlige Anfänger verwirrend.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="3/4 mit Wechselbass"
encoder="mjchael"
}
%Diskant- bzw. Melodiesaiten
Diskant = {
r4 < g c' e'> < g c' e'> | r < g c' e'> < g c' e'> | % C /B
r4 < a c' e'> < a c' e'> | r < a c' e'> < a c' e'> | % Am
r4 < a c' f'> < a c' f'> | r < a c' f'> < a c' f'> | % F
r4 < g b g'> < g b g'> | r < g b g'> < g b g'> | % G
\mark "4x"
}
%Basssaiten, die hier nur mit dem Daumen gespielt werden.
Bass = {
c2. b, a, e f a, g, b,
}
% Layout- bzw. Bildausgabe
\score {
<<
\new ChordNames {
\chordmode {
c2. c:/b a:m a:m/e f f:/a g g:/b
}
}
{
%Noten
\new Staff <<
\tempo 4 = 120
%Tempo ausblenden
\set Score.tempoHideNote = ##t
\time 3/4
\key c \major
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8" \repeat volta 4
% Noten im Diskant
\Diskant
\\
% Noten im Bass - beachte: Wiederholungszeichen ist für Midi notwendig!
\repeat volta 4
\Bass
>>
}
% Tabulatur
\new TabStaff {
\tabFullNotation \repeat volta 4
<<
% Tabulatur im Diskant
\Diskant
\\
% Tabulatur im Bass
\Bass
>>
}
>>
\layout {}
}
% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\key c \major
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8" \repeat volta 4
\Diskant
\\
\repeat volta 4
\Bass
>>
}
>>
\midi {}
}
% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
% DinA4 0 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
=== Lösung ===
Lösche oder kommentiere \tabFullNotation aus
\new TabStaff {
% \tabFullNotation
...
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="3/4 mit Wechselbass"
encoder="mjchael"
}
%Diskant- bzw. Melodiesaiten
Diskant = {
r4 < g c' e'> < g c' e'> | r < g c' e'> < g c' e'> | % C /B
r4 < a c' e'> < a c' e'> | r < a c' e'> < a c' e'> | % Am
r4 < a c' f'> < a c' f'> | r < a c' f'> < a c' f'> | % F
r4 < g b g'> < g b g'> | r < g b g'> < g b g'> | % G
\mark "4x"
}
%Basssaiten, die hier nur mit dem Daumen gespielt werden.
Bass = {
\override NoteHead.color = #red
\override Stem.color = #red
\override Beam.color = #red
\override Accidental.color = #red
\override Staff.LedgerLineSpanner.color = #red
c2. b, a, e f a, g, b,
}
% Layout- bzw. Bildausgabe
\score {
<<
\new ChordNames {
\chordmode {
c2. c:/b a:m a:m/e f f:/a g g:/b
}
}
{
%Noten
\new Staff <<
\tempo 4 = 120
%Tempo ausblenden
\set Score.tempoHideNote = ##t
\time 3/4
\key c \major
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8" \repeat volta 4
% Noten im Diskant
\Diskant
\\
% Noten im Bass - beachte: Wiederholungszeichen ist für Midi notwendig!
\repeat volta 4
\Bass
>>
}
% Tabulatur
\new TabStaff {
% \tabFullNotation
\repeat volta 4
<<
% Tabulatur im Diskant
\Diskant
\\
% Tabulatur im Bass
\Bass
>>
}
>>
\layout {}
}
% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\key c \major
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8" \repeat volta 4
\Diskant
\\
\repeat volta 4
\Bass
>>
}
>>
\midi {}
}
% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
% DinA4 0 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
== Stimmkreuzung ==
2 Notenköpfe für einen Ton
Unschöne Pausen
<score lang="lilypond" >
{
<<
\clef "treble_8"
{ r8 g c' e' r a d' f'}
\\
{ c2 d }
>>
}
</score>
Unschöne doppelten Notenköpfe
<score lang="lilypond" >
{
<<
\clef "treble_8"
{ c8 g c' e' d a d' f'}
\\
{ c2 d }
>>
}
</score>
;Lösung
\mergeDifferentlyHeadedOn
<score lang="lilypond" >
{
\mergeDifferentlyHeadedOn
<<
\clef "treble_8"
{ c8 g c' e' d a d' f'}
\\
{ c2 d }
>>
}
</score>
=== Arpeggio ===
<score lang="lilypond" >
<< \new Staff { e2 \grace { c16 d e f } e2 }
\new Staff { c2 \grace { g8 b } c2 } >>
</score>
== Guitar-Cords ==
\include "predefined-guitar-fretboards.ly" is not posible.
<pre>
<score lang="lilypond" raw="1">
\include "predefined-guitar-fretboards.ly"
\version "2.16.0"
mychords = \chordmode {
c1 c:m c:aug c:dim c:dim7 c:7 c:maj7 c:m7 c:9 \break
}
...
</pre>
== Eingeschobene Stimme kommt nicht in die Tabulatur ==
<score sound="1" raw="1">
\version "2.20.0"
\header {
title = " Op. 31 Etude No.1 Andante "
% subtitle = " ... "
% piece = " ... "
composer = "Ferdinand Sor (*1778-†1839)"
% opus = "Op.31"
% source = "using different sources"
arranger = "Mjchael"
copyright = "ccbysa de.wikibooks.org/wiki/Gitarre"
% footer = " ... "
}
Diskant = \relative c' {
\set Staff.midiInstrument = "acoustic guitar (nylon)"
%Part 1
\override NoteHead #'color = #red
\partial 4
\repeat volta 2 { g4
e'2 c4 | g c e | g-4 f-1 d-4 | b2 g4 |
g2 c4 | c b c |
%% kurzfristig zweistimmig
<<
{
d2.-4~ | d
}
\new Voice {
\override NoteHead #'color = #green
%% g4\rest = 1/4 Pause in Höhe g
g,4\rest g4 g | g4 g g
}
>> \break
%% wieder einstimmigen
\override NoteHead #'color = #red
e'2 c4 | g c e | g-3 fis-2 f-1 | d-4 b g | c2 e4 |
a,-2 d-4 b | c2 e4 | c r4
}
}
Bass = \relative c' {
\override NoteHead #'color = #blue
\partial 4
\repeat volta 2 { s4 |
c,2. | e | d | f-3 | e | e4 d c | b2.-2~ |
b | c2. | e | d | f-4 | e4 g c, | f2-3 g4 |
c, e g | <c, e> s4
}
}
Gitarre = << \Diskant \\ \Bass >>
\score {
<<
\new Voice {
\clef "treble_8" \time 3/4
\tempo 4 = 120 \key c \major
\set Score.tempoHideNote = ##t
\Gitarre
}
\new TabStaff {
\Gitarre
}
>>
\layout { }
}
\score {
<<
\new Voice {
\clef "treble_8" \time 3/4
\tempo 4 = 120 \key c \major
\unfoldRepeats \Gitarre
}
>>
\midi { }
}
\paper {
indent=0\mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
<pre>
<score sound="1" raw="1">
\version "2.20.0"
\header {
title = " Op. 31 Etude No.1 Andante "
% subtitle = " ... "
% piece = " ... "
composer = "Ferdinand Sor (*1778-†1839)"
% opus = "Op.31"
% source = "using different sources"
arranger = "Mjchael"
copyright = "ccbysa de.wikibooks.org/wiki/Gitarre"
% footer = " ... "
}
Diskant = \relative c' {
\set Staff.midiInstrument = "acoustic guitar (nylon)"
%Part 1
\override NoteHead #'color = #red
\partial 4
\repeat volta 2 { g4
e'2 c4 | g c e | g-4 f-1 d-4 | b2 g4 |
g2 c4 | c b c |
%% kurzfristig zweistimmig
<<
{
d2.-4~ | d
}
\new Voice {
\override NoteHead #'color = #green
%% g4\rest = 1/4 Pause in Höhe g
g,4\rest g4 g | g4 g g
}
>> \break
%% wieder einstimmigen
\override NoteHead #'color = #red
e'2 c4 | g c e | g-3 fis-2 f-1 | d-4 b g | c2 e4 |
a,-2 d-4 b | c2 e4 | c r4
}
}
Bass = \relative c' {
\override NoteHead #'color = #blue
\partial 4
\repeat volta 2 { s4 |
c,2. | e | d | f-3 | e | e4 d c | b2.-2~ |
b | c2. | e | d | f-4 | e4 g c, | f2-3 g4 |
c, e g | <c, e> s4
}
}
Gitarre = << \Diskant \\ \Bass >>
\score {
<<
\new Voice {
\clef "treble_8" \time 3/4
\tempo 4 = 120 \key c \major
\set Score.tempoHideNote = ##t
\Gitarre
}
\new TabStaff {
\Gitarre
}
>>
\layout { }
}
\score {
<<
\new Voice {
\clef "treble_8" \time 3/4
\tempo 4 = 120 \key c \major
\unfoldRepeats \Gitarre
}
>>
\midi { }
}
\paper {
indent=0\mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
</pre>
== Lösung ==
Danke an das [https://lilypondforum.de/index.php/topic,1001.0.html LilipondForum.de] für die Hilfe.
new Botton statt new Voice
<pre>
\new Bottom = "middle" {
% \override NoteHead #'color = #green
\voiceThree
%% g4\rest = 1/4 Pause in Höhe g
g,4\rest g4 g | g4 g g
}
</pre>
<score sound="1" raw="1">
\version "2.20.0"
\header {
title = " Op. 31 Etude No.1 Andante "
% subtitle = " ... "
% piece = " ... "
composer = "Ferdinand Sor (*1778-†1839)"
% opus = "Op.31"
% source = "using different sources"
arranger = "Mjchael"
copyright = "ccbysa de.wikibooks.org/wiki/Gitarre"
% footer = " ... "
}
Diskant = \relative c' {
\set Staff.midiInstrument = "acoustic guitar (nylon)"
%Part 1
\override NoteHead #'color = #red
\partial 4
\repeat volta 2 { g4
e'2 c4 | g c e | g-4 f-1 d-4 | b2 g4 |
g2 c4 | c b c |
%% kurzfristig zweistimmig
<<
{
d2.-4~ | d
}
\new Bottom = "middle" {
\override NoteHead #'color = #green
\voiceThree
%% g4\rest = 1/4 Pause in Höhe g
g,4\rest g4 g | g4 g g
}
>> \break
%% wieder einstimmigen
\override NoteHead #'color = #red
e'2 c4 | g c e | g-3 fis-2 f-1 | d-4 b g | c2 e4 |
a,-2 d-4 b | c2 e4 | c r4
}
}
Bass = \relative c' {
\override NoteHead #'color = #blue
\partial 4
\repeat volta 2 { s4 |
c,2. | e | d | f-3 | e | e4 d c | b2.-2~ |
b | c2. | e | d | f-4 | e4 g c, | f2-3 g4 |
c, e g | <c, e> s4
}
}
Gitarre = << \Diskant \\ \Bass >>
\score {
<<
\new Voice {
\clef "treble_8" \time 3/4
\tempo 4 = 120 \key c \major
\set Score.tempoHideNote = ##t
\Gitarre
}
\new TabStaff {
\Gitarre
}
>>
\layout { }
}
\score {
<<
\new Voice {
\clef "treble_8" \time 3/4
\tempo 4 = 120 \key c \major
\unfoldRepeats \Gitarre
}
>>
\midi { }
}
\paper {
indent=0\mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
== Formatierungstest ==
=== Ausklappbare Box ===
<pre><div style="clear:both;" class="NavFrame">
<div class="NavHead">Hier stehen die Details</div>
<div class="NavContent" style="text-align:left;">
Hier steht der präzisierende Text im Wiki-Format
</div></div></pre>
<div style="clear:both;" class="NavFrame">
<div class="NavHead">Hier stehen die Details</div>
<div class="NavContent" style="text-align:left;">
Hier steht der präzisierende Text im Wiki-Format
</div></div>
;Klappbox
<nowiki>{{Navigationsleiste |titel=MeinTitel |inhalt=MeinInhalt}}</nowiki>
{{Navigationsleiste |titel=MeinTitel |inhalt=MeinInhalt}}
;Verschachtelte Klappboxen incl. Linkangaben und Formatierung
{{Navigationsleiste |titel=[[Gitarre:_Lagerfeuerdiplom|<< Lagerfeuerdiplom]] |inhalt=[[Wikibooks:Ich brauche Hilfe]] - [[Wikibooks:Löschkandidaten]] - [[Wikibooks:Verbesserungsvorschläge]]
{{Navigationsleiste |titel=[[Gitarre|Bücher]] |inhalt={{:Gitarre/ Navi_Bände}} |border=1px dashed red |bgHead=pink |bgContent=yellow }} |border=1px dashed red |bgHead=pink |bgContent=yellow }}
= Auf A4 vormatierter Div =
<div style="height: 257mm; width: 170mm; margin: 5mm; padding: 15mm; border: 1px #333333 solid; overflow: auto;">
== Thema: Diatonische Intervalle ==
=== Tabellen ===
{| border="1"
| colspan="3" align="center" |ausgehend von einer Dur-Tonleiter
|
| colspan="4" align="center" |Vergleichstonart = C-Dur
|-
! Tonstufen
! Intervall
! Funktion
! Modus bzw. Kirchen-tonart
! Grund-Akkord
! Septim-Akkorde
! Jazzakkorde
! Intervalle des Akkordes bzw. des Modus
|-
| 1 ( 8 )
| Prime ( Oktave )
| Tonika
| ionisch
| C-Dur
| Cj7
| Cj7/9(/11(/13))
| 1/2/3/4/5/6/j7
|-
| 2 (9)
| Sekunde (None)
| Subdominanten-Parallele
| dorisch
| D-Moll
| Dm7
| Dm7/b9(/11(/13))
| 1/2/b3/4/5/6/7
|-
| 3 (10)
| Terz (Dezime)
| Dominanten-Parallele
| phrygisch
| E-Moll
| Em7
| Em7/b9(/11(/b13))
| 1/b2b/3/4/5/b6/7
|-
| 4 (11)
| Quarte(Undezime)
| Subdominante
| lydisch
| F-Dur
| Fj7
| Fj7/9(/#11(/13))
| 1/2/3/#4/5/6/j7
|-
| 5 (12)
| Quinte(Duodezime)
| Dominante
| mixolydisch
| G-Dur
| G7
| G7/9(/11(/13))
| 1/2/3/4/5/6/7
|-
| 6 (13)
| Sexte (Tredezime )
| Tonika-Parallele
| äolisch
| A-Moll
| Am7
| Am7/9(/11(/b13))
| 1/2/b3/4/5/b6/7
|-
| 7 (14)
| Septime(Quartdezime)
| (verminderter Septakkord oder verkürzter Dom. Septakkord )
| lokrisch
| Hm/5b bzw. h0 bzw. Hdim
| Hm7/b5
| Hm7/b5/b9(/11(/b13))
| 1/b2/b3/4/b5/b6/7
|}
zu verkürzter Dom. Septakkord: ein verminderter m7b5 kann als ein 7/9er ohne Grundton umgedeutet werden. Hm7b5 = G7/9 ohne Grundton bzw. G7/9/H.
{{Vorlage:Tipp 50px |Tipp-Test mal sehen was passiert}}
=== Eine Vollständige Transponier-Tabelle für alle Durtonleitern ===
Bei dieser Tabelle werden auch die eher untypischen Tonarten bzw. Töne wie <span style="background-color:#ffcccc;">Cb E# und H#</span> mit berücksichtigt, da diese in manchen Fällen unvermeidbar sind. Trotzdem werden sie in der Praxis wenn möglich umgangen.
Trotzdem kommt man bei der Tonart F#-Dur bzw. Gb-Dur um die Erhöhung von E zu E# bzw. die Erniedrigung von C zu Cb nicht drum herum. Mann sollte aber, wenn es irgend möglich ist, diese Tonart einfach meiden (oder als Gitarrenspieler einfach mit einem Capo spielen und dann die Tonart F angeben...) Solche seltsamen Töne können übrigens auch bei einigen Jazz-Akkorden oder Molltonarten (z.B. Verminderte oder übermäßige Akkorde) unvermeidbar sein.
Die Unart einiger Hobby-Musiker ist es, für ihre Akkorde bevorzugt Kreuztonarten zu wählen. Wenn man nur drei oder vier Akkorde aufzeichnen will, mag man als Gitarrenspieler auch damit zurecht kommen. Solange es nur um die Position von Akkordbildern auf dem Griffbrett geht, müsste man sich darum auch keine weiteren Gedanken machen. Probleme entstehen erst, wenn ein Gitarrenspieler in einer Band spielt, und er den anderen Musikern erklären soll, was er da eigentlich spielt. Ein Gitarrenspieler, der nur Kreuztonarten verwendet, hat sich wahrscheinlich nie Gedanken darüber gemacht, wie eigentlich die restlichen Töne des Akkordes heißen müssten. Es kommen nämlich für den Klavierspieler oder Saxophonisten einige doppelt erhöhte Töne wie <span style="background-color:#ff3333;">Cisis und Fisis</span> hinzu, die dieser erst einmal verdauen muss. Und auch wenn man selbst herumtrickst, und Cisis als D und Fissis als G bezeichnet, so verzeiht einem ein halbwegs anständig programmiertes Noten- oder Tabulatur-Programm nicht solche Fehler, und spuckt unlesbare Noten und Tabulaturen aus. Natürlich möchte ein Musiker in der Praxis nur ungerne mit solchen Tönen umgehen.
Trotz der ganzen Vorrede wurden diese exotischen Tonarten mit aufgeführt;
;Jedoch nicht um sie zu verwenden,
;sondern um sie zu meiden.
Denn woher sollte ein Musiker sonst wissen, das man einen D#-Dur-Akkord '''NICHT''' verwenden sollte, da dessen Dur-Terz ein <span style="background-color:#ff3333;">Fisis</span> also ein doppelt erhöhtes F ist. Und ein D#7 hätte sogar noch die Septime <span style="background-color:#ff3333;">Cisis</span> mit dabei. Ja, so etwas ist grausig! Hätte man dagegen ein Eb gewählt, dann wären alle Töne und Vorzeichen im grünen Bereich geblieben. <ref>Wenn man unbedingt eine Tonart mit mehr als 6 Vorzeichen braucht, um z.B. einen harmonischen Verlauf wie einen Quintfall nachzuzeichnen, kann man im ersten Schritt die Vorzeichen der "exotischen Tonart" angeben und im zweiten Schritt dann die alternative enharmonische Verwechslung</ref>
Meist kann man solche Problem also dadurch umgehen, dass man (besonders bei Durtonarten) nicht die Kreuztonart wählt, sondern die enharmonische Verwechslung (sprich die B-Tonart) nimmt. (In der Tabelle stehen die leichter zu lesenden Alternativen eine Reihe unten drunter und ist mit der "≈" gekennzeichnet.)
Die Töne einer Tonleiter werden hier untereinander und nicht nebeneinander geschrieben.
<table border="1" style="width:60px; overflow:auto; text-align:center;">
<tr style="background-color:#EEEEEE; font-family:Arial, Helvetica, sans-serif;">
<td style="height:25px;">Tonleiter</td>
<td style="width:50px; height:25px;">C</td>
<td style="width:50px; height:25px;">C#</td>
<td style="width:50px; height:25px;">Db</td>
<td style="width:50px; height:25px;">D</td>
<td style="width:50px; height:25px;">D#</td>
<td style="width:20px; height:25px">Eb</td>
<td style="width:50px; height:25px;">E</td>
<td style="width:50px; height:25px;">E#</td>
<td style="width:50px; height:25px;">F</td>
<td style="width:50px; height:25px;">F#</td>
<td style="width:50px; height:25px;">Gb</td>
<td style="width:50px; height:25px;">G</td>
<td style="width:50px; height:25px;">G#</td>
<td style="width:50px; height:25px;">Ab</td>
<td style="width:50px; height:25px;">A</td>
<td style="width:50px; height:25px;">A#</td>
<td style="width:50px; height:25px;">Bb
<!-- Hyperlink zur Refferenz --></td>
<td style="width:50px; height:25px;">H<!-- Hyperlink zur Refferenz --></td>
<td style="width:50px; height:25px;">H#
<!-- Hyperlink zur Refferenz --></td>
</tr>
<tr>
<td style="height:25px;">Ersatztonart</td>
<td style="width:50px; height:25px; background-color:#FFFF00;"> </td>
<td style="width:50px; height:25px;">≈ Db</td>
<td style="width:50px; height:25px;"> </td>
<td style="width:50px; height:25px;"> </td>
<td style="width:50px; height:25px;">≈ Eb</td>
<td style="width:20px; height:25px"> </td>
<td style="width:50px; height:25px;"> </td>
<td style="width:50px; height:25px;">≈ F</td>
<td style="width:50px; height:25px;"> </td>
<td style="width:50px; height:25px;">≈ Gb</td>
<td style="width:50px; height:25px;">≈ F#</td>
<td style="width:50px; height:25px;"> </td>
<td style="width:50px; height:25px;">≈ Ab</td>
<td style="width:50px; height:25px;"> </td>
<td style="width:50px; height:25px;"> </td>
<td style="width:50px; height:25px;">≈ Bb</td>
<td style="width:50px; height:25px;"> </td>
<td style="width:50px; height:25px;"> </td>
<td style="width:50px; height:25px;">≈ C</td>
</tr>
<tr>
<td style="height:25px;">Stufe 1</td>
<td style="width:50px; height:25px; background-color:#FFFF00;">C</td>
<td style="width:50px; height:25px;">C#</td>
<td style="width:50px; height:25px;">Db</td>
<td style="width:50px; height:25px;">D</td>
<td style="width:50px; height:25px;">D#</td>
<td style="width:50px; height:25px;">Eb</td>
<td style="width:50px; height:25px;">E</td>
<td style="width:50px; height:25px; background-color:#FFCCCC;">E#</td>
<td style="width:50px; height:25px;">F</td>
<td style="width:50px; height:25px;">F#</td>
<td style="width:50px; height:25px;">Gb</td>
<td style="width:50px; height:25px;">G</td>
<td style="width:50px; height:25px;">G#</td>
<td style="width:50px; height:25px;">Ab</td>
<td style="width:50px; height:25px;">A</td>
<td style="width:50px; height:25px;">A#</td>
<td style="width:50px; height:25px;">Bb
<!-- Hyperlink zur Refferenz --></td>
<td style="width:50px; height:25px;">H<!-- Hyperlink zur Refferenz --></td>
<td style="width:50px; height:25px; background-color:#FFCCCC;">H#
<!-- Hyperlink zur Refferenz --></td>
</tr>
<tr>
<td style="height:25px;">Stufe 2</td>
<td style="width:50px; height:25px; background-color:#FFFF00;">D</td>
<td style="width:50px; height:25px;">D#</td>
<td style="width:50px; height:25px;">Eb</td>
<td style="width:50px; height:25px;">E</td>
<td style="width:50px; height:25px; background-color:#FFCCCC;">E#</td>
<td style="width:50px; height:25px;">F</td>
<td style="width:50px; height:25px;">F#</td>
<td style="width:50px; height:25px; background-color:#FF3333;">F##</td>
<td style="width:50px; height:25px;">G</td>
<td style="width:50px; height:25px;">G#</td>
<td style="width:50px; height:25px;">Ab</td>
<td style="width:50px; height:25px;">A</td>
<td style="width:50px; height:25px;">A#</td>
<td style="width:50px; height:25px;">Bb
<!-- Hyperlink zur Refferenz --></td>
<td style="width:50px; height:25px;">H <!-- Hyperlink zur Refferenz --></td>
<td style="width:50px; height:25px; background-color:#FFCCCC;">H#
<!-- Hyperlink zur Refferenz --></td>
<td style="width:50px; height:25px;">C</td>
<td style="width:50px; height:25px;">C#</td>
<td style="width:50px; height:25px; background-color:#FF3333;">C##</td>
</tr>
<tr>
<td style="height:25px;">Stufe 3</td>
<td style="width:50px; height:25px; background-color:#FFFF00;">E</td>
<td style="width:50px; height:25px; background-color:#FFCCCC;">E#</td>
<td style="width:50px; height:25px;">F</td>
<td style="width:50px; height:25px;">F#</td>
<td style="width:50px; height:25px; background-color:#FF3333;">F##</td>
<td style="width:50px; height:25px;">G</td>
<td style="width:50px; height:25px;">G#</td>
<td style="width:50px; height:25px; background-color:#FF3333;">G##</td>
<td style="width:50px; height:25px;">A</td>
<td style="width:50px; height:25px;">A#</td>
<td style="width:50px; height:25px;">Bb
<!-- Hyperlink zur Refferenz --></td>
<td style="width:50px; height:25px;">H <!-- Hyperlink zur Refferenz --></td>
<td style="width:50px; height:25px; background-color:#FFCCCC;">H#
<!-- Hyperlink zur Refferenz --></td>
<td style="width:50px; height:25px;">C</td>
<td style="width:50px; height:25px;">C#</td>
<td style="width:50px; height:25px; background-color:#FF3333;">C##</td>
<td style="width:50px; height:25px;">D</td>
<td style="width:50px; height:25px;">D#</td>
<td style="width:50px; height:25px; background-color:#FF3333;">D##</td>
</tr>
<tr>
<td style="height:25px;">Stufe 4</td>
<td style="width:50px; height:25px; background-color:#FFFF00;">F</td>
<td style="width:50px; height:25px;">F#</td>
<td style="width:50px; height:25px;">Gb</td>
<td style="width:50px; height:25px;">G</td>
<td style="width:50px; height:25px;">G#</td>
<td style="width:50px; height:25px;">Ab</td>
<td style="width:50px; height:25px;">A</td>
<td style="width:50px; height:25px;">A#</td>
<td style="width:50px; height:25px;">Bb <!-- Hyperlink zur Refferenz --></td>
<td style="width:50px; height:25px;">H
<!-- Hyperlink zur Refferenz --></td>
<td style="width:50px; height:25px; background-color:#FFCCCC;">Cb</td>
<td style="width:50px; height:25px;">C</td>
<td style="width:50px; height:25px;">C#</td>
<td style="width:50px; height:25px;">Db</td>
<td style="width:50px; height:25px;">D</td>
<td style="width:50px; height:25px;">D#</td>
<td style="width:50px; height:25px;">Eb</td>
<td style="width:50px; height:25px;">E</td>
<td style="width:50px; height:25px; background-color:#FFCCCC;">E#</td>
</tr>
<tr>
<td style="height:25px;">Stufe 5</td>
<td style="width:50px; height:25px; background-color:#FFFF00;">G</td>
<td style="width:50px; height:25px;">G#</td>
<td style="width:50px; height:25px;">Ab</td>
<td style="width:50px; height:25px;">A</td>
<td style="width:50px; height:25px;">A#</td>
<td style="width:50px; height:25px;">Bb
<!-- Hyperlink zur Refferenz --></td>
<td style="width:50px; height:25px;">H <!-- Hyperlink zur Refferenz --></td>
<td style="width:50px; height:25px; background-color:#FFCCCC;">H#
<!-- Hyperlink zur Refferenz --></td>
<td style="width:50px; height:25px;">C</td>
<td style="width:50px; height:25px;">C#</td>
<td style="width:50px; height:25px;">Db</td>
<td style="width:50px; height:25px;">D</td>
<td style="width:50px; height:25px;">D#</td>
<td style="width:50px; height:25px;">Eb</td>
<td style="width:50px; height:25px;">E</td>
<td style="width:50px; height:25px; background-color:#FFCCCC;">E#</td>
<td style="width:50px; height:25px;">F</td>
<td style="width:50px; height:25px;">F#</td>
<td style="width:50px; height:25px; background-color:#FF3333;">F##</td>
</tr>
<tr>
<td style="height:25px;">Stufe 6</td>
<td style="width:50px; height:25px; background-color:#FFFF00;">A</td>
<td style="width:50px; height:25px;">A#</td>
<td style="width:50px; height:25px;">Bb
<!-- Hyperlink zur Refferenz --></td>
<td style="width:50px; height:25px;">H <!-- Hyperlink zur Refferenz --></td>
<td style="width:50px; height:25px; background-color:#FFCCCC;">H#
<!-- Hyperlink zur Refferenz --></td>
<td style="width:50px; height:25px;">C</td>
<td style="width:50px; height:25px;">C#</td>
<td style="width:50px; height:25px; background-color:#FF3333;">C##</td>
<td style="width:50px; height:25px;">D</td>
<td style="width:50px; height:25px;">D#</td>
<td style="width:50px; height:25px;">Eb</td>
<td style="width:50px; height:25px;">E</td>
<td style="width:50px; height:25px; background-color:#FFCCCC;">E#</td>
<td style="width:50px; height:25px;">F</td>
<td style="width:50px; height:25px;">F#</td>
<td style="width:50px; height:25px; background-color:#FF3333;">F##</td>
<td style="width:50px; height:25px;">G</td>
<td style="width:50px; height:25px;">G#</td>
<td style="width:50px; height:25px; background-color:#FF3333;">G##</td>
</tr>
<tr>
<td style="height:25px;">Stufe 7</td>
<td style="width:50px; height:25px; background-color:#FFFF00;">H <!-- Hyperlink zur Refferenz --></td>
<td style="width:50px; height:25px; background-color:#FFCCCC;">H#
<!-- Hyperlink zur Refferenz --></td>
<td style="width:50px; height:25px;">C</td>
<td style="width:50px; height:25px;">C#</td>
<td style="width:50px; height:25px; background-color:#FF3333;">C##</td>
<td style="width:50px; height:25px;">D</td>
<td style="width:50px; height:25px;">D#</td>
<td style="width:50px; height:25px; background-color:#FF3333;">D##</td>
<td style="width:50px; height:25px;">E</td>
<td style="width:50px; height:25px; background-color:#FFCCCC;">E#</td>
<td style="width:50px; height:25px;">F</td>
<td style="width:50px; height:25px;">F#</td>
<td style="width:50px; height:25px; background-color:#FF3333;">F##</td>
<td style="width:50px; height:25px;">G</td>
<td style="width:50px; height:25px;">G#</td>
<td style="width:50px; height:25px; background-color:#FF3333;">G##</td>
<td style="width:50px; height:25px;">A</td>
<td style="width:50px; height:25px;">A#</td>
<td style="width:50px; height:25px; background-color:#FF3333;">A##</td>
</tr>
</table>
=== Tonleiter Transponieren im Quintenzirkel (einfach) ===
Die obere Tabelle ist zwar vollständig, aber nicht gerade übersichtlich. Um ein bisschen Ordnung hinein zu bekommen, werden die einzelnen Tonleitern im Quintenzirkel angeordnet. Dieses hat zur Folge, dass alle einfachen Tonarten in die Mitte rutschen, und die schweren (zumindest was die Anzahl der Vorzeichen betrifft) an den Rand gedrängt werden. Man erkennt schon auf den ersten Blick, dass etwas Ordnung in das Chaos hinein gekommen ist. von jeder Tonart aus unterscheidet sich die vorhergehende Tonart sowie die nachfolgende Tonart nur um einen Vorzeichen. Welches Vorzeichen hinzukommt (von der mittleren Tonart C-Dur ausgehend), wurde fett hervorgehoben.
<table border="1" style="width:600px; overflow:auto; text-align:center;" id="table1">
<tr style="background-color:#EEEEEE; font-family:Arial, Helvetica, sans-serif;">
<td style="height:25px;">Tonart</td>
<td style="width:50px; height:25px;">Gb</td>
<td style="width:50px; height:25px;">Db</td>
<td style="width:50px; height:25px;">Ab</td>
<td style="width:20px; height:25px">Eb</td>
<td style="width:50px; height:25px;">Bb<!-- Hyperlink zur Refferenz --></td>
<td style="width:50px; height:25px;">F</td>
<td style="width:50px; height:25px;">C</td>
<td style="width:50px; height:25px;">G</td>
<td style="width:50px; height:25px;">D</td>
<td style="width:50px; height:25px;">A</td>
<td style="width:50px; height:25px;">E</td>
<td style="width:50px; height:25px;">H<!-- Hyperlink zur Refferenz --></td>
<td style="width:50px; height:25px;">F#</td>
<td style="width:50px; height:25px;">C#</td>
<td style="width:50px; height:25px;">G#</td>
<td style="width:50px; height:25px;">D#</td>
<td style="width:50px; height:25px;">A#</td>
<td style="width:50px; height:25px;">E#</td>
<td style="width:50px; height:25px;">H#<!-- Hyperlink zur Refferenz --></td>
</tr>
<tr>
<td style="height:25px;">Ersatztonart</td>
<td style="width:50px; height:25px;">≈ F#</td>
<td style="width:50px; height:25px;"> </td>
<td style="width:50px; height:25px;"> </td>
<td style="width:20px; height:25px"> </td>
<td style="width:50px; height:25px;"> </td>
<td style="width:50px; height:25px;"> </td>
<td style="width:50px; height:25px; background-color:#FFFF00;"> </td>
<td style="width:50px; height:25px;"> </td>
<td style="width:50px; height:25px;"> </td>
<td style="width:50px; height:25px;"> </td>
<td style="width:50px; height:25px;"> </td>
<td style="width:50px; height:25px;"> </td>
<td style="width:50px; height:25px;">≈ Gb</td>
<td style="width:50px; height:25px;">≈ Db</td>
<td style="width:50px; height:25px;">≈ Ab</td>
<td style="width:50px; height:25px;">≈ Eb</td>
<td style="width:50px; height:25px;">≈ Bb<!-- Hyperlink zur Refferenz --></td>
<td style="width:50px; height:25px;">≈ F</td>
<td style="width:50px; height:25px;">≈ C</td>
</tr>
<tr>
<td style="height:25px;">Stufe 1</td>
<td style="width:50px; height:25px;">Gb</td>
<td style="width:50px; height:25px;">Db</td>
<td style="width:50px; height:25px;">Ab</td>
<td style="width:50px; height:25px;">Eb</td>
<td style="width:50px; height:25px;">Bb <!-- Hyperlink zur Refferenz --></td>
<td style="width:50px; height:25px;">F</td>
<td style="width:50px; height:25px; background-color:#FFFF00;">C</td>
<td style="width:50px; height:25px;">G</td>
<td style="width:50px; height:25px;">D</td>
<td style="width:50px; height:25px;">A</td>
<td style="width:50px; height:25px;">E</td>
<td style="width:50px; height:25px;">H<!-- Hyperlink zur Refferenz --></td>
<td style="width:50px; height:25px;">F#</td>
<td style="width:50px; height:25px;">C#</td>
<td style="width:50px; height:25px;">G#</td>
<td style="width:50px; height:25px;">D#</td>
<td style="width:50px; height:25px;">A#</td>
<td style="width:50px; height:25px; background-color:#FFCCCC;">E#</td>
<td style="width:50px; height:25px; background-color:#FFCCCC;">H# <!-- Hyperlink zur Refferenz --></td>
</tr>
<tr>
<td style="height:25px;">Stufe 2</td>
<td style="width:50px; height:25px;">Ab</td>
<td style="width:50px; height:25px;">Eb</td>
<td style="width:50px; height:25px;">Bb <!-- Hyperlink zur Refferenz --></td>
<td style="width:50px; height:25px;">F</td>
<td style="width:50px; height:25px;">C</td>
<td style="width:50px; height:25px;">G</td>
<td style="width:50px; height:25px; background-color:#FFFF00;">D</td>
<td style="width:50px; height:25px;">A</td>
<td style="width:50px; height:25px;">E</td>
<td style="width:50px; height:25px;">H <!-- Hyperlink zur Refferenz --></td>
<td style="width:50px; height:25px;">F#</td>
<td style="width:50px; height:25px;">C#</td>
<td style="width:50px; height:25px;">G#</td>
<td style="width:50px; height:25px;">D#</td>
<td style="width:50px; height:25px;">A#</td>
<td style="width:50px; height:25px; background-color:#FFCCCC;">E#</td>
<td style="width:50px; height:25px; background-color:#FFCCCC;">H# <!-- Hyperlink zur Refferenz --></td>
<td style="width:50px; height:25px; background-color:#FF3333;">F##</td>
<td style="width:50px; height:25px; background-color:#FF3333;">C##</td>
</tr>
<tr>
<td style="height:25px;">Stufe 3</td>
<td style="width:50px; height:25px;">Bb <!-- Hyperlink zur Refferenz --></td>
<td style="width:50px; height:25px;">F</td>
<td style="width:50px; height:25px;">C</td>
<td style="width:50px; height:25px;">G</td>
<td style="width:50px; height:25px;">D</td>
<td style="width:50px; height:25px;">A</td>
<td style="width:50px; height:25px; background-color:#FFFF00;">E</td>
<td style="width:50px; height:25px;">H <!-- Hyperlink zur Refferenz --></td>
<td style="width:50px; height:25px;">F#</td>
<td style="width:50px; height:25px;">C#</td>
<td style="width:50px; height:25px;">G#</td>
<td style="width:50px; height:25px;">D#</td>
<td style="width:50px; height:25px;">A#</td>
<td style="width:50px; height:25px; background-color:#FFCCCC;">E#</td>
<td style="width:50px; height:25px; background-color:#FFCCCC;">H# <!-- Hyperlink zur Refferenz --></td>
<td style="width:50px; height:25px; background-color:#FF3333;">F##</td>
<td style="width:50px; height:25px; background-color:#FF3333;">C##</td>
<td style="width:50px; height:25px; background-color:#FF3333;">G##</td>
<td style="width:50px; height:25px; background-color:#FF3333;">D##</td>
</tr>
<tr>
<td style="height:25px;">Stufe 4</td>
<td style="width:50px; height:25px; background-color:#FFCCCC;"><em><strong>Cb</strong></em></td>
<td style="width:50px; height:25px;"><em><strong>Gb</strong></em></td>
<td style="width:50px; height:25px;"><em><strong>Db</strong></em></td>
<td style="width:50px; height:25px;"><em><strong>Ab</strong></em></td>
<td style="width:50px; height:25px;"><em><strong>Eb</strong></em></td>
<td style="width:50px; height:25px;"><em><strong>Bb <!-- Hyperlink zur Refferenz --></strong></em></td>
<td style="width:50px; height:25px; background-color:#FFFF00;">F</td>
<td style="width:50px; height:25px;">C</td>
<td style="width:50px; height:25px;">G</td>
<td style="width:50px; height:25px;">D</td>
<td style="width:50px; height:25px;">A</td>
<td style="width:50px; height:25px;">E</td>
<td style="width:50px; height:25px;">H <!-- Hyperlink zur Refferenz --></td>
<td style="width:50px; height:25px;">F#</td>
<td style="width:50px; height:25px;">C#</td>
<td style="width:50px; height:25px;">G#</td>
<td style="width:50px; height:25px;">D#</td>
<td style="width:50px; height:25px;">A#</td>
<td style="width:50px; height:25px; background-color:#FFCCCC;">E#</td>
</tr>
<tr>
<td style="height:25px;">Stufe 5</td>
<td height="32" style="width:50px; height:25px;">Db</td>
<td style="width:50px; height:25px;">Ab</td>
<td style="width:50px; height:25px;">Eb</td>
<td style="width:50px; height:25px;">Bb <!-- Hyperlink zur Refferenz --></td>
<td style="width:50px; height:25px;">F</td>
<td style="width:50px; height:25px;">C</td>
<td style="width:50px; height:25px; background-color:#FFFF00;">G</td>
<td style="width:50px; height:25px;">D</td>
<td style="width:50px; height:25px;">A</td>
<td style="width:50px; height:25px;">E</td>
<td style="width:50px; height:25px;">H <!-- Hyperlink zur Refferenz --></td>
<td style="width:50px; height:25px;">F#</td>
<td style="width:50px; height:25px;">C#</td>
<td style="width:50px; height:25px;">G#</td>
<td style="width:50px; height:25px;">D#</td>
<td style="width:50px; height:25px;">A#</td>
<td style="width:50px; height:25px; background-color:#FFCCCC;">E#</td>
<td style="width:50px; height:25px; background-color:#FFCCCC;">H# <!-- Hyperlink zur Refferenz --></td>
<td style="width:50px; height:25px; background-color:#FF3333;">F##</td>
</tr>
<tr>
<td style="height:25px;">Stufe 6</td>
<td style="width:50px; height:25px;">Eb</td>
<td style="width:50px; height:25px;">Bb <!-- Hyperlink zur Refferenz --></td>
<td style="width:50px; height:25px;">F</td>
<td style="width:50px; height:25px;">C</td>
<td style="width:50px; height:25px;">G</td>
<td style="width:50px; height:25px;">D</td>
<td style="width:50px; height:25px; background-color:#FFFF00;">A</td>
<td style="width:50px; height:25px;">E</td>
<td style="width:50px; height:25px;">H <!-- Hyperlink zur Refferenz --></td>
<td style="width:50px; height:25px;">F#</td>
<td style="width:50px; height:25px;">C#</td>
<td style="width:50px; height:25px;">G#</td>
<td style="width:50px; height:25px;">D#</td>
<td style="width:50px; height:25px;">A#</td>
<td style="width:50px; height:25px; background-color:#FFCCCC;">E#</td>
<td style="width:50px; height:25px; background-color:#FFCCCC;">H# <!-- Hyperlink zur Refferenz --></td>
<td style="width:50px; height:25px; background-color:#FF3333;">F##</td>
<td style="width:50px; height:25px; background-color:#FF3333;">C##</td>
<td style="width:50px; height:25px; background-color:#FF3333;">G##</td>
</tr>
<tr>
<td style="height:25px;">Stufe 7</td>
<td style="width:50px; height:25px;">F</td>
<td style="width:50px; height:25px;">C</td>
<td style="width:50px; height:25px;">G</td>
<td style="width:50px; height:25px;">D</td>
<td style="width:50px; height:25px;">A</td>
<td style="width:50px; height:25px;">E</td>
<td style="width:50px; height:25px; background-color:#FFFF00;"><em><strong>H <!-- Hyperlink zur Refferenz --></strong></em></td>
<td style="width:50px; height:25px;"><em><strong>F#</strong></em></td>
<td style="width:50px; height:25px;"><em><strong>C#</strong></em></td>
<td style="width:50px; height:25px;"><em><strong>G#</strong></em></td>
<td style="width:50px; height:25px;"><em><strong>D#</strong></em></td>
<td style="width:50px; height:25px;"><em><strong>A#</strong></em></td>
<td style="width:50px; height:25px; background-color:#FFCCCC;"><em><strong>E#</strong></em></td>
<td style="width:50px; height:25px; background-color:#FFCCCC;"><em><strong>H# <!-- Hyperlink zur Refferenz --></strong></em></td>
<td style="width:50px; height:25px; background-color:#FF3333;"><em><strong>F##</strong></em></td>
<td style="width:50px; height:25px; background-color:#FF3333;"><em><strong>C##</strong></em></td>
<td style="width:50px; height:25px; background-color:#FF3333;"><em><strong>G##</strong></em></td>
<td style="width:50px; height:25px; background-color:#FF3333;"><em><strong>D##</strong></em></td>
<td style="width:50px; height:25px; background-color:#FF3333;"><em><strong>A##</strong></em></td>
</tr>
</table><hr />
=== Tonleiter Transponieren im Quintenzirkel (doppelt) ===
Wir sind mit dem Sortieren aber noch nicht am Ende. Wir haben nur die einzelnen Tonleitern im Quintenzirkel sortiert. Für viele weitere Aspekte, wie Akkorde, Intervalle innerhalb einer Tonleiter und ähnliches mehr empfiehlt es sich, auch die einzelnen Tonstufen jeder Tonleiter im Quintenzirkel zu sortieren. Wer kaum etwas mit Harmonielehre zu tun hat, dem mag dieses seltsam vorkommen. Wer aber schon mehr mit Jazz-Akkorden und Transponieren zu tun hat, dem sollte diese Sortierung vertraut sein. Allen anderen kann ich an dieser Stelle nur sagen, dass sich eine solche Sortierung lohnt, weil man viel mehr Sachen relativ einfach daraus ablesen kann. Was man alles daraus ablesen kann, dass muss aber an anderer Stelle erläutert werden.
Also für diejenigen, die sich noch nicht mit dem Quintenzirkel vertraut gemacht haben, verlangt die nächste Tabelle einiges an Abstraktionsvermögen. Es scheint nämlich auf den ersten Blick gar keinen Sinn zu machen, die normale Reihenfolge der Töne durcheinander zu bringen. Doch auch bei der Akkordbegleitung (Griffe der Gitarre oder Umkehrungen beim Klavier) denkt man sich viele Akkorde nicht nebeneinander wie an einer Perlenschnur. Auf dem Griffbrett der Gitarre wird man hinterher diese Sortierung wiederentdecken, indem man einzelne Töne innerhalb eines Bundes (zumindest für die ersten vier Saiten) betrachtet. Z.B. E A D G ist der Quintenzirkel rückwärts. "Geh du alter Esel..."
Also die einzelnen Tonstufen jeder Tonleiter werden ebenfalls im Quintenzirkel sortiert.
;die eigentliche Dur-Tonart befindet sich jetzt in der zweite Reihe und ist blau hervorgehoben. (und natürlich noch in der Titelleiste)
Da an dieser stelle noch nicht alles ausgeführt werden kann, wurden zumindest einmal die üblichen Akkord-Erweiterungen für Akkorde in einer bestimmten Stufe mit angegeben, sowie die übliche Improvisationsskala für diesen Akkord. Dieses dürfte allerdings nur für fortgeschrittene Gitarrenspieler (vor allem Jazzer) interessant sein.
<div style="overflow: auto;">
<table border="1" style="width:584px; overflow:auto; text-align:center" id="table1">
<tr style="background-color:#EEEEEE; font-family:Arial, Helvetica, sans-serif;">
<td style="width:50px; height:25px;">Stufe</td>
<td style="width:50px; height:25px;">Gb</td>
<td style="width:50px; height:25px;">Db</td>
<td style="width:50px; height:25px;">Ab</td>
<td style="width:20px; height:25px">Eb</td>
<td style="width:22px; height:25px">Bb<!-- Hyperlink zur Refferenz --></td>
<td style="width:23px; height:25px">F</td>
<td style="width:50px; height:25px;">C</td>
<td style="width:50px; height:25px;">G</td>
<td style="width:19px; height:25px">D</td>
<td style="width:20px; height:25px">A</td>
<td style="width:50px; height:25px;">E</td>
<td style="width:50px; height:25px;">H<!-- Hyperlink zur Refferenz --></td>
<td style="width:50px; height:25px;">F#</td>
<td style="width:50px; height:25px;">C#</td>
<td style="width:50px; height:25px;">G#</td>
<td style="width:50px; height:25px;">D#</td>
<td style="width:50px; height:25px;">A#</td>
<td style="width:50px; height:25px;">E#</td>
<td style="width:27px; height:25px">H#<!-- Hyperlink zur Refferenz --></td>
<td style="height:25px" colspan="4">Jazzakkorde</td>
<td style="width:27px; height:25px">Funktionen</td>
<td style="width:27px; height:25px">Modi</td>
<td style="width:27px; height:25px">Intervalle des Modus bzw der Funktion </td>
<td style="width:27px; height:25px">Stufe</td>
</tr>
<tr>
<td height="32" style="width:50px; height:25px;"> </td>
<td style="width:50px; height:25px;">≈ F#</td>
<td style="width:50px; height:25px;"> </td>
<td style="width:50px; height:25px;"> </td>
<td style="width:20px; height:25px"> </td>
<td style="width:22px; height:25px"> </td>
<td style="width:23px; height:25px"> </td>
<td style="width:50px; height:25px; background-color:#FFFF00;"> </td>
<td style="width:50px; height:25px;"> </td>
<td style="width:19px; height:25px"> </td>
<td style="width:20px; height:25px"> </td>
<td style="width:50px; height:25px;"> </td>
<td style="width:50px; height:25px;"> </td>
<td style="width:50px; height:25px;">≈ Gb</td>
<td style="width:50px; height:25px;">≈ Db</td>
<td style="width:50px; height:25px;">≈ Ab</td>
<td style="width:50px; height:25px;">≈ Eb</td>
<td style="width:50px; height:25px;">≈ Bb<!-- Hyperlink zur Refferenz --></td>
<td style="width:50px; height:25px;">≈ F</td>
<td style="width:27px; height:25px">≈ C</td>
<td style="height:25px" colspan="4">Optionstöne</td>
<td style="width:27px; height:25px">Akkorde</td>
<td style="width:27px; height:25px">Melodie</td>
<td style="width:27px; height:25px"> </td>
<td style="width:27px; height:25px"> </td>
</tr>
<tr>
<td style="width:50px; height:25px;">4</td>
<td style="width:50px; height:25px; background-color:#FFCCCC;"><em><strong>Cb</strong></em></td>
<td style="width:50px; height:25px;"><em><strong>Gb</strong></em></td>
<td style="width:50px; height:25px;"><em><strong>Db</strong></em></td>
<td style="width:50px; height:25px;"><em><strong>Ab</strong></em></td>
<td style="width:22px; height:25px"><em><strong>Eb</strong></em></td>
<td style="width:23px; height:25px"><em><strong>Bb <!-- Hyperlink zur Refferenz --></strong></em></td>
<td style="width:50px; height:25px; background-color:#FFFF00;">F</td>
<td style="width:50px; height:25px;">C</td>
<td style="width:19px; height:25px">G</td>
<td style="width:20px; height:25px">D</td>
<td style="width:50px; height:25px;">A</td>
<td style="width:50px; height:25px;">E</td>
<td style="width:50px; height:25px;">H <!-- Hyperlink zur Refferenz --></td>
<td style="width:50px; height:25px;">F#</td>
<td style="width:50px; height:25px;">C#</td>
<td style="width:50px; height:25px;">G#</td>
<td style="width:50px; height:25px;">D#</td>
<td style="width:50px; height:25px;">A#</td>
<td style="width:27px; height:25px; background-color:#FFCCCC">E#</td>
<td style="width:27px; height:25px">j7</td>
<td style="width:27px; height:25px">9</td>
<td style="width:27px; height:25px">11#</td>
<td style="width:27px; height:25px">13</td>
<td style="width:27px; height:25px">Subdominante</td>
<td style="width:27px; height:25px">lydisch</td>
<td style="width:27px; height:25px">1 5 2 6 3 7 4# </td>
<td style="width:27px; height:25px">4</td>
</tr>
<tr>
<td style="width:50px; height:25px;">1</td>
<td style="width:50px; height:25px;"><font color="#0000FF">Gb</font></td>
<td style="width:50px; height:25px;"><font color="#0000FF">Db</font></td>
<td style="width:50px; height:25px;"><font color="#0000FF">Ab</font></td>
<td style="width:50px; height:25px;"><font color="#0000FF">Eb</font></td>
<td style="width:22px; height:25px"><font color="#0000FF">Bb <!-- Hyperlink zur Refferenz --></font></td>
<td style="width:23px; height:25px"><font color="#0000FF">F</font></td>
<td style="width:50px; height:25px; background-color:#FFFF00;">
<font color="#0000FF">C</font></td>
<td style="width:50px; height:25px;"><font color="#0000FF">G</font></td>
<td style="width:19px; height:25px"><font color="#0000FF">D</font></td>
<td style="width:20px; height:25px"><font color="#0000FF">A</font></td>
<td style="width:50px; height:25px;"><font color="#0000FF">E</font></td>
<td style="width:50px; height:25px;"><font color="#0000FF">H<!-- Hyperlink zur Refferenz --></font></td>
<td style="width:50px; height:25px;"><font color="#0000FF">F#</font></td>
<td style="width:50px; height:25px;"><font color="#0000FF">C#</font></td>
<td style="width:50px; height:25px;"><font color="#0000FF">G#</font></td>
<td style="width:50px; height:25px;"><font color="#0000FF">D#</font></td>
<td style="width:50px; height:25px;"><font color="#0000FF">A#</font></td>
<td style="width:50px; height:25px; background-color:#FFCCCC;">
<font color="#0000FF">E#</font></td>
<td style="width:27px; height:25px; background-color:#FFCCCC">
<font color="#0000FF">H# <!-- Hyperlink zur Refferenz --></font></td>
<td style="width:27px; height:25px">j7</td>
<td style="width:27px; height:25px">9</td>
<td style="width:27px; height:25px">11</td>
<td style="width:27px; height:25px">13</td>
<td style="width:27px; height:25px">Tonika</td>
<td style="width:27px; height:25px">ionisch</td>
<td style="width:27px; height:25px">4 1 5 2 6 3 7</td>
<td style="width:27px; height:25px">1</td>
</tr>
<tr>
<td height="32" style="width:50px; height:25px;">5</td>
<td height="32" style="width:50px; height:25px;">Db</td>
<td style="width:50px; height:25px;">Ab</td>
<td style="width:50px; height:25px;">Eb</td>
<td style="width:50px; height:25px;">Bb <!-- Hyperlink zur Refferenz --></td>
<td style="width:22px; height:25px">F</td>
<td style="width:23px; height:25px">C</td>
<td style="width:50px; height:25px; background-color:#FFFF00;">G</td>
<td style="width:50px; height:25px;">D</td>
<td style="width:19px; height:25px">A</td>
<td style="width:20px; height:25px">E</td>
<td style="width:50px; height:25px;">H <!-- Hyperlink zur Refferenz --></td>
<td style="width:50px; height:25px;">F#</td>
<td style="width:50px; height:25px;">C#</td>
<td style="width:50px; height:25px;">G#</td>
<td style="width:50px; height:25px;">D#</td>
<td style="width:50px; height:25px;">A#</td>
<td style="width:50px; height:25px; background-color:#FFCCCC;">E#</td>
<td style="width:50px; height:25px; background-color:#FFCCCC;">H# <!-- Hyperlink zur Refferenz --></td>
<td style="width:27px; height:25px; background-color:#FF3333">F##</td>
<td style="width:27px; height:25px">7</td>
<td style="width:27px; height:25px">9</td>
<td style="width:27px; height:25px">11</td>
<td style="width:27px; height:25px">13</td>
<td style="width:27px; height:25px">Dominante</td>
<td style="width:27px; height:25px">mixo-lydisch</td>
<td style="width:27px; height:25px">7b 4 1 5 2 6 3</td>
<td style="width:27px; height:25px">5</td>
</tr>
<tr>
<td style="width:50px; height:25px;">2</td>
<td style="width:50px; height:25px;">Ab</td>
<td style="width:50px; height:25px;">Eb</td>
<td style="width:50px; height:25px;">Bb <!-- Hyperlink zur Refferenz --></td>
<td style="width:50px; height:25px;">F</td>
<td style="width:22px; height:25px">C</td>
<td style="width:23px; height:25px">G</td>
<td style="width:50px; height:25px; background-color:#FFFF00;">D</td>
<td style="width:50px; height:25px;">A</td>
<td style="width:19px; height:25px">E</td>
<td style="width:20px; height:25px">H <!-- Hyperlink zur Refferenz --></td>
<td style="width:50px; height:25px;">F#</td>
<td style="width:50px; height:25px;">C#</td>
<td style="width:50px; height:25px;">G#</td>
<td style="width:50px; height:25px;">D#</td>
<td style="width:50px; height:25px;">A#</td>
<td style="width:50px; height:25px; background-color:#FFCCCC;">E#</td>
<td style="width:50px; height:25px; background-color:#FFCCCC;">H# <!-- Hyperlink zur Refferenz --></td>
<td style="width:50px; height:25px; background-color:#FF3333;">F##</td>
<td style="width:27px; height:25px; background-color:#FF3333">C##</td>
<td style="width:27px; height:25px">m7</td>
<td style="width:27px; height:25px">9</td>
<td style="width:27px; height:25px">11</td>
<td style="width:27px; height:25px">13</td>
<td style="width:27px; height:25px">Subdominanten-parallele</td>
<td style="width:27px; height:25px">dorisch</td>
<td style="width:27px; height:25px">3b 7 4 1 5 2 6</td>
<td style="width:27px; height:25px">2</td>
</tr>
<tr>
<td style="width:50px; height:25px;">6</td>
<td style="width:50px; height:25px;">Eb</td>
<td style="width:50px; height:25px;">Bb <!-- Hyperlink zur Refferenz --></td>
<td style="width:50px; height:25px;">F</td>
<td style="width:50px; height:25px;">C</td>
<td style="width:22px; height:25px">G</td>
<td style="width:23px; height:25px">D</td>
<td style="width:50px; height:25px; background-color:#FFFF00;">A</td>
<td style="width:50px; height:25px;">E</td>
<td style="width:19px; height:25px">H <!-- Hyperlink zur Refferenz --></td>
<td style="width:20px; height:25px">F#</td>
<td style="width:50px; height:25px;">C#</td>
<td style="width:50px; height:25px;">G#</td>
<td style="width:50px; height:25px;">D#</td>
<td style="width:50px; height:25px;">A#</td>
<td style="width:50px; height:25px; background-color:#FFCCCC;">E#</td>
<td style="width:50px; height:25px; background-color:#FFCCCC;">H# <!-- Hyperlink zur Refferenz --></td>
<td style="width:50px; height:25px; background-color:#FF3333;">F##</td>
<td style="width:50px; height:25px; background-color:#FF3333;">C##</td>
<td style="width:27px; height:25px; background-color:#FF3333">G##</td>
<td style="width:27px; height:25px">m7</td>
<td style="width:27px; height:25px">9</td>
<td style="width:27px; height:25px">11</td>
<td style="width:27px; height:25px">13b</td>
<td style="width:27px; height:25px">Tonika-parallele</td>
<td style="width:27px; height:25px">äolisch</td>
<td style="width:27px; height:25px">6b 3b 7 4 1 5 2</td>
<td style="width:27px; height:25px">6</td>
</tr>
<tr>
<td style="width:50px; height:25px;">3</td>
<td style="width:50px; height:25px;">Bb <!-- Hyperlink zur Refferenz --></td>
<td style="width:50px; height:25px;">F</td>
<td style="width:50px; height:25px;">C</td>
<td style="width:50px; height:25px;">G</td>
<td style="width:22px; height:25px">D</td>
<td style="width:23px; height:25px">A</td>
<td style="width:50px; height:25px; background-color:#FFFF00;">E</td>
<td style="width:50px; height:25px;">H <!-- Hyperlink zur Refferenz --></td>
<td style="width:19px; height:25px">F#</td>
<td style="width:20px; height:25px">C#</td>
<td style="width:50px; height:25px;">G#</td>
<td style="width:50px; height:25px;">D#</td>
<td style="width:50px; height:25px;">A#</td>
<td style="width:50px; height:25px; background-color:#FFCCCC;">E#</td>
<td style="width:50px; height:25px; background-color:#FFCCCC;">H# <!-- Hyperlink zur Refferenz --></td>
<td style="width:50px; height:25px; background-color:#FF3333;">F##</td>
<td style="width:50px; height:25px; background-color:#FF3333;">C##</td>
<td style="width:50px; height:25px; background-color:#FF3333;">G##</td>
<td style="width:27px; height:25px; background-color:#FF3333">D##</td>
<td style="width:27px; height:25px">m7</td>
<td style="width:27px; height:25px">9b</td>
<td style="width:27px; height:25px">11</td>
<td style="width:27px; height:25px">13b</td>
<td style="width:27px; height:25px">Dominanten-parallele</td>
<td style="width:27px; height:25px">phrygisch</td>
<td style="width:27px; height:25px">2b 6b 3b 7 4 1 5</td>
<td style="width:27px; height:25px">3</td>
</tr>
<tr>
<td style="width:50px; height:25px;">7</td>
<td style="width:50px; height:25px;">F</td>
<td style="width:50px; height:25px;">C</td>
<td style="width:50px; height:25px;">G</td>
<td style="width:50px; height:25px;">D</td>
<td style="width:22px; height:25px">A</td>
<td style="width:23px; height:25px">E</td>
<td style="width:50px; height:25px; background-color:#FFFF00;"><em><strong>H <!-- Hyperlink zur Refferenz --></strong></em></td>
<td style="width:50px; height:25px;"><em><strong>F#</strong></em></td>
<td style="width:19px; height:25px"><em><strong>C#</strong></em></td>
<td style="width:20px; height:25px"><em><strong>G#</strong></em></td>
<td style="width:50px; height:25px;"><em><strong>D#</strong></em></td>
<td style="width:50px; height:25px;"><em><strong>A#</strong></em></td>
<td style="width:50px; height:25px; background-color:#FFCCCC;"><em><strong>E#</strong></em></td>
<td style="width:50px; height:25px; background-color:#FFCCCC;"><em><strong>H# <!-- Hyperlink zur Refferenz --></strong></em></td>
<td style="width:50px; height:25px; background-color:#FF3333;"><em><strong>F##</strong></em></td>
<td style="width:50px; height:25px; background-color:#FF3333;"><em><strong>C##</strong></em></td>
<td style="width:50px; height:25px; background-color:#FF3333;"><em><strong>G##</strong></em></td>
<td style="width:50px; height:25px; background-color:#FF3333;"><em><strong>D##</strong></em></td>
<td style="width:27px; height:25px; background-color:#FF3333"><em><strong>A##</strong></em></td>
<td style="width:27px; height:25px">m7b5</td>
<td style="width:27px; height:25px">9b</td>
<td style="width:27px; height:25px">11</td>
<td style="width:27px; height:25px">13b</td>
<td style="width:27px; height:25px">verm.Dom. Septakkord</td>
<td style="width:27px; height:25px">locrisch</td>
<td style="width:27px; height:25px">5b 2b 6b 3b 7 4 1</td>
<td style="width:27px; height:25px">7</td>
</tr>
</table>
</div>
Hier wurden also nicht nur die die einzelnen Spalten mit den jeweiligen Tonarten im Quintenzirkel sortiert, sondern auch innerhalb der Tonleiter die einzelnen Töne. Sowohl die Spalten als auch die Reihen sind jetzt im Quintenzirkel. Auch wenn man diese Tabelle noch nicht ganz durchschaut hat, fällt einem sofort der systematische Aufbau ins Auge.
Auch wenn einem der ganze Aufbau noch nicht klar sein sollte, empfehle ich allen angehenden Musikern, sich eingehender damit zu befassen. Sobald man einmal hinter den Aufbau gestiegen ist, benötigt man für viele Fragen aus der Harmonielehre überhaupt keine Tabellen mehr, sondern nur noch den Quintenzirkel. Denn alle Informationen die man aus diesen Tabellen ablesen kann liefert einem der Quintenzirkel frei Haus.
Die einzige Aufgabe, die einem bleibt, ist die Töne bei Bedarf wieder in die richtige Reihenfolge (der Tonhöhe nach) zu sortieren.
=== Lerntipp: ===
Für den Quintenzirkel sollte man sich die Zahlenreihenfolge 4 '''1''' 5 '''2''' 6 '''3''' 7 merken.
* Die Tonfolge F C G D A E H entspricht dieser Zahlenfolge.
* Die Buchstabenfolge und Zahlenfolge taucht immer wieder in allen Tonleitern, Akkordintervallen, Modi (und mit den Oktaven auch in den Jazz-Akkorden) auf.
**Voraussetzung dafür ist nur, dass alles im diatonischen System bleibt
**und alles im Quintenzirkel angeordnet wird.
* Im kompletten Quintenzirkel taucht die Buchstabenfolge F C G D A E H wenigstens drei mal hintereinander auf
** Fb Cb Gb Db Ab Eb Bb - F C G D A E H - F# C# G# D# A# E# H#
** zuerst mit Bb - dann ohne Vorzeichen - dann mit Kreuzen
vergleicht man die Intervalle der jeweiligen Funktionen und Modis, so taucht auch dort die gleiche Reihenfolge in Ziffern auf.
* 4 1 5 2 6 3 7 wenigstens drei mal hintereinander
** 4b 1b 5b 2b 6b 3b 7b - 4 1 5 2 6 3 7 - 4# 1# 5# 2# 6# 3# 7#
==Sammelmappe anlegen==
<pre><nowiki>
{{Gespeicherte Sammlung}}
=== Blues ===
==== Wikibooks ====
:[[Gitarre: Blues-_und_Rock'n'Roll-Diplom]]
:[[Gitarre: Einstieg in den Blues]]
:[[Gitarre: erste Blueskadenzen]]
:[[Gitarre: Blueszupfen mit 6er und 7er-Akkorden Wiederh.]]
:[[Gitarre: Blues mit Shuffle]]
:[[Gitarre: Blues mit 6er und 7er-Akkorden auf Barré]]
:[[Gitarre: Ein Rock'n'Roll-Riff]]
:[[Gitarre: Das 8-Takt-Blues-Schema]]
:[[Gitarre: Basstöne beim Standard-Blues]]
:[[Gitarre: Die Pentatonik im Blues]]
[[Kategorie:Sammlungen|blues]]
</nowiki></pre>
==Vorlagentests==
*[[Benutzer:Mjchael/Vorlagentest]]
{{:Benutzer:Mjchael/Vorlagentest}}
*<nowiki>{{SUBPAGENAME}}</nowiki> = {{SUBPAGENAME}}
*<nowiki>{{BASEPAGENAME}}</nowiki> = {{BASEPAGENAME}}
*<nowiki>{{NAMESPACE}}</nowiki> = {{NAMESPACE}}
*<nowiki>{{FULLPAGENAME}}</nowiki> = {{FULLPAGENAME}}
*<nowiki>{{#time}}</nowiki> = {{#time}}
*<nowiki>{{#time:z}}</nowiki> = Tag des Jahres {{#time:z}}
==Automatisch Kategorien eintragen lassen==
{{Notiz|In der Hilfe zur Kategorie steht, dass wir nicht automatisch Kategorien für die Bücher einrichten wollen. Daher ist dieses Kapitel ungültig. Es bleibt nur für den Syntax noch hier stehen, um diesen vielleicht an anderer Stelle noch mal zu verwenden. Dieses Kapitel wird gelöscht werden, wenn dieses Tutorial so weit fertig ist, das es mit in die Hilfe übernommen werden kann.|}}Ich gehe wieder in die Vorlage '''<nowiki>[[MeinBuch/:Navi]]</nowiki>''' und trage dort noch folgendes ein:
:<nowiki>{{</nowiki>Navigationsleiste |titel'''<nowiki> =[[MeinBuch: Inhalt|MeinBuch]]</nowiki>''' |inhalt='''<nowiki>[[MeinBuch:_Einleitung|Einleitung]]</nowiki>''' - '''<nowiki>[[MeinBuch:_Hauptteil|Hautteil]]
- [[MeinBuch:_Teil I|Teil I]] - [[MeinBuch:_Teil II|Teil II]] - [[MeinBuch:_Teil III|Teil III]] - [[MeinBuch:_Anhang|Anhang]] }}</nowiki>{{rot|<nowiki><includeonly>[[Kategorie:Meinbuch]]</nowiki></includeonly>'''|maroon}}
Mit diesem Eintrag wird dafür gesorgt, dass jede Seite, auf der diese Navigation erscheint auch eine Kategorie eingetragen wird, unter welcher man alle Seiten zu deinem Buch finden kann. Dieses erspart dir, auf jeder Seite deines Buches '''{{rot|<nowiki>[[Kategorie:Meinbuch]]</nowiki>|maroon}}''' ans Fußende zu setzen.
Durch das '''<nowiki><includeonly>...</includeonly></nowiki>''' sorgst du dafür, dass der Eintrag der Vorlage nur in die Buchseiten eingetragen wird, aber dass dieser Eintrag nicht für die Vorlage selbst gilt. Damit stellst du sicher, dass nicht auch die Navigationsvorlagen mit in der Kategorie deines Buches erscheinen.
==== Parameter nutzen ====
Wir haben aber jetzt ein kleines Problemchen. Angenommen du möchtest dir diese Navigationsleiste auch auf deiner Benutzerseite einfügen, um schneller in deine Projekte zu gelangen. Dann taucht auch deine Benutzerseite in der Kategorie deines Buchprojektes auf. Das ist nicht unbedingt wünschenswert. Also müssen wir irgendwie dafür sorgen, dass man diesen Eintrag wieder abschalten kann. Dazu verwenden wir einen Parameter, denn wir schlichtweg '''Kategorie''' nennen.
Parameter hast du schon oben in der Navigationsleistenvorlage kennengelernt. Einzelne Parameter werden durch ein Pipe-Zeichen (der senkrechte Strich '|') abgetrennt. Nach dem Parameter folgt ein Gleichheitszeichen mit dem Inhalt des Parameters. Wer schon mal Programmiert hat, weiß, dass ein Parameter so was wie eine Variable ist, die man mit verschiedenem Inhalt füllen kann.
:'''|titel=...'''
:'''|inhalt=...'''
Also richten wir auch für die Kategorie einen Parameter ein.
<nowiki><includeonly></nowiki>{{rot|<nowiki>{{#if:</nowiki>}}{{grün|<nowiki>{{{Kategorie|}}}</nowiki>}}{{rot|<nowiki>||</nowiki>}}{{blau|<nowiki>[[Kategorie:MeinBuch]]</nowiki>}}{{rot|<nowiki>}}</nowiki>}}<nowiki></includeonly></nowiki>
===== if-then-else (wenn-dann-sonst) =====
die if-then-else-Vorlage überprüft, ob ein Parameter vorhanden ist. Wenn der Parameter vorhanden ist, dann trägt sie den ersten Parameter ein, andernfalls den zweiten.
<nowiki><includeonly></nowiki>{{rot|<nowiki>{{#if:</nowiki>}}{{grün|<nowiki>{{{Parameter vorhanden|}}}</nowiki>}}{{rot|<nowiki>|</nowiki>dann trage dies ein<nowiki>|</nowiki>}}{{blau|<nowiki>sonst trage das ein</nowiki>}}{{rot|<nowiki>}}</nowiki>}}<nowiki></includeonly></nowiki>
Wenn du jetzt mal die obere Vorlage dir genauer anschaust, dann siehst du nach
:<nowiki><includeonly></nowiki>{{rot|<nowiki>{{#if:</nowiki>}}{{grün|<nowiki>{{{Kategorie|}}}</nowiki>}}
zwei Pipe-Zeichen
:{{rot|<nowiki>||</nowiki>}}
Eigentlich erwartet man zwischen den beiden Pipe-Zeichen das was eingetragen werden soll, wenn der Parameter (hier Kategorie=) gesetzt wurde.
:{{rot|<nowiki>|</nowiki>}}Inhalt wenn Parameter gesetzt ist{{rot|<nowiki>|</nowiki>}}
Wir wenden hier einen kleinen Programmiertrick an. Wenn wir '''nicht''' wollen, dass die Kategorie mit auf eine Seite eingetragen wird, dann schreiben wir
;|Kategorie=false
Wenn also der Parameter "Kategorie" gesetzt ist, dann wird eben '''nichts''' eingetragen. Andernfalls (wenn also der Parameter "Kategorie" nicht gesetzt ist) dann wird der Standardeintrag, nämlich die Kategorie des Buches eingetragen.
Also nochmal alles zusammen:
:<nowiki>{{</nowiki>Navigationsleiste |titel='''<nowiki>[[MeinBuch: Inhalt|MeinBuch]]</nowiki>''' |inhalt='''<nowiki>[[MeinBuch:_Einleitung|Einleitung]]</nowiki>''' - '''<nowiki>[[MeinBuch:_Hauptteil|Hautteil]]
- [[MeinBuch:_Teil I|Teil I]] - [[MeinBuch:_Teil II|Teil II]] - [[MeinBuch:_Teil III|Teil III]] - [[MeinBuch:_Anhang|Anhang]] }}</nowiki><nowiki><includeonly></nowiki>{{rot|<nowiki>{{#if:</nowiki>}}{{grün|<nowiki>{{{Kategorie|}}}</nowiki>}}{{rot|<nowiki>||</nowiki>}}{{blau|<nowiki>[[Kategorie:MeinBuch]]</nowiki>}}{{rot|<nowiki>}}</nowiki>}}<nowiki></includeonly></nowiki>
= A4 als Div Ende =
</div>
== Navitest ==
(Kopie aus den engl. Wikibooks)
<div style="clear:both;" class="NavFrame">
<div style="margin: 0.2em auto; border:1px solid #e1b039; background:lightblue;" class="toccolours" cellpadding="3" class="NavHead">'''[[b:en:Guitar]]'''
</div>
<div class="NavContent" align=left>
{|
|align=left|'''Getting Started:''' [[b:en:Guitar/Different Types of Guitars|Different Types of Guitars]] <nowiki>|</nowiki> [[b:en:Guitar/Anatomy of a Guitar|Anatomy of a Guitar]] <nowiki>|</nowiki> [[b:en:Guitar/Buying a Guitar|Buying a Guitar]] <nowiki>|</nowiki> [[b:en:Guitar/Buying an Amplifier|Buying an Amplifier]] <nowiki>|</nowiki> [[b:en:Guitar/Setting up the Guitar|Setting up the Guitar]] <nowiki>|</nowiki> [[b:en:Guitar/Tablature|Tablature]] <nowiki>|</nowiki> [[b:en:Guitar/Lead Guitar and Rhythm Guitar|Lead Guitar and Rhythm Guitar]]
|-
|align=left|'''For Beginners:''' [[b:en:Guitar/The Basics|The Basics]] <nowiki>|</nowiki> [[b:en:Guitar/Intervals and Power Chords|Double-stops and Power Chords]] <nowiki>|</nowiki> [[b:en:Guitar/Open Chords|Open Chords]] <nowiki>|</nowiki> [[b:en:Guitar/Muting and Raking|Muting and Raking]] <nowiki>|</nowiki> [[b:en:Guitar/Learning Songs|Learning Songs]] <nowiki>|</nowiki> [[b:en:Guitar/Song Library|Song Library]]
|-
|align=left|'''Lead Guitar:''' [[b:en:Guitar/Picking and Plucking|Picking and Plucking]] <nowiki>|</nowiki> [[b:en:Guitar/Scales|Scales]] <nowiki>|</nowiki> [[b:en:Guitar/Arpeggios and Sweep Picking|Arpeggios and Sweep Picking]] <nowiki>|</nowiki> [[b:en:Guitar/Slides|Slides]] <nowiki>|</nowiki> [[b:en:Guitar/Hammer-ons, Pull-offs, and Trills|Hammer-ons, Pull-offs, and Trills]] <nowiki>|</nowiki> [[b:en:Guitar/Bending and Vibrato|Bending and Vibrato]] <nowiki>|</nowiki> [[b:en:Guitar/Harmonics|Harmonics]] <nowiki>|</nowiki> [[b:en:Guitar/Vibrato Bar Techniques|Vibrato Bar Techniques]] <nowiki> | </nowiki> [[b:en:Guitar/Tapping|Tapping]]
|-
|align=left|'''Rhythm Guitar:''' [[b:en:Guitar/Chords|Chords]] <nowiki>|</nowiki> [[b:en:Guitar/Barre Chords|Barre Chords]] <nowiki>|</nowiki> [[b:en:Guitar/Chord Progressions|Chord Progressions]] <nowiki>|</nowiki> [[b:en:Guitar/Alternate Picking|Alternate Picking]] <nowiki>|</nowiki> [[b:en:Guitar/Tremolo Picking|Tremolo Picking]] <nowiki>|</nowiki> [[b:en:Guitar/Rhythm|Rhythm]]
|-
|align=left|'''Playing Styles:''' [[b:en:Guitar/Folk Guitar|Folk Guitar]] <nowiki>|</nowiki> [[b:en:Guitar/Blues|Blues]] <nowiki>|</nowiki> [[b:en:Guitar/Slide Guitar|Slide Guitar]] <nowiki>|</nowiki> [[b:en:Guitar/Rock/Alternative Guitar|Rock Guitar]] <nowiki>|</nowiki> [[b:en:Guitar/Country and Western|Country and Western]] <nowiki>|</nowiki> [[b:en:Guitar/Metal|Metal]] <nowiki>|</nowiki> [[b:en:Guitar/Jazz|Jazz]] <nowiki>|</nowiki> [[b:en:Guitar/Classical Guitar|Classical Guitar]] <nowiki>|</nowiki> [[b:en:Guitar/Flamenco|Flamenco]]
|-
|align=left|'''General Guitar Theory:''' [[b:en:Guitar/Tone and Volume|Tone and Volume]] <nowiki>|</nowiki> [[b:en:Guitar/Singing and Playing|Singing and Playing]] <nowiki>|</nowiki> [[b:en:Guitar/Writing Songs|Writing Songs]] <nowiki>|</nowiki> [[b:en:Guitar/Playing With Others|Playing With Others]] <nowiki>|</nowiki> [[b:en:Guitar/Recording Music|Recording Music]] <nowiki>|</nowiki>[[b:en:Guitar/Tuning Your Ear|Tuning Your Ear]] <nowiki>|</nowiki> [[b:en:Guitar/How to Continue Learning|How to Continue Learning]]
|-
|align=left|'''Equipment:''' [[b:en:Guitar/Guitar Accessories|Guitar Accessories]] <nowiki>|</nowiki> [[b:en:Guitar/Effects Pedals|Effects Pedals]] <nowiki>|</nowiki> [[b:en:Guitar/E-bow|E-Bow]] <nowiki>|</nowiki> [[b:en:Guitar/Cables|Cables]] <nowiki>|</nowiki> [[b:en:Guitar/Bass Guitar|Bass Guitar]] <nowiki>|</nowiki> [[b:en:Guitar/Harmonica and Guitar Combo|Harmonica and Guitar Combo]]
|-
|align=left|'''Maintenance:''' [[b:en:Guitar/Guitar Maintenance and Storage|Guitar Maintenance and Storage]] <nowiki>|</nowiki> [[b:en:Guitar/Adjusting the Guitar|Adjusting the Guitar]] <nowiki>|</nowiki> [[b:en:Guitar/Stringing the Guitar|Stringing the Guitar]]
|-
|align=left|'''Appendices:''' [[b:en:Guitar/Dictionary|Dictionary]] <nowiki>|</nowiki> [[b:en:Guitar/Alternate Tunings|Alternate Tunings]] <nowiki>|</nowiki> [[b:en:Guitar/Chord Reference|Chord Reference]] <nowiki>|</nowiki> [[b:en:Guitar/Blanks|Blanks]]
|-
|}
</div>
</div>
== Buch-paten ==
*{{Admininfo|mjchael}}
*{{Admininfo|Red_Rooster}}
*{{Admininfo|Sloyment}}
*{{Admininfo|Paniolo}}
==Wikiteilnahmen==
[http://toolserver.org/~vvv/sulutil.php?rights=1&user=mjchael wo war ich schon]
{{fußnoten}}
6uzqoyffpps9ke8znqq1nu7mq77hhy9
Benutzer:Mjchael/Werkstatt
2
55243
1091084
1081700
2026-09-19T14:23:41Z
Mjchael
2222
/* Akut */
1091084
wikitext
text/x-wiki
<!-- BEGINN SEITE -->
{| width="100%" cellspacing="0" cellpadding="0" valign="top"|
|- <!-- SEITE:TABS -->
|<!-- BEGINN SEITE:TABS -->
{| border="0" cellspacing="0" cellpadding="0" height="30" width="100%"
|-
{{Benutzer:Mjchael/TabVoll|#dfefdf|User:Mjchael|Mjchael}}
{{Benutzer:Mjchael/TabVoll|#f0f0f8|User:Mjchael/Projekte|Projekte}}
{{Benutzer:Mjchael/TabOffen|#f0f0f8|User:Mjchael/Werkstatt|Werkstatt}}
{{Benutzer:Mjchael/TabVoll|#f0f0f8|User:Mjchael/ Hilfen|Hilfen}}
{{Benutzer:Mjchael/TabVoll|#f0f0f8|User:Mjchael/Sammlungen|Sammlungen}}
| style="background-color:#f8f8ff;border-bottom:1px solid #000" width="100"|
|}<!-- ENDE SEITE:TABS -->
{|width="100%" cellpadding="2" cellspacing="0" style="text-align:left; border:solid #000000; border-width:0px 1px 1px 1px;" valign="top"|
|-
|bgcolor="#dfefdf" valign="top"|<!-- Äußere Tabelle linke Spalte -->
<!-- Anfang Inhalt -->
*[[:Kategorie:todo Mjchael|meine Todo-Liste]]
=== Akut ===
;Bm7-Form
<score>
<<
\new ChordNames {
\chordmode {
\set chordChanges = ##t
b:m7 b:m7 c:m7 c:m7
}
}
\new FretBoards {
\override FretBoards.FretBoard.size = #'1.5
\override FretBoard.fret-diagram-details.finger-code = #'in-dot
\override FretBoard.fret-diagram-details.dot-color = #'white
\override FretBoard.fret-diagram-details.orientation =
#'landscape
< b,-1 d a-2 b >1 % Bm
< b,-1 d a-2 d-3 >1 % Bm
< c,-3 es-1 b-4 c'-1 >1 % Cm7
< c,-3 es-1 b-4 e'-4 >1 % Cm7
}>>
}
</score>
{{:Gitarre/ Navi|Formen-Systematik|
{{:Gitarre: Formen-Systematik/ Navi}}|
img=Guitar 1.svg |bg=#F8f8f8|border=#666666|color=#333333|px=80|navi=Formen-Systematik}}
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="Kadenzen in C"
subtitle="Dreiklänge auf den Diskantsaiten (6. Bund)"
arranger = "CC-BY-SA Wikibooks (mjchael)"
}
myKey = {
\tempo 4 = 120
%Tempo ausblenden
\set Score.tempoHideNote = ##t
\clef "G_8"
\time 4/4
\key c
\major
}
myDiskant = {
\repeat volta 4{
\repeat volta 2{
\set Staff.midiInstrument = #"electric guitar (jazz)"
\stemUp
< e'\3 g'\2 c''\1 >2 % C
< f'\3 a'\2 c''\1 > % F
< d'\3 g'\2 b'\1 >4 % G
< d'\3 f'\2 b'\1 >4 % B°
< e'\3 g'\2 c''\1 >2 % C
}
%
\repeat volta 2{
\set Staff.midiInstrument = #"electric guitar (clean)"
< e'\3 a'\2 c''\1 >2 % Am
< f'\3 a'\2 d''\1 > % Dm
< e'\3 g'\2 b'\1 >4 % Em
< e'\3 gis'\2 b'\1 > % E
< e'\3 a'\2 c''\1 >2 % Am
}
%
}
}
myFretBoards = {
\new FretBoards {
% \override FretBoards.FretBoard.size = #'1.5
% \override FretBoard.fret-diagram-details.finger-code = #'in-dot
% \override FretBoard.fret-diagram-details.dot-color = #'white
% \override FretBoard.fret-diagram-details.orientation =
#'landscape
\myDiskant
}
}
myChords = \chordmode {
c2 f g4 b:dim c2 | a2:m d:m e4:m e a2:m |
}
myGuitar = \myDiskant
%% Layout
\score {
<<
%% Griffbilder
\myFretBoards
%% Akkordnamen
\new ChordNames { \myChords }
%% Noten
\new Voice {
\myKey
\myGuitar
}
%% Tabulatur
\new TabStaff {
\tabFullNotation
\myGuitar
}
>>
\layout { \omit Voice.StringNumber }
}
%% Migiausgabe
\score {
<<
\unfoldRepeats {
\new Staff <<
\myKey
\myDiskant
>>
}
>>
\midi {}
}
%& unterdrückt im raw="1"-Modus das DinA4-Format.
\paper {
indent=0\mm
line-width=100\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
{{Todo|Cups (When I'm Gone) by Anna Kendrick<br>
Hello by Adele<br>Just The Way You Are by Bruno Mars<br>Someone You Loved by Lewis Capaldi|Mjchael}}
<poem>
Father Charles Goes Down And Ends Battle
3 times • 1st with b • 2nd natural • 3rd with #
Fb Cb Gb Db Ab Eb Bb F C G D A E B F# C# G# D# A# E# B#
You have to know or to learn
C G D A E
stands for
C D E _ G A _ C major pentatonic
A _ C D E _ G A minor pentatonic
Fb Cb Gb Db Ab
Cb Gb Db Ab Eb
Gb Db Ab Eb Bb
Db Ab Eb Bb F
Ab Eb Bb F C
Eb Bb F C G
Bb F C G D
F C G D A
C G D A E
G D A E B
D A E B F#
A E B F# C#
E B F# C# G#
B F# C# G# D#
F# C# G# D# A#
C# G# D# A# E#
The first note is the root of the major pentatonic
The 4th note is the root of the minor pentatonic.
One sentence
Father Charles Goes Down And Ends Battle
Less to lern, more benefits.
</poem>
<poem>
Strategie
Tonart runter • Capo rauf
C Dur [ F C G Dm Am Em ]
C - 3 = A
D - 5 = A
E - 7 = A
A Dur [ D A E Bm F#m C#m ]
A - 2 = G
C - 5 = G
D - 7 = G
G Dur [ C G D Am Em Bm ]
G - 3 = E
A - 5 = E
C - 8 = E
E Dur = [ A E B7 F#m C#m G#m ]
E - 2 = D
G - 5 = D
A - 7 = D
D Dur = [ G D A Em Bm F#m ]
D - 2 = C
E - 4 = C
G - 7 = C
C Dur [ F C G Dm Am Em ]
Hast du jetzt eine andere Tonart als Start, musst du nur einen Bund hinzufügen oder abziehen (Bb F B Eb Db...)
Zwei Grundlagen sind unverzichtbar
1) Der Quintenzirkel um die zusammengehörigen Akkorde zu kennen
Fähige Clevere Gitarristen Denken An Ein Barré
Father Charles Goes Down And Ends Battle
Fb Cb Gb Db Ab Eb Bb F C G D A E B F# C# G# D# A# E# B#
2) Das die Tonleiter (Das Alphabet) runter...
G F E D C B A G F E D C B A
... und die Halbtonschritte dazwischen um die Abstände abzuzählen...
Für Kreuztonarten
G F# F E D# D C# C B A# A G# G F# F E D# D C# C B A# A
Für die B-Tonarten
G Gb F E Eb D Db C B Bb A Ab G Gb F E Eb D Db C B Bb A Ab
Die Kreuz- und B-Tonarten wollen wir eigentlich ganz vermeiden
G _ F E _ D _ C B _ A _ G _ F E _ D _ C B _ A _ G
Hier siehst du, warum die meisten Capo-Positionen zwei Bünde entfernt sind.
Nun zählt auch F und B nicht zu den Lieblingstonarten der Gitarristen.
G _ _ E _ D _ C _ _ A _ G _ _ E _ D _ C _ _ A _ G
So kommen die Abstände von 3 Bünden zustande.
G - 3 = E ( übersprungenes F )
C - 3 = A ( übersprungenes B )
</poem>
== Vorübung Still got the Blues ==
<score sound="1" raw="1">
\version "2.20.0"
%{
\header {
title="1. Fingersatz (E-(F)-Form) in C-Dur"
subtitle="Eintaktige Sequenzen"
}
%}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c' {
\set TabStaff.minimumFret = #7
\set TabStaff.restrainOpenStrings = ##t
\key c \major
c8 d e f e d c4
b8 c d e d c b4
a8 b c d c b a \tweak color #red gis
a1
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 4/4
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
c d e f e d c
b c d e d c b \break
a b c d c b a "g#"
a
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=90\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
==Lilypond Version==
{{Regal:Musik/ Lilypond Version}}
=== Bonus Balladendiplom ===
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="Basis-Pattern"
subtitles="My December (Linking Park)"
encoder="mjchael"
}
%Diskant- bzw. Melodiesaiten
myDiskant = {
d8 d' a f' d d' a f' | % 1
c8 c' g e' c c' g e' | % 1
d8 d' a f' d d' a f' | % 1
c8 c' g e' c c' g e' | % 1
}
%Basssaiten, die hier nur mit dem Daumen gespielt werden.
myBass = {
d4 a d a
c4 g c g
d4 a d a
c4 g c g
}
% Layout- bzw. Bildausgabe
\score {
<<
\new ChordNames {
\chordmode {
d1:m c d1:m c
}
}
{
%Noten
\new Staff <<
\tempo 4 = 120
%Tempo ausblenden
\set Score.tempoHideNote = ##t
\time 4/4
\key c \major
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8" \repeat volta 4
% Balken nur über viertel Noten, nicht über halbe Noten
\set Timing.beamExceptions = #'()
\set Timing.baseMoment = #(ly:make-moment 1/4)
\set Timing.beatStructure = #'(1 1 1 1)
% Noten im Diskant
\myDiskant
\\
% Noten im Bass - beachte: Wiederholungszeichen ist für Midi notwendig!
\repeat volta 4
\myBass
>>
}
% Tabulatur
\new TabStaff {
\tabFullNotation \repeat volta 4
<<
% Tabulatur im Diskant
\myDiskant
\\
% Tabulatur im Bass
\myBass
>>
}
>>
\layout {}
}
% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\key c \major
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8" \repeat volta 4
\myDiskant
\\
\repeat volta 4
\myBass
>>
}
>>
\midi {}
}
% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
% DinA4 0 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
<div style="background-color:FFF;">
=== Danny Boy ===
<score sound="1" raw="1">
\version "2.20.0"
\header {
title = "Danny Boy"
subtitle = "A Londonderry Air (before 1855)"
poet = "Lyrics: Frederic Weatherly (1910)"
% composer = "Komponist"
% arranger = "arr: ccbysa: Wikibooks (mjchael)"
}
myKey = {
\clef "treble"
\time 4/4
\tempo 4 = 100
%%Tempo ausblenden
\set Score.tempoHideNote = ##t
\key g\major
}
%% Akkorde
%% 4/4-Schlag
%% 1 . 2 . 3 . 4 .
myD = \chordmode { d,4 d d, d }
myA = \chordmode { a,,4 a, a,, a, }
myDA = \chordmode { d,4 d a,, a, }
myChords = \chordmode {
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
%% Akkorde nur beim Wechsel notieren
\set chordChanges = ##t
% \partial 4 s4
% \myD \myA \myDA \myD
% d,1 %Schlusston
}
myMelody = \relative c'' {
\myKey
\set Staff.midiInstrument = #"trombone"
\relative c'{
\partial 4. fis8 g a |
b4. a8[ b] e[ d b] |
a( g) e4 r8 g b c |
d4. e8 d b g b |
a2 r8 fis8 g a |
b4. a8[ b] e[ d b] |
a( g) e4. fis8 g a |
b4. c8 b a g fis |
g2 r8 d' e fis |
g4. fis8 fis e d e |
\tweak color #red d( b) g4 r8 d'8 e fis |
\break % 11
g4. fis8 fis e d b |
a2 r8 d8 8 8 |
b'4. a8 8 g e g |
d( b) g4 r8 fis8 g a |
b e d b a g e fis |
g2~ 8 \bar "|."
}
}
myLyrics = \lyricmode {
\set stanza = "1."
Oh, Dan -- ny Boy, the pipes, the pipes are cal -- ling
From glen to glen, and down the moun -- tain side
The sum -- mer's gone and all the ro -- ses fal -- ling
It's you, it's you must go and I must bide.
But come ye back when sum -- mer's in the mea -- dow.
Or when the val -- ley's hushed and white with snow.
And I'll be here in sun -- shine or in sha -- dow.
Oh Dan -- ny Boy, oh, Dan -- ny Boy, I love you so.
}
\score {
<<
\new ChordNames { \myChords }
\new Voice = "mySong" { \myMelody }
\new Lyrics \lyricsto "mySong" { \myLyrics }
% \new TabStaff { \myChords } %% Check
>>
\midi { }
\layout { }
}
%% unterdrückt im raw="1"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 0 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
=== Tom Dooley to Tabs ===
<score sound="1" raw="1">
\version "2.20.0"
\header {
title = "Tom Dooley"
% subtitle = "MeinSubtitle"
% poet = "Texter"
composer = "trad."
% arranger = "arr: ccbysa: Wikibooks (mjchael)"
}
myKey = {
\clef "treble"
\time 4/4
\tempo 4 = 100
%%Tempo ausblenden
\set Score.tempoHideNote = ##t
\key g\major
}
%% Akkorde
%% 4/4-Schlag
%% 1 . 2 . 3 . 4 .
myG = \chordmode { g,,4 g,8 4 8 4 }
myGAm = \chordmode { g,,4 g,8 a,4:m a,8:m a,4:m}
myD = \chordmode { d,4 d8 4 8 4 }
myDsept = \chordmode { d,4:7 d8:7 d4:7 d8:7 d4:7 }
myAm = \chordmode { a,,4:m a,8:m a,4:m a,8:m a,4:m }
myChords = \chordmode {
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
%% Akkorde nur beim Wechsel notieren
\set chordChanges = ##t
% \partial 4 s4
\myG \myG \myGAm \myD
\myAm \myD \myDsept \myG
g,,1 %Schlusston
}
myMelody = \relative c'' {
\myKey
\set Staff.midiInstrument = #"trombone"
\relative c'{
d8 4 8 e g4. | b4. b8( b2)|
d,8 4 8 e g4. | a1 |
d,8 4 e4 g4. | a4. a8~ a2|
a8 4 b8 a4 e4 | g1
\bar "|."
}
}
myLyrics = \lyricmode {
\set stanza = "1."
Hang down your head, Tom Doo -- ley.
Hang down your head and cry
Killed poor Lau -- ra Fos -- ter.
You know you're bound to die.
}
\score {
<<
\new ChordNames { \myChords }
\new Voice = "mySong" { \myMelody }
\new Lyrics \lyricsto "mySong" { \myLyrics }
% \new TabStaff { \myChords } %% Check
>>
\midi { }
\layout { }
}
%% unterdrückt im raw="1"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 0 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
==== Von G nach C ====
<score sound="1" raw="1">
\version "2.20.0"
\header {
title = "Tom Dooley"
% subtitle = "MeinSubtitle"
% poet = "Texter"
composer = "trad."
% arranger = "arr: ccbysa: Wikibooks (mjchael)"
}
myKey = {
\clef "treble"
\time 4/4
\tempo 4 = 100
%%Tempo ausblenden
\set Score.tempoHideNote = ##t
\key c\major
}
%% Akkorde
%% Lagerfeuer-Schlag
%% 1 . 2 + . + 4 .
myC = \chordmode { c,4 c8 4 8 4 }
myCDm = \chordmode { c,4 c8 d4:m d8:m d4:m}
myG = \chordmode { g,,4 g,8 4 8 4 }
myGsept = \chordmode { g,,4:7 g,8:7 g,4:7 g,8:7 g,4:7 }
myDm = \chordmode { d,4:m d8:m d4:m d8:m d4:m }
myChords = \chordmode {
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
%% Akkorde nur beim Wechsel notieren
\set chordChanges = ##t
% \partial 4 s4
\myC \myC \myCDm \myG
\myDm \myG \myGsept \myC
c,1 %Schlusston
}
myMelody = \relative c'' {
\myKey
\set Staff.midiInstrument = #"trombone"
g8 g8( g8) 8 a c4. | e4. e8( e2)|
g,8 g8~ g8 8 a c4. | d1 |
g,8 8~ 8 a4 c4. | d4. d8~ d2|
d8 d8~ d8 e8 d4 a4 | c1
\bar "|."
}
myLyrics = \lyricmode {
\set stanza = "1."
Hang down your head, Tom Doo -- ley.
Hang down your head and cry
Killed poor Lau -- ra Fos -- ter.
You know you're bound to die.
}
\score {
<<
\new ChordNames { \myChords }
\new Voice = "mySong" { \myMelody }
\new Lyrics \lyricsto "mySong" { \myLyrics }
% \new TabStaff { \myChords } %% Check
>>
\midi { }
\layout { }
}
%% unterdrückt im raw="1"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 0 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
==== Von G nach C in den Bass ====
<score sound="1" raw="1">
\version "2.20.0"
\header {
title = "Tom Dooley"
% subtitle = "MeinSubtitle"
% poet = "Texter"
composer = "trad."
% arranger = "arr: ccbysa: Wikibooks (mjchael)"
}
myKey = {
\clef "treble"
\time 4/4
\tempo 4 = 100
%%Tempo ausblenden
\set Score.tempoHideNote = ##t
\key c\major
}
%% Akkorde
%% Lagerfeuer-Schlag
%% 1 . 2 + . + 4 .
myC = \chordmode { c,4 c8 4 8 4 }
myCDm = \chordmode { c,4 c8 d4:m d8:m d4:m}
myG = \chordmode { g,,4 g,8 4 8 4 }
myGsept = \chordmode { g,,4:7 g,8:7 g,4:7 g,8:7 g,4:7 }
myDm = \chordmode { d,4:m d8:m d4:m d8:m d4:m }
myChords = \chordmode {
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
%% Akkorde nur beim Wechsel notieren
\set chordChanges = ##t
% \partial 4 s4
\myC \myC \myCDm \myG
\myDm \myG \myGsept \myC
c,1 %Schlusston
}
myMelody = \relative c' {
\myKey
\set Staff.midiInstrument = #"trombone"
g8 4 8 a c4. | e4. e8( e2)|
g,8 4 8 a c4. | d1 |
g,8 4 a4 c4. | d4. d8~ d2|
d8 4 e8 d4 a4 | c1
\bar "|."
}
myLyrics = \lyricmode {
\set stanza = "1."
Hang down your head, Tom Doo -- ley.
Hang down your head and cry
Killed poor Lau -- ra Fos -- ter.
You know you're bound to die.
}
\score {
<<
\new ChordNames { \myChords }
\new Voice = "mySong" { \myMelody }
\new Lyrics \lyricsto "mySong" { \myLyrics }
% \new TabStaff { \myChords } %% Check
>>
\midi { }
\layout { }
}
%% unterdrückt im raw="1"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 0 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
==== bon G nach D ====
<score sound="1" raw="1">
\version "2.20.0"
\header {
title = "Tom Dooley"
% subtitle = "MeinSubtitle"
% poet = "Texter"
composer = "trad."
% arranger = "arr: ccbysa: Wikibooks (mjchael)"
}
myKey = {
\clef "treble"
\time 4/4
\tempo 4 = 100
%%Tempo ausblenden
\set Score.tempoHideNote = ##t
\key g\major
}
%% Akkorde
%% 4/4-Schlag
%% 1 . 2 . 3 . 4 .
myG = \chordmode { g,,4 g,8 4 8 4 }
myGAm = \chordmode { g,,4 g,8 a,4:m a,8:m a,4:m}
myD = \chordmode { d,4 d8 4 8 4 }
myDsept = \chordmode { d,4:7 d8:7 d4:7 d8:7 d4:7 }
myAm = \chordmode { a,,4:m a,8:m a,4:m a,8:m a,4:m }
myChords = \chordmode {
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
%% Akkorde nur beim Wechsel notieren
\set chordChanges = ##t
% \partial 4 s4
\myG \myG \myGAm \myD
\myAm \myD \myDsept \myG
g,,1 %Schlusston
}
myMelody = \relative c'' {
\myKey
\set Staff.midiInstrument = #"trombone"
\relative c'{
d8 d8( d8) 8 e g4. | b4. b8( b2)|
d,8 4 8 e g4. | a1 |
d,8 4 e4 g4. | a4. a8~ a2|
a8 4 b8 a4 e4 | g1
\bar "|."
}
}
myLyrics = \lyricmode {
\set stanza = "1."
Hang down your head, Tom Doo -- ley.
Hang down your head and cry
Killed poor Lau -- ra Fos -- ter.
You know you're bound to die.
}
\score {
<<
\new ChordNames { \myChords }
\new Voice = "mySong" { \myMelody }
\new Lyrics \lyricsto "mySong" { \myLyrics }
% \new TabStaff { \myChords } %% Check
>>
\midi { }
\layout { }
}
%% unterdrückt im raw="1"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 0 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
== Yes Sir That's my Baby ==
{{:Liederbuch/ Vorlage:Liedheader
|Liedtyp= Charleston (1924)
|Alternativtitel=
|Text= Gus Kahn (*1886 - † 1941)
|Melodie= Walter Donaldson (*1893 - † 1947)
|Urheber=
|Tonart=
|Bearbeiter= Mjchael
|Co-Bearbeiter=
}}
* {{w|Yes Sir, That’s My Baby}}
Der Protagonist (Mann oder Frau) bestätigt den Gesprächspartnern, nun verlobt zu sein, und läd diese zur Hochzeit ein.
<poem>
{{crd|C}} Who's that coming down the {{crd|C#dim}} street,
{{crd|G}} who's that looking so petite
{{crd|G7}} Who's that coming down to meet me {{crd|C}} here. {{crd|Dm7}} {{crd|G7}}
{{crd|C}} Who's that - you know who I {{crd|C#dim}} mean?
{{crd|G7}} Sweetest 'who' you've ever seen
{{crd|D7}} I {{crd|Am7}} could {{crd|D7}} tell {{crd|Am7}} her
{{crd|D7}} miles {{crd|Am7}} a-{{crd|D7}}way from {{crd|G7}} here. {{crd|Em}} {{crd|B7}} {{crd|G7}}
{{crd|C}} Yes, sir, that's my {{crd|C#dim}} baby,
{{crd|G}} no, sir, I don't mean maybe
{{crd|G7}} Yes, sir, that's my baby {{crd|C}} now. {{crd|G7}}
{{crd|C}} Yes, ma'am we've de-{{crd|C#dim}}cided,
{{crd|G}} no, ma'am we won't hide it
{{crd|G7}} Yes ma'am you're invited {{crd|C}} now.
By the {{crd|C7}} way, by the {{crd|F}} way,
when we {{crd|D7}} reach the preacher I'll {{crd|G7}} say {{crd|G7+5}}
{{crd|C}} Yes, sir, that's my {{crd|C#dim}} baby,
{{crd|G}} no, sir, I don't mean maybe
{{crd|G7}} Yes, sir, that's my baby {{crd|C}} now.
{{crd|C}} Well well, 'lookit' that {{crd|C#dim}} baby,
{{crd|G}} Do tell, don't say "maybe",
{{crd|G7}} Hell's bells, won't she cause some {{crd|C}} row?
Pretty {{crd|C7}} soon, Pretty {{crd|F}} soon,
We will {{crd|D7}} hear that Lohengrin {{crd|G7}} tune, (I'm sayin'){{crd|G7+5}}
{{crd|C}} Who for should she {{crd|C#dim}} be sir,
{{crd|G}} No one else but me sir,
{{crd|G7}} Yes sir, That's my Baby {{crd|C}} now. {{crd|C7}}
{{crd|C}} Yes sir, that's my {{crd|C#dim}} Baby
{{crd|G}} Yes sir, I don't mean maybe,
{{crd|G7}} Yes sir, That's my Baby {{crd|C}} now
</poem>
=== Yes Sir, That's My Baby (Var2) ===
<poem>
{{crd|C}} Yes {{crd|Am}} sir, {{crd|C}} that's my {{crd|Am}} baby
{{crd|G7}} No {{crd|Dm}} sir, {{crd|G7}} don't be {{crd|Dm}} maybe
{{crd|G7}} Yes {{crd|Am}} sir, {{crd|G7}} that's my {{crd|Dm}} baby {{crd|C}} now {{crd|G7}}
{{crd|C}} Yes {{crd|Am}} ma'am, {{crd|C}} we've de{{crd|Am}}cided
{{crd|G7}} No {{crd|Dm}} ma'am, {{crd|G7}} we won't {{crd|Dm}} hide it
{{crd|G7}} Yes {{crd|Am}} ma'am, {{crd|G7}} that's my {{crd|Dm}} baby {{crd|C}} now
By the way, {{crd|C7}} by the {{crd|F}} way
When we {{crd|D7}} meet that preacher
I'll {{crd|G7}} say with {{crd|G7sus2}} feel{{crd|G7}}ing
{{crd|C}} Yes {{crd|Am}} sir, {{crd|C}} that's my {{crd|Am}} baby
{{crd|G7}} No {{crd|Dm}} sir, {{crd|G7}} don't be {{crd|Dm}} maybe
<div>{{crd|G7}} Yes {{crd|Am}} sir, {{crd|G7}} that's my {{crd|Dm}} baby {{crd|C}} now.
</poem>
* {{Youtube-Suche|Yes+Sir+That's+My+Baby|Yes Sir, That's My Baby}}
===Early One Morning===
<poem>
;1
{{crd|D}}Early one morning, just {{crd|G}}as the sun was {{crd|A}}rising
I {{crd|D}}heard a maiden singing, from the {{crd|G}}va-{{crd|A}}lley be-{{crd|D}}low:
;Chorus
{{crd|A}}Oh, don't de-{{crd|D}}ceive me, {{crd|A}}Oh never {{crd|D}}leave me,
{{crd|D}}How could you {{crd|G}}use, a {{crd|D}}poor {{crd|A}}maiden {{crd|D}}so?
;2
Oh {{crd|D}}gay is garland, and {{crd|G}}fresh are the {{crd|A}}roses,
I've {{crd|D}}culled from the garden, to {{crd|G}}bind u-{{crd|A}}pon thy {{crd|D}}brow.
;3
Re-{{crd|D}}member the vows, that you {{crd|G}}made to your {{crd|A}}Mary
Re-{{crd|D}}member the bow'r, where you {{crd|G}}promised {{crd|A}}to be {{crd|D}}true.
;4
Thus {{crd|D}}sang the poor maid, her {{crd|G}}sorrows be{{crd|A}}wailing,
Thus, {{crd|D}}sang the poor maid, in the {{crd|G}}va-{{crd|A}}lley be-{{crd|D}}low.
</poem>
===Down In The River To Pray===
<poem>
As I went down in the river to pray
Studying about that good old way
And who shall wear the starry crown
Good Lord, show me the way!
O sisters let's go down,
Let's go down, come on down,
O sisters let's go down,
Down in the river to pray.
As I went down in the river to pray
Studying about that good old way
And who shall wear the robe and crown
Good Lord, show me the way!
O brothers let's go down,
Let's go down, come on down,
Come on brothers let's go down,
Down in the river to pray.
As I went down in the river to pray
Studying about that good old way
And who shall wear the starry crown
Good Lord, show me the way!
O fathers let's go down,
Let's go down, come on down,
O fathers let's go down,
Down in the river to pray.
As I went down in the river to pray
Studying about that good old way
And who shall wear the robe and crown
Good Lord, show me the way!
O mothers let's go down,
Let's go down, don't you want to go down,
Come on mothers let's go down,
Down in the river to pray.
As I went down in the river to pray
Studying about that good old way
And who shall wear the starry crown
Good Lord, show me the way!
O sinners let's go down,
Let's go down, come on down,
O sinners let's go down,
Down in the river to pray.
As I went down in the river to pray
Studying about that good old way
And who shall wear the robe and crown
Good Lord, show me the way!
</poem>
=== Wild Mountain Thyme ===
[[Datei:Wild mountain thyme - geograph.org.uk - 25029.jpg|mini]]
{{listen|filename=Christoph Nolte - The Rocky Road - The Wild Mountain Thyme.ogg|title=The Wild Mountain Thyme|description="Wild Mountain Thyme" performed by Christoph Nolte}}
<score lang="ABC" sound="1">
X: 5
T: Wild Mountain Thyme
R: barndance
M: 4/4
L: 1/8
K: Gmaj
GE|"G"D2 D2 "C"E<G-GA|"G"G6 Bd|"C"e3 e e3 d|"G"Bd-d4 Bd
"C"e4 "G"d3 B|"Em"A<G-G4AB|"Am"c3B A3G|"C"EG-G4 GE|"G"D2 D2 "C"E<G-GA|
"G"G6 Bd|"C"e3 e e3 d|"G"Bd-d4 Bd|"C"e4 "G"d3 B|"Em"A<G-G4AB|
"Am"c3B A3G|"C"EG-G4 GE|"G"D2 D2 "C"E<G-GA|"G"G6|
</score>
< !--
<score sound="1" raw="1">
\version "2.20.0"
\header {
title = "Wild Mountain Thyme"
% subtitle = "MeinSubtitle"
% poet = "Texter"
% composer = "Komponist"
% arranger = "arr: ccbysa: Wikibooks (mjchael)"
}
myKey = {
\clef "treble"
\time 4/4
\tempo 4 = 100
%%Tempo ausblenden
\set Score.tempoHideNote = ##t
\key g\major
}
%% Akkorde
%% 4/4-Schlag
%% 1 . 2 . 3 . 4 .
myD = \chordmode { d,4 d d, d }
myA = \chordmode { a,,4 a, a,, a, }
myDA = \chordmode { d,4 d a,, a, }
myChords = \chordmode {
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
%% Akkorde nur beim Wechsel notieren
\set chordChanges = ##t
\partial 4 s4
\myD \myA \myDA \myD
d,1 %Schlusston
}
myMelody = \relative c'' {
\myKey
\set Staff.midiInstrument = #"trombone"
\relative c''{
\partial 4 g8 e
d4 d e16 g8.~8 a | g2. b8 d | e4. e8 e4. d8 | b d8~2 b8 d |
% GE|"G"D2 D2 "C"E<G-GA|"G"G6 Bd|"C"e3 e e3 d|"G"Bd-d4 Bd
e2 d4. b8 | a16 g8.~2 a8 b | c4. b8 a4. g8 |e8 g8~2 g8 e | d4 4 e16 g8.~g8 a
% "C"e4 "G"d3 B|"Em"A<G-G4AB|"Am"c3B A3G |"C"EG-G4 GE|"G"D2 D2 "C"E<G-GA|
c4. b8 a4. g8 | e g8~2 8 e | d4 4 e16 g8.~8 a | g2.
% "Am"c3B A3G|"C"EG-G4 GE|"G"D2 D2 "C"E<G-GA|"G"G6|
\bar "|."
}
}
myLyrics = \lyricmode {
\set stanza = "1."
Häns -- chen klein | ging al -- lein | in das Haus hin | -- ein. |
}
\score {
<<
\new ChordNames { \myChords }
\new Voice = "mySong" { \myMelody }
\new Lyrics \lyricsto "mySong" { \myLyrics }
% \new TabStaff { \myChords } %% Check
>>
\midi { }
\layout { }
}
%% unterdrückt im raw="1"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 0 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
-->
(also known as "Purple Heather" and "Will Ye Go, Lassie, Go?") is a Scottish/Irish folk song.
<poem>
;1
O the summer time has come
And the trees are sweetly blooming
And wild mountain thyme
Grows around the purple heather.
Will you go, lassie, go?
;Chorus
And we'll all go together,
To pull wild mountain thyme,
All around the purple heather.
Will you go, lassie, go?
;2
I will build my love a tower,
By yon clear crystal fountain,
And on it I will pile,
All the flowers of the mountain.
Will you go, lassie, go?
;3
I will range through the wilds
And the deep land so dreary
And return with the spoils
To the bower o' my dearie.
Will ye go lassie go ?
;4
If my true love she'll not come,
Then I'll surely find another,
To pull wild mountain thyme,
All around the purple heather.
Will you go, lassie, go?
</poem>
== Akkordfolge NEM ==
<score>
<<
\new ChordNames { \chordmode {
d1 c g b
}}
\new FretBoards {
\override FretBoards.FretBoard.size = #'1.5
\override FretBoard.fret-diagram-details.finger-code = #'in-dot
\override FretBoard.fret-diagram-details.dot-color = #'white
\override FretBoard.fret-diagram-details.orientation =
#'landscape
< d-1\5 a-2\4 d'-3\3 fis'-4\2 a'-1\1 > % d
< c-1\5 g-2\4 c'-3\3 e'-4\2 g'-1\1 > % C/B
< g,-1 d-3 g-4 b-2 d'-1 g'-1 > % G
< b,-1\5 fis-2\4 b-3\3 dis'-4\2 fis'-1\1 > % B
}
>>
</score>
<score>
<<
\new ChordNames { \chordmode {
c1 a g e d
}}
\new FretBoards {
\override FretBoards.FretBoard.size = #'1.5
\override FretBoard.fret-diagram-details.finger-code = #'in-dot
% \override FretBoard.fret-diagram-details.dot-color = #'blue
\override FretBoard.fret-diagram-details.orientation =
#'landscape
< e\6 c'\5 e'\4 g'\3 c''\2 e''\1 > % C
< e\6 a\5 e'\4 a'\3 cis''\2 e''\1 > % A
< g\6 b\5 d'\4 g'\3 b'\2 g''\1 > % G
< e\6 b\5 e'\4 gis'\3 b'\2 e''\1 > % E
< d'\4 a'\3 d''\2 fis''\1 > % d
}
\new ChordNames { \chordmode {
c1:m a:m g:m e:m d:m
}}
\new FretBoards {
\override FretBoards.FretBoard.size = #'1.5
\override FretBoard.fret-diagram-details.finger-code = #'in-dot
\override FretBoard.fret-diagram-details.dot-color = #'blue
\override FretBoard.fret-diagram-details.orientation =
#'landscape
< es\6 c'\5 es'\4 g'\3 c''\2 es''\1 > % C
< e\6 a\5 e'\4 a'\3 c''\2 e''\1 > % A
< g\6 bes\5 d'\4 g'\3 bes'\2 g''\1 > % G
< e\6 b\5 e'\4 g'\3 b'\2 e''\1 > % E
< d'\4 a'\3 d''\2 f''\1 > % d
}
>>
</score>
== Canon in D ==
<score sound="1" raw="1">
\version "2.20.0"
\header {
title = "Canon"
composer = "M: Johann Pachebel (1653-1706)"
key="D"
composer= "Pachelbel"
arranger = "arr.: ccbysa Wikibooks (mjchael)"
}
myKey = {
\language "deutsch"
\tempo 4 = 100
%Tempo ausblenden
\set Score.tempoHideNote = ##t
\clef "G_8" \time 4/4
\key d \major
\set Staff.midiInstrument = #"electric guitar (clean)"
}
myMelody = \relative c {
\myKey
\set minimumFret = #2
\set TabStaff.restrainOpenStrings = ##t
\stemUp
\repeat volta 2{}
%^\markup { \bold {Em7} }
%\break
fis2 e d cis h a h cis
\voiceOne
fis' e d cis h a
h cis fis e d cis
h a h cis
d4 \oneVoice d e cis
d fis a a,
h g fis a g d' cis a
d8 cis d fis, a a cis4
d8 d fis4 a a8 h
g fis e g fis e d cis
\voiceOne
h cis d4~ d8 cis16 d cis4
d8 cis d fis, a4 cis d fis a a8 h
g fis e g fis e d cis
h a d4 ~ d8 cis16 d cis4\trill
\oneVoice
\set Timing.beatStructure = #'(1 1 1 1)
d8 fis16 g a8 fis16 g a a, h cis d e fis g
fis8 d16 e fis8 fis,16 g a h a g a fis g a
d8 h16 a g8 fis16 e fis e d e fis g a h
d8 h16a h8 e16 d cis h cis d e fis g e
fis8 d16 cis d8 fis, e cis'16 d e8 cis
% fis d16 cis d8 fis, e cis'16 d e8 cis
d h16 a h8 d, cis fis16 g a8 fis
h g16 fis g8 h a fis'16 e fis8 d
h d16 cis d8 fis, e a d cis
\voiceOne
\set Timing.beatStructure = #'(2 2)
d4. fis8 fis g fis e
d4. d8 d e d cis
h4. h8 a4 d
d8 c h c a2
\oneVoice
d4 fis8 a a h a g
\voiceOne
s1 s
h,2 a ~ a4 \oneVoice d e cis
d fis, a4. h8
g4 d fis a
\voiceOne
g fis e a
fis1\fermata
\bar "||."
% \bar "|." |
}
Gitarre = \myMelody
%% Layout = Noten mit Tab
\score {
<<
%% Noten
\new Voice {
\myKey
\Gitarre
}
%% Tabulatur
\new TabStaff {
\tabFullNotation
\Gitarre
}
>>
\layout {}
}
%% Midiausgabe
\score {
<<
\unfoldRepeats {
\new Staff <<
\myKey
\Gitarre
>>
}
>>
\midi {}
}
%& unterdrückt im raw="1"-Modus das DinA4-Format.
\paper {
indent=0\mm
%& DinA4 0 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
== Takte auszählen ==
GEMISCHTE TAKTE AUSZÄHLEN
Speziell ein Tutorial für Kerstin Jentzsch
Ich gehe mal davon aus, das du dich ganz grob mit den Notenwerten auskennst, und eine Methode suchst, wie du sie beim täglichen Üben einsetzen kannst.
Versuche es mal mit Zahlen.
Die Idee hab ich von
Mike Schönmehl "Jazz und Pop Musiklehre"
Atlantis-Schott-Musikverlag
Alle viertel-Noten werden mit einfachen Zahlen ausgesprochen
1 . 2 . 3 . 4 .
Eins zwei drei vier
oder
fünf sechs sieben acht
oder
neun zehn elf zwölf
Es ist egal welche dieser Zahlenfolgen du nimmst es ist für jede Zahl nur eine Silbe.
Jetzt komme die Achtel:
1 + 2 + 3 + 4 +
Drei-zehn, vier-zehn, fünf-zehn, sech-zehn
sieb-zehn, ach-zehn, neun-zehn, zwan-zig
Was auch gut geht ist
Ein-er, Zwei-er, Drei-er, vier-er
Hier haben alle Zahlen zwei Silben und teilen sich wie zwei Achtel auf.
Jetzt kommen die Sechzehntel
1 e + e 2 e + e 3 e + e 4 e + e
Ein-und-zwan-zig, Zwei-und-zwan-zig, Drei-und-zwan-zig, Vier-und-zwan-zig
Fünf-und-zwan-zig, Sechs-und-zwan-zieg, sieben-und-zwan-zieg, Acht-und-zwan-zig
Hier haben alle Zahlen vier Silben und teilen sich wie vier Sechzentel auf.
Jetzt die Triolen:
1-er-lei 2-er-lei 3-er-lei 4-er-lei
Ein-hun-dert, Zwei-hun-dert, Drei-hun-dert, Vier-hun-dert
Hier haben alle Zahlen drei Silben und teilen sich wie drei Triolen auf.
Wir sind es beim Zählen gewöhnt, in bestimmten Schritten zu zählen, so das wir 1-12 meist genau so langsam bzw. schnell zählen wie 13-20 oder wie 21-29. Und auch die Hunderter werden im gleichen Schritt gezählt.
Man macht ganz automatisch zwei-Achtel, vier-Sechzentel oder 3-Triolen.
Man kann versuchen, sich für viele Rhyhtmen einfach eine Zahlenfolge aufschreiben, und sich auch neue Kombinationen einfallen lassen.
Wie wäre es wenn man viertel, triolen und Sechzentel miteiander übt?
Eins | Zwei-hund-dert | drei | vier-und-zwan-zig
Ein-und-zwan-zig| zwei | drei-hun-dert | vier
Zehner-Zahlen könnten sich sogar für einen Schuffle eignen
1 . + 2 . + 3 . + 4 . +
Bei der Zehn muss man sich was einfallen lassen, aber dann kann man gut im Shuffle zählen
Zehn---tel, Zwan---zig, Drei---ßig, Vier---zig
Zehn---tel, Zwei-hund-dert, Drei---ßig, Vier---zig
So in etwa
Die Methode ist nicht der Weisheit letzter Schluss, aber vielleicht hilft es dem einen oder anderen beim Üben.
Gruß Mjchael
===Gallerie von Red_Rooster===
Die meisten Gifs und JPG wurden von Red_Rooster hochgeladen. Die müssen nach SVG umgestaltet werden.
<!-- Bilder durch SVG ersetzen -->
{{Klappbox|style=border:1px solid grey; margin:6px 0 6px 0;|bg1=#EAEAEA|verborgen=true|ta1=left|fw1=bold
|Titel= Bilder durch SVG ersetzen
|Inhalt=
{{rot|Bilder nicht löschen!!!!!!!!! Sie müssen weltweit durch SVG ausgetauscht werden, und dann erst auf den Commons für die Schnelllöschung vorgeschlagen werden, und dann erst dürfen sie entfernt werden. Und das mache ich selbst!}}
<gallery>
Image:00.01.D.1.png|
Image:00.01.D.2.png|
Image:01.01.D_A1.png|
Image:01.01.D_A2.png|
Image:01.01.D_A3.png|
Image:01.01.D_A4.png|
Image:01.01.D_A5.png|
Image:01.01.D_A6.png|
Image:01.01.D_A7.png|
Image:01.01.D_A8.png|
Image:01.01.D_A91.png|
Image:01.01.D_A92.png|
Image:02.01.D.gif|
Image:02.01.DG1.gif|
Image:02.01.DG2.gif|
Image:02.01.DG3.gif|
Image:02.01.G.gif|
Image:02.01.G_Schluessel.png|
Image:%03.01.C.gif|
Image:03.01.D_C.gif|
Image:03.01.G C.png|
Image:Druck_mittig.png|
Image:Druck_zu_dicht.png|
Image:Druck_zu_weit.png|
Image:%Durstellung.gif|
Image:Durstellung1_4.gif|
Image:EADGHE.gif|
Image:%G_Langsam.gif|
Image:Halbtonschritte_I.gif|
Image:HCF.gif|
Image:Mollstellung1_3.gif|
Image:MR_Durstellung.gif|
Image:MR_Mollstellung.gif|
</gallery>
}}
<pre>
{{duplicate|Crd_Form_C.svg}}
*replaced by [[image:Crd Form C.svg]]
*original is unused or replaced
--~~~~
</pre>
== Spielwiese ==
*[[Benutzer:Mjchael/ Spielweise | Spielweise (Tests für meine Projekte)]]
== Zeichnen und Schreiben ==
*[[Gitarre: Grifftabelle einfach | einfache Grifftabelle]]
*[[Liederbuch]] (weitere Übungsbeispiele für die "Diplome"
== Eigendichtungen ==
*[[Benutzer:Mjchael/ Eigendichtungen | Lob und Kritik und Ideen für selbstkomponierte Lieder]]
==Lieder==
[[Liederbuch/ Pläne und Wünsche]]
== Seitenüberblick ==
<!-- Alle Gitarrenseiten -->
{{Klappbox|style=border:1px solid grey; margin:6px 0 6px 0;|bg1=#EAEAEA|verborgen=true|ta1=left|fw1=bold
|Titel= Alle Gitarrenseiten
|Inhalt={{Spezial:Prefixindex/Gitarre}}
}}
<!-- Alle Liederbuchseiten -->
{{Klappbox|style=border:1px solid grey; margin:6px 0 6px 0;|bg1=#EAEAEA|verborgen=true|ta1=left|fw1=bold
|Titel= Alle Liederbuchseiten
|Inhalt={{Spezial:Prefixindex/Liederbuch}}
}}
<!-- Ende Inhalt -->
|}
<!-- Ende Äußere Tabelle -->
j3fmn7fqyfttapwm1mzp3hvlto5w03g
1091085
1091084
2026-09-19T14:24:20Z
Mjchael
2222
/* Akut */
1091085
wikitext
text/x-wiki
<!-- BEGINN SEITE -->
{| width="100%" cellspacing="0" cellpadding="0" valign="top"|
|- <!-- SEITE:TABS -->
|<!-- BEGINN SEITE:TABS -->
{| border="0" cellspacing="0" cellpadding="0" height="30" width="100%"
|-
{{Benutzer:Mjchael/TabVoll|#dfefdf|User:Mjchael|Mjchael}}
{{Benutzer:Mjchael/TabVoll|#f0f0f8|User:Mjchael/Projekte|Projekte}}
{{Benutzer:Mjchael/TabOffen|#f0f0f8|User:Mjchael/Werkstatt|Werkstatt}}
{{Benutzer:Mjchael/TabVoll|#f0f0f8|User:Mjchael/ Hilfen|Hilfen}}
{{Benutzer:Mjchael/TabVoll|#f0f0f8|User:Mjchael/Sammlungen|Sammlungen}}
| style="background-color:#f8f8ff;border-bottom:1px solid #000" width="100"|
|}<!-- ENDE SEITE:TABS -->
{|width="100%" cellpadding="2" cellspacing="0" style="text-align:left; border:solid #000000; border-width:0px 1px 1px 1px;" valign="top"|
|-
|bgcolor="#dfefdf" valign="top"|<!-- Äußere Tabelle linke Spalte -->
<!-- Anfang Inhalt -->
*[[:Kategorie:todo Mjchael|meine Todo-Liste]]
=== Akut ===
;Bm7-Form
<score>
<<
\new ChordNames {
\chordmode {
\set chordChanges = ##t
b:m7 b:m7 c:m7 c:m7
}
}
\new FretBoards {
\override FretBoards.FretBoard.size = #'1.5
\override FretBoard.fret-diagram-details.finger-code = #'in-dot
\override FretBoard.fret-diagram-details.dot-color = #'white
\override FretBoard.fret-diagram-details.orientation =
#'landscape
< b,-1 d a-2 b >1 % Bm
< b,-1 d a-2 d-3 >1 % Bm
< c,-3 es-1 b-4 c'-1 >1 % Cm7
< c,-3 es-1 b-4 e'-4 >1 % Cm7
}>>
</score>
{{:Gitarre/ Navi|Formen-Systematik|
{{:Gitarre: Formen-Systematik/ Navi}}|
img=Guitar 1.svg |bg=#F8f8f8|border=#666666|color=#333333|px=80|navi=Formen-Systematik}}
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="Kadenzen in C"
subtitle="Dreiklänge auf den Diskantsaiten (6. Bund)"
arranger = "CC-BY-SA Wikibooks (mjchael)"
}
myKey = {
\tempo 4 = 120
%Tempo ausblenden
\set Score.tempoHideNote = ##t
\clef "G_8"
\time 4/4
\key c
\major
}
myDiskant = {
\repeat volta 4{
\repeat volta 2{
\set Staff.midiInstrument = #"electric guitar (jazz)"
\stemUp
< e'\3 g'\2 c''\1 >2 % C
< f'\3 a'\2 c''\1 > % F
< d'\3 g'\2 b'\1 >4 % G
< d'\3 f'\2 b'\1 >4 % B°
< e'\3 g'\2 c''\1 >2 % C
}
%
\repeat volta 2{
\set Staff.midiInstrument = #"electric guitar (clean)"
< e'\3 a'\2 c''\1 >2 % Am
< f'\3 a'\2 d''\1 > % Dm
< e'\3 g'\2 b'\1 >4 % Em
< e'\3 gis'\2 b'\1 > % E
< e'\3 a'\2 c''\1 >2 % Am
}
%
}
}
myFretBoards = {
\new FretBoards {
% \override FretBoards.FretBoard.size = #'1.5
% \override FretBoard.fret-diagram-details.finger-code = #'in-dot
% \override FretBoard.fret-diagram-details.dot-color = #'white
% \override FretBoard.fret-diagram-details.orientation =
#'landscape
\myDiskant
}
}
myChords = \chordmode {
c2 f g4 b:dim c2 | a2:m d:m e4:m e a2:m |
}
myGuitar = \myDiskant
%% Layout
\score {
<<
%% Griffbilder
\myFretBoards
%% Akkordnamen
\new ChordNames { \myChords }
%% Noten
\new Voice {
\myKey
\myGuitar
}
%% Tabulatur
\new TabStaff {
\tabFullNotation
\myGuitar
}
>>
\layout { \omit Voice.StringNumber }
}
%% Migiausgabe
\score {
<<
\unfoldRepeats {
\new Staff <<
\myKey
\myDiskant
>>
}
>>
\midi {}
}
%& unterdrückt im raw="1"-Modus das DinA4-Format.
\paper {
indent=0\mm
line-width=100\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
{{Todo|Cups (When I'm Gone) by Anna Kendrick<br>
Hello by Adele<br>Just The Way You Are by Bruno Mars<br>Someone You Loved by Lewis Capaldi|Mjchael}}
<poem>
Father Charles Goes Down And Ends Battle
3 times • 1st with b • 2nd natural • 3rd with #
Fb Cb Gb Db Ab Eb Bb F C G D A E B F# C# G# D# A# E# B#
You have to know or to learn
C G D A E
stands for
C D E _ G A _ C major pentatonic
A _ C D E _ G A minor pentatonic
Fb Cb Gb Db Ab
Cb Gb Db Ab Eb
Gb Db Ab Eb Bb
Db Ab Eb Bb F
Ab Eb Bb F C
Eb Bb F C G
Bb F C G D
F C G D A
C G D A E
G D A E B
D A E B F#
A E B F# C#
E B F# C# G#
B F# C# G# D#
F# C# G# D# A#
C# G# D# A# E#
The first note is the root of the major pentatonic
The 4th note is the root of the minor pentatonic.
One sentence
Father Charles Goes Down And Ends Battle
Less to lern, more benefits.
</poem>
<poem>
Strategie
Tonart runter • Capo rauf
C Dur [ F C G Dm Am Em ]
C - 3 = A
D - 5 = A
E - 7 = A
A Dur [ D A E Bm F#m C#m ]
A - 2 = G
C - 5 = G
D - 7 = G
G Dur [ C G D Am Em Bm ]
G - 3 = E
A - 5 = E
C - 8 = E
E Dur = [ A E B7 F#m C#m G#m ]
E - 2 = D
G - 5 = D
A - 7 = D
D Dur = [ G D A Em Bm F#m ]
D - 2 = C
E - 4 = C
G - 7 = C
C Dur [ F C G Dm Am Em ]
Hast du jetzt eine andere Tonart als Start, musst du nur einen Bund hinzufügen oder abziehen (Bb F B Eb Db...)
Zwei Grundlagen sind unverzichtbar
1) Der Quintenzirkel um die zusammengehörigen Akkorde zu kennen
Fähige Clevere Gitarristen Denken An Ein Barré
Father Charles Goes Down And Ends Battle
Fb Cb Gb Db Ab Eb Bb F C G D A E B F# C# G# D# A# E# B#
2) Das die Tonleiter (Das Alphabet) runter...
G F E D C B A G F E D C B A
... und die Halbtonschritte dazwischen um die Abstände abzuzählen...
Für Kreuztonarten
G F# F E D# D C# C B A# A G# G F# F E D# D C# C B A# A
Für die B-Tonarten
G Gb F E Eb D Db C B Bb A Ab G Gb F E Eb D Db C B Bb A Ab
Die Kreuz- und B-Tonarten wollen wir eigentlich ganz vermeiden
G _ F E _ D _ C B _ A _ G _ F E _ D _ C B _ A _ G
Hier siehst du, warum die meisten Capo-Positionen zwei Bünde entfernt sind.
Nun zählt auch F und B nicht zu den Lieblingstonarten der Gitarristen.
G _ _ E _ D _ C _ _ A _ G _ _ E _ D _ C _ _ A _ G
So kommen die Abstände von 3 Bünden zustande.
G - 3 = E ( übersprungenes F )
C - 3 = A ( übersprungenes B )
</poem>
== Vorübung Still got the Blues ==
<score sound="1" raw="1">
\version "2.20.0"
%{
\header {
title="1. Fingersatz (E-(F)-Form) in C-Dur"
subtitle="Eintaktige Sequenzen"
}
%}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c' {
\set TabStaff.minimumFret = #7
\set TabStaff.restrainOpenStrings = ##t
\key c \major
c8 d e f e d c4
b8 c d e d c b4
a8 b c d c b a \tweak color #red gis
a1
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 4/4
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
c d e f e d c
b c d e d c b \break
a b c d c b a "g#"
a
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=90\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
==Lilypond Version==
{{Regal:Musik/ Lilypond Version}}
=== Bonus Balladendiplom ===
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="Basis-Pattern"
subtitles="My December (Linking Park)"
encoder="mjchael"
}
%Diskant- bzw. Melodiesaiten
myDiskant = {
d8 d' a f' d d' a f' | % 1
c8 c' g e' c c' g e' | % 1
d8 d' a f' d d' a f' | % 1
c8 c' g e' c c' g e' | % 1
}
%Basssaiten, die hier nur mit dem Daumen gespielt werden.
myBass = {
d4 a d a
c4 g c g
d4 a d a
c4 g c g
}
% Layout- bzw. Bildausgabe
\score {
<<
\new ChordNames {
\chordmode {
d1:m c d1:m c
}
}
{
%Noten
\new Staff <<
\tempo 4 = 120
%Tempo ausblenden
\set Score.tempoHideNote = ##t
\time 4/4
\key c \major
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8" \repeat volta 4
% Balken nur über viertel Noten, nicht über halbe Noten
\set Timing.beamExceptions = #'()
\set Timing.baseMoment = #(ly:make-moment 1/4)
\set Timing.beatStructure = #'(1 1 1 1)
% Noten im Diskant
\myDiskant
\\
% Noten im Bass - beachte: Wiederholungszeichen ist für Midi notwendig!
\repeat volta 4
\myBass
>>
}
% Tabulatur
\new TabStaff {
\tabFullNotation \repeat volta 4
<<
% Tabulatur im Diskant
\myDiskant
\\
% Tabulatur im Bass
\myBass
>>
}
>>
\layout {}
}
% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\key c \major
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8" \repeat volta 4
\myDiskant
\\
\repeat volta 4
\myBass
>>
}
>>
\midi {}
}
% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
% DinA4 0 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
<div style="background-color:FFF;">
=== Danny Boy ===
<score sound="1" raw="1">
\version "2.20.0"
\header {
title = "Danny Boy"
subtitle = "A Londonderry Air (before 1855)"
poet = "Lyrics: Frederic Weatherly (1910)"
% composer = "Komponist"
% arranger = "arr: ccbysa: Wikibooks (mjchael)"
}
myKey = {
\clef "treble"
\time 4/4
\tempo 4 = 100
%%Tempo ausblenden
\set Score.tempoHideNote = ##t
\key g\major
}
%% Akkorde
%% 4/4-Schlag
%% 1 . 2 . 3 . 4 .
myD = \chordmode { d,4 d d, d }
myA = \chordmode { a,,4 a, a,, a, }
myDA = \chordmode { d,4 d a,, a, }
myChords = \chordmode {
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
%% Akkorde nur beim Wechsel notieren
\set chordChanges = ##t
% \partial 4 s4
% \myD \myA \myDA \myD
% d,1 %Schlusston
}
myMelody = \relative c'' {
\myKey
\set Staff.midiInstrument = #"trombone"
\relative c'{
\partial 4. fis8 g a |
b4. a8[ b] e[ d b] |
a( g) e4 r8 g b c |
d4. e8 d b g b |
a2 r8 fis8 g a |
b4. a8[ b] e[ d b] |
a( g) e4. fis8 g a |
b4. c8 b a g fis |
g2 r8 d' e fis |
g4. fis8 fis e d e |
\tweak color #red d( b) g4 r8 d'8 e fis |
\break % 11
g4. fis8 fis e d b |
a2 r8 d8 8 8 |
b'4. a8 8 g e g |
d( b) g4 r8 fis8 g a |
b e d b a g e fis |
g2~ 8 \bar "|."
}
}
myLyrics = \lyricmode {
\set stanza = "1."
Oh, Dan -- ny Boy, the pipes, the pipes are cal -- ling
From glen to glen, and down the moun -- tain side
The sum -- mer's gone and all the ro -- ses fal -- ling
It's you, it's you must go and I must bide.
But come ye back when sum -- mer's in the mea -- dow.
Or when the val -- ley's hushed and white with snow.
And I'll be here in sun -- shine or in sha -- dow.
Oh Dan -- ny Boy, oh, Dan -- ny Boy, I love you so.
}
\score {
<<
\new ChordNames { \myChords }
\new Voice = "mySong" { \myMelody }
\new Lyrics \lyricsto "mySong" { \myLyrics }
% \new TabStaff { \myChords } %% Check
>>
\midi { }
\layout { }
}
%% unterdrückt im raw="1"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 0 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
=== Tom Dooley to Tabs ===
<score sound="1" raw="1">
\version "2.20.0"
\header {
title = "Tom Dooley"
% subtitle = "MeinSubtitle"
% poet = "Texter"
composer = "trad."
% arranger = "arr: ccbysa: Wikibooks (mjchael)"
}
myKey = {
\clef "treble"
\time 4/4
\tempo 4 = 100
%%Tempo ausblenden
\set Score.tempoHideNote = ##t
\key g\major
}
%% Akkorde
%% 4/4-Schlag
%% 1 . 2 . 3 . 4 .
myG = \chordmode { g,,4 g,8 4 8 4 }
myGAm = \chordmode { g,,4 g,8 a,4:m a,8:m a,4:m}
myD = \chordmode { d,4 d8 4 8 4 }
myDsept = \chordmode { d,4:7 d8:7 d4:7 d8:7 d4:7 }
myAm = \chordmode { a,,4:m a,8:m a,4:m a,8:m a,4:m }
myChords = \chordmode {
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
%% Akkorde nur beim Wechsel notieren
\set chordChanges = ##t
% \partial 4 s4
\myG \myG \myGAm \myD
\myAm \myD \myDsept \myG
g,,1 %Schlusston
}
myMelody = \relative c'' {
\myKey
\set Staff.midiInstrument = #"trombone"
\relative c'{
d8 4 8 e g4. | b4. b8( b2)|
d,8 4 8 e g4. | a1 |
d,8 4 e4 g4. | a4. a8~ a2|
a8 4 b8 a4 e4 | g1
\bar "|."
}
}
myLyrics = \lyricmode {
\set stanza = "1."
Hang down your head, Tom Doo -- ley.
Hang down your head and cry
Killed poor Lau -- ra Fos -- ter.
You know you're bound to die.
}
\score {
<<
\new ChordNames { \myChords }
\new Voice = "mySong" { \myMelody }
\new Lyrics \lyricsto "mySong" { \myLyrics }
% \new TabStaff { \myChords } %% Check
>>
\midi { }
\layout { }
}
%% unterdrückt im raw="1"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 0 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
==== Von G nach C ====
<score sound="1" raw="1">
\version "2.20.0"
\header {
title = "Tom Dooley"
% subtitle = "MeinSubtitle"
% poet = "Texter"
composer = "trad."
% arranger = "arr: ccbysa: Wikibooks (mjchael)"
}
myKey = {
\clef "treble"
\time 4/4
\tempo 4 = 100
%%Tempo ausblenden
\set Score.tempoHideNote = ##t
\key c\major
}
%% Akkorde
%% Lagerfeuer-Schlag
%% 1 . 2 + . + 4 .
myC = \chordmode { c,4 c8 4 8 4 }
myCDm = \chordmode { c,4 c8 d4:m d8:m d4:m}
myG = \chordmode { g,,4 g,8 4 8 4 }
myGsept = \chordmode { g,,4:7 g,8:7 g,4:7 g,8:7 g,4:7 }
myDm = \chordmode { d,4:m d8:m d4:m d8:m d4:m }
myChords = \chordmode {
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
%% Akkorde nur beim Wechsel notieren
\set chordChanges = ##t
% \partial 4 s4
\myC \myC \myCDm \myG
\myDm \myG \myGsept \myC
c,1 %Schlusston
}
myMelody = \relative c'' {
\myKey
\set Staff.midiInstrument = #"trombone"
g8 g8( g8) 8 a c4. | e4. e8( e2)|
g,8 g8~ g8 8 a c4. | d1 |
g,8 8~ 8 a4 c4. | d4. d8~ d2|
d8 d8~ d8 e8 d4 a4 | c1
\bar "|."
}
myLyrics = \lyricmode {
\set stanza = "1."
Hang down your head, Tom Doo -- ley.
Hang down your head and cry
Killed poor Lau -- ra Fos -- ter.
You know you're bound to die.
}
\score {
<<
\new ChordNames { \myChords }
\new Voice = "mySong" { \myMelody }
\new Lyrics \lyricsto "mySong" { \myLyrics }
% \new TabStaff { \myChords } %% Check
>>
\midi { }
\layout { }
}
%% unterdrückt im raw="1"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 0 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
==== Von G nach C in den Bass ====
<score sound="1" raw="1">
\version "2.20.0"
\header {
title = "Tom Dooley"
% subtitle = "MeinSubtitle"
% poet = "Texter"
composer = "trad."
% arranger = "arr: ccbysa: Wikibooks (mjchael)"
}
myKey = {
\clef "treble"
\time 4/4
\tempo 4 = 100
%%Tempo ausblenden
\set Score.tempoHideNote = ##t
\key c\major
}
%% Akkorde
%% Lagerfeuer-Schlag
%% 1 . 2 + . + 4 .
myC = \chordmode { c,4 c8 4 8 4 }
myCDm = \chordmode { c,4 c8 d4:m d8:m d4:m}
myG = \chordmode { g,,4 g,8 4 8 4 }
myGsept = \chordmode { g,,4:7 g,8:7 g,4:7 g,8:7 g,4:7 }
myDm = \chordmode { d,4:m d8:m d4:m d8:m d4:m }
myChords = \chordmode {
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
%% Akkorde nur beim Wechsel notieren
\set chordChanges = ##t
% \partial 4 s4
\myC \myC \myCDm \myG
\myDm \myG \myGsept \myC
c,1 %Schlusston
}
myMelody = \relative c' {
\myKey
\set Staff.midiInstrument = #"trombone"
g8 4 8 a c4. | e4. e8( e2)|
g,8 4 8 a c4. | d1 |
g,8 4 a4 c4. | d4. d8~ d2|
d8 4 e8 d4 a4 | c1
\bar "|."
}
myLyrics = \lyricmode {
\set stanza = "1."
Hang down your head, Tom Doo -- ley.
Hang down your head and cry
Killed poor Lau -- ra Fos -- ter.
You know you're bound to die.
}
\score {
<<
\new ChordNames { \myChords }
\new Voice = "mySong" { \myMelody }
\new Lyrics \lyricsto "mySong" { \myLyrics }
% \new TabStaff { \myChords } %% Check
>>
\midi { }
\layout { }
}
%% unterdrückt im raw="1"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 0 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
==== bon G nach D ====
<score sound="1" raw="1">
\version "2.20.0"
\header {
title = "Tom Dooley"
% subtitle = "MeinSubtitle"
% poet = "Texter"
composer = "trad."
% arranger = "arr: ccbysa: Wikibooks (mjchael)"
}
myKey = {
\clef "treble"
\time 4/4
\tempo 4 = 100
%%Tempo ausblenden
\set Score.tempoHideNote = ##t
\key g\major
}
%% Akkorde
%% 4/4-Schlag
%% 1 . 2 . 3 . 4 .
myG = \chordmode { g,,4 g,8 4 8 4 }
myGAm = \chordmode { g,,4 g,8 a,4:m a,8:m a,4:m}
myD = \chordmode { d,4 d8 4 8 4 }
myDsept = \chordmode { d,4:7 d8:7 d4:7 d8:7 d4:7 }
myAm = \chordmode { a,,4:m a,8:m a,4:m a,8:m a,4:m }
myChords = \chordmode {
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
%% Akkorde nur beim Wechsel notieren
\set chordChanges = ##t
% \partial 4 s4
\myG \myG \myGAm \myD
\myAm \myD \myDsept \myG
g,,1 %Schlusston
}
myMelody = \relative c'' {
\myKey
\set Staff.midiInstrument = #"trombone"
\relative c'{
d8 d8( d8) 8 e g4. | b4. b8( b2)|
d,8 4 8 e g4. | a1 |
d,8 4 e4 g4. | a4. a8~ a2|
a8 4 b8 a4 e4 | g1
\bar "|."
}
}
myLyrics = \lyricmode {
\set stanza = "1."
Hang down your head, Tom Doo -- ley.
Hang down your head and cry
Killed poor Lau -- ra Fos -- ter.
You know you're bound to die.
}
\score {
<<
\new ChordNames { \myChords }
\new Voice = "mySong" { \myMelody }
\new Lyrics \lyricsto "mySong" { \myLyrics }
% \new TabStaff { \myChords } %% Check
>>
\midi { }
\layout { }
}
%% unterdrückt im raw="1"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 0 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
== Yes Sir That's my Baby ==
{{:Liederbuch/ Vorlage:Liedheader
|Liedtyp= Charleston (1924)
|Alternativtitel=
|Text= Gus Kahn (*1886 - † 1941)
|Melodie= Walter Donaldson (*1893 - † 1947)
|Urheber=
|Tonart=
|Bearbeiter= Mjchael
|Co-Bearbeiter=
}}
* {{w|Yes Sir, That’s My Baby}}
Der Protagonist (Mann oder Frau) bestätigt den Gesprächspartnern, nun verlobt zu sein, und läd diese zur Hochzeit ein.
<poem>
{{crd|C}} Who's that coming down the {{crd|C#dim}} street,
{{crd|G}} who's that looking so petite
{{crd|G7}} Who's that coming down to meet me {{crd|C}} here. {{crd|Dm7}} {{crd|G7}}
{{crd|C}} Who's that - you know who I {{crd|C#dim}} mean?
{{crd|G7}} Sweetest 'who' you've ever seen
{{crd|D7}} I {{crd|Am7}} could {{crd|D7}} tell {{crd|Am7}} her
{{crd|D7}} miles {{crd|Am7}} a-{{crd|D7}}way from {{crd|G7}} here. {{crd|Em}} {{crd|B7}} {{crd|G7}}
{{crd|C}} Yes, sir, that's my {{crd|C#dim}} baby,
{{crd|G}} no, sir, I don't mean maybe
{{crd|G7}} Yes, sir, that's my baby {{crd|C}} now. {{crd|G7}}
{{crd|C}} Yes, ma'am we've de-{{crd|C#dim}}cided,
{{crd|G}} no, ma'am we won't hide it
{{crd|G7}} Yes ma'am you're invited {{crd|C}} now.
By the {{crd|C7}} way, by the {{crd|F}} way,
when we {{crd|D7}} reach the preacher I'll {{crd|G7}} say {{crd|G7+5}}
{{crd|C}} Yes, sir, that's my {{crd|C#dim}} baby,
{{crd|G}} no, sir, I don't mean maybe
{{crd|G7}} Yes, sir, that's my baby {{crd|C}} now.
{{crd|C}} Well well, 'lookit' that {{crd|C#dim}} baby,
{{crd|G}} Do tell, don't say "maybe",
{{crd|G7}} Hell's bells, won't she cause some {{crd|C}} row?
Pretty {{crd|C7}} soon, Pretty {{crd|F}} soon,
We will {{crd|D7}} hear that Lohengrin {{crd|G7}} tune, (I'm sayin'){{crd|G7+5}}
{{crd|C}} Who for should she {{crd|C#dim}} be sir,
{{crd|G}} No one else but me sir,
{{crd|G7}} Yes sir, That's my Baby {{crd|C}} now. {{crd|C7}}
{{crd|C}} Yes sir, that's my {{crd|C#dim}} Baby
{{crd|G}} Yes sir, I don't mean maybe,
{{crd|G7}} Yes sir, That's my Baby {{crd|C}} now
</poem>
=== Yes Sir, That's My Baby (Var2) ===
<poem>
{{crd|C}} Yes {{crd|Am}} sir, {{crd|C}} that's my {{crd|Am}} baby
{{crd|G7}} No {{crd|Dm}} sir, {{crd|G7}} don't be {{crd|Dm}} maybe
{{crd|G7}} Yes {{crd|Am}} sir, {{crd|G7}} that's my {{crd|Dm}} baby {{crd|C}} now {{crd|G7}}
{{crd|C}} Yes {{crd|Am}} ma'am, {{crd|C}} we've de{{crd|Am}}cided
{{crd|G7}} No {{crd|Dm}} ma'am, {{crd|G7}} we won't {{crd|Dm}} hide it
{{crd|G7}} Yes {{crd|Am}} ma'am, {{crd|G7}} that's my {{crd|Dm}} baby {{crd|C}} now
By the way, {{crd|C7}} by the {{crd|F}} way
When we {{crd|D7}} meet that preacher
I'll {{crd|G7}} say with {{crd|G7sus2}} feel{{crd|G7}}ing
{{crd|C}} Yes {{crd|Am}} sir, {{crd|C}} that's my {{crd|Am}} baby
{{crd|G7}} No {{crd|Dm}} sir, {{crd|G7}} don't be {{crd|Dm}} maybe
<div>{{crd|G7}} Yes {{crd|Am}} sir, {{crd|G7}} that's my {{crd|Dm}} baby {{crd|C}} now.
</poem>
* {{Youtube-Suche|Yes+Sir+That's+My+Baby|Yes Sir, That's My Baby}}
===Early One Morning===
<poem>
;1
{{crd|D}}Early one morning, just {{crd|G}}as the sun was {{crd|A}}rising
I {{crd|D}}heard a maiden singing, from the {{crd|G}}va-{{crd|A}}lley be-{{crd|D}}low:
;Chorus
{{crd|A}}Oh, don't de-{{crd|D}}ceive me, {{crd|A}}Oh never {{crd|D}}leave me,
{{crd|D}}How could you {{crd|G}}use, a {{crd|D}}poor {{crd|A}}maiden {{crd|D}}so?
;2
Oh {{crd|D}}gay is garland, and {{crd|G}}fresh are the {{crd|A}}roses,
I've {{crd|D}}culled from the garden, to {{crd|G}}bind u-{{crd|A}}pon thy {{crd|D}}brow.
;3
Re-{{crd|D}}member the vows, that you {{crd|G}}made to your {{crd|A}}Mary
Re-{{crd|D}}member the bow'r, where you {{crd|G}}promised {{crd|A}}to be {{crd|D}}true.
;4
Thus {{crd|D}}sang the poor maid, her {{crd|G}}sorrows be{{crd|A}}wailing,
Thus, {{crd|D}}sang the poor maid, in the {{crd|G}}va-{{crd|A}}lley be-{{crd|D}}low.
</poem>
===Down In The River To Pray===
<poem>
As I went down in the river to pray
Studying about that good old way
And who shall wear the starry crown
Good Lord, show me the way!
O sisters let's go down,
Let's go down, come on down,
O sisters let's go down,
Down in the river to pray.
As I went down in the river to pray
Studying about that good old way
And who shall wear the robe and crown
Good Lord, show me the way!
O brothers let's go down,
Let's go down, come on down,
Come on brothers let's go down,
Down in the river to pray.
As I went down in the river to pray
Studying about that good old way
And who shall wear the starry crown
Good Lord, show me the way!
O fathers let's go down,
Let's go down, come on down,
O fathers let's go down,
Down in the river to pray.
As I went down in the river to pray
Studying about that good old way
And who shall wear the robe and crown
Good Lord, show me the way!
O mothers let's go down,
Let's go down, don't you want to go down,
Come on mothers let's go down,
Down in the river to pray.
As I went down in the river to pray
Studying about that good old way
And who shall wear the starry crown
Good Lord, show me the way!
O sinners let's go down,
Let's go down, come on down,
O sinners let's go down,
Down in the river to pray.
As I went down in the river to pray
Studying about that good old way
And who shall wear the robe and crown
Good Lord, show me the way!
</poem>
=== Wild Mountain Thyme ===
[[Datei:Wild mountain thyme - geograph.org.uk - 25029.jpg|mini]]
{{listen|filename=Christoph Nolte - The Rocky Road - The Wild Mountain Thyme.ogg|title=The Wild Mountain Thyme|description="Wild Mountain Thyme" performed by Christoph Nolte}}
<score lang="ABC" sound="1">
X: 5
T: Wild Mountain Thyme
R: barndance
M: 4/4
L: 1/8
K: Gmaj
GE|"G"D2 D2 "C"E<G-GA|"G"G6 Bd|"C"e3 e e3 d|"G"Bd-d4 Bd
"C"e4 "G"d3 B|"Em"A<G-G4AB|"Am"c3B A3G|"C"EG-G4 GE|"G"D2 D2 "C"E<G-GA|
"G"G6 Bd|"C"e3 e e3 d|"G"Bd-d4 Bd|"C"e4 "G"d3 B|"Em"A<G-G4AB|
"Am"c3B A3G|"C"EG-G4 GE|"G"D2 D2 "C"E<G-GA|"G"G6|
</score>
< !--
<score sound="1" raw="1">
\version "2.20.0"
\header {
title = "Wild Mountain Thyme"
% subtitle = "MeinSubtitle"
% poet = "Texter"
% composer = "Komponist"
% arranger = "arr: ccbysa: Wikibooks (mjchael)"
}
myKey = {
\clef "treble"
\time 4/4
\tempo 4 = 100
%%Tempo ausblenden
\set Score.tempoHideNote = ##t
\key g\major
}
%% Akkorde
%% 4/4-Schlag
%% 1 . 2 . 3 . 4 .
myD = \chordmode { d,4 d d, d }
myA = \chordmode { a,,4 a, a,, a, }
myDA = \chordmode { d,4 d a,, a, }
myChords = \chordmode {
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
%% Akkorde nur beim Wechsel notieren
\set chordChanges = ##t
\partial 4 s4
\myD \myA \myDA \myD
d,1 %Schlusston
}
myMelody = \relative c'' {
\myKey
\set Staff.midiInstrument = #"trombone"
\relative c''{
\partial 4 g8 e
d4 d e16 g8.~8 a | g2. b8 d | e4. e8 e4. d8 | b d8~2 b8 d |
% GE|"G"D2 D2 "C"E<G-GA|"G"G6 Bd|"C"e3 e e3 d|"G"Bd-d4 Bd
e2 d4. b8 | a16 g8.~2 a8 b | c4. b8 a4. g8 |e8 g8~2 g8 e | d4 4 e16 g8.~g8 a
% "C"e4 "G"d3 B|"Em"A<G-G4AB|"Am"c3B A3G |"C"EG-G4 GE|"G"D2 D2 "C"E<G-GA|
c4. b8 a4. g8 | e g8~2 8 e | d4 4 e16 g8.~8 a | g2.
% "Am"c3B A3G|"C"EG-G4 GE|"G"D2 D2 "C"E<G-GA|"G"G6|
\bar "|."
}
}
myLyrics = \lyricmode {
\set stanza = "1."
Häns -- chen klein | ging al -- lein | in das Haus hin | -- ein. |
}
\score {
<<
\new ChordNames { \myChords }
\new Voice = "mySong" { \myMelody }
\new Lyrics \lyricsto "mySong" { \myLyrics }
% \new TabStaff { \myChords } %% Check
>>
\midi { }
\layout { }
}
%% unterdrückt im raw="1"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 0 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
-->
(also known as "Purple Heather" and "Will Ye Go, Lassie, Go?") is a Scottish/Irish folk song.
<poem>
;1
O the summer time has come
And the trees are sweetly blooming
And wild mountain thyme
Grows around the purple heather.
Will you go, lassie, go?
;Chorus
And we'll all go together,
To pull wild mountain thyme,
All around the purple heather.
Will you go, lassie, go?
;2
I will build my love a tower,
By yon clear crystal fountain,
And on it I will pile,
All the flowers of the mountain.
Will you go, lassie, go?
;3
I will range through the wilds
And the deep land so dreary
And return with the spoils
To the bower o' my dearie.
Will ye go lassie go ?
;4
If my true love she'll not come,
Then I'll surely find another,
To pull wild mountain thyme,
All around the purple heather.
Will you go, lassie, go?
</poem>
== Akkordfolge NEM ==
<score>
<<
\new ChordNames { \chordmode {
d1 c g b
}}
\new FretBoards {
\override FretBoards.FretBoard.size = #'1.5
\override FretBoard.fret-diagram-details.finger-code = #'in-dot
\override FretBoard.fret-diagram-details.dot-color = #'white
\override FretBoard.fret-diagram-details.orientation =
#'landscape
< d-1\5 a-2\4 d'-3\3 fis'-4\2 a'-1\1 > % d
< c-1\5 g-2\4 c'-3\3 e'-4\2 g'-1\1 > % C/B
< g,-1 d-3 g-4 b-2 d'-1 g'-1 > % G
< b,-1\5 fis-2\4 b-3\3 dis'-4\2 fis'-1\1 > % B
}
>>
</score>
<score>
<<
\new ChordNames { \chordmode {
c1 a g e d
}}
\new FretBoards {
\override FretBoards.FretBoard.size = #'1.5
\override FretBoard.fret-diagram-details.finger-code = #'in-dot
% \override FretBoard.fret-diagram-details.dot-color = #'blue
\override FretBoard.fret-diagram-details.orientation =
#'landscape
< e\6 c'\5 e'\4 g'\3 c''\2 e''\1 > % C
< e\6 a\5 e'\4 a'\3 cis''\2 e''\1 > % A
< g\6 b\5 d'\4 g'\3 b'\2 g''\1 > % G
< e\6 b\5 e'\4 gis'\3 b'\2 e''\1 > % E
< d'\4 a'\3 d''\2 fis''\1 > % d
}
\new ChordNames { \chordmode {
c1:m a:m g:m e:m d:m
}}
\new FretBoards {
\override FretBoards.FretBoard.size = #'1.5
\override FretBoard.fret-diagram-details.finger-code = #'in-dot
\override FretBoard.fret-diagram-details.dot-color = #'blue
\override FretBoard.fret-diagram-details.orientation =
#'landscape
< es\6 c'\5 es'\4 g'\3 c''\2 es''\1 > % C
< e\6 a\5 e'\4 a'\3 c''\2 e''\1 > % A
< g\6 bes\5 d'\4 g'\3 bes'\2 g''\1 > % G
< e\6 b\5 e'\4 g'\3 b'\2 e''\1 > % E
< d'\4 a'\3 d''\2 f''\1 > % d
}
>>
</score>
== Canon in D ==
<score sound="1" raw="1">
\version "2.20.0"
\header {
title = "Canon"
composer = "M: Johann Pachebel (1653-1706)"
key="D"
composer= "Pachelbel"
arranger = "arr.: ccbysa Wikibooks (mjchael)"
}
myKey = {
\language "deutsch"
\tempo 4 = 100
%Tempo ausblenden
\set Score.tempoHideNote = ##t
\clef "G_8" \time 4/4
\key d \major
\set Staff.midiInstrument = #"electric guitar (clean)"
}
myMelody = \relative c {
\myKey
\set minimumFret = #2
\set TabStaff.restrainOpenStrings = ##t
\stemUp
\repeat volta 2{}
%^\markup { \bold {Em7} }
%\break
fis2 e d cis h a h cis
\voiceOne
fis' e d cis h a
h cis fis e d cis
h a h cis
d4 \oneVoice d e cis
d fis a a,
h g fis a g d' cis a
d8 cis d fis, a a cis4
d8 d fis4 a a8 h
g fis e g fis e d cis
\voiceOne
h cis d4~ d8 cis16 d cis4
d8 cis d fis, a4 cis d fis a a8 h
g fis e g fis e d cis
h a d4 ~ d8 cis16 d cis4\trill
\oneVoice
\set Timing.beatStructure = #'(1 1 1 1)
d8 fis16 g a8 fis16 g a a, h cis d e fis g
fis8 d16 e fis8 fis,16 g a h a g a fis g a
d8 h16 a g8 fis16 e fis e d e fis g a h
d8 h16a h8 e16 d cis h cis d e fis g e
fis8 d16 cis d8 fis, e cis'16 d e8 cis
% fis d16 cis d8 fis, e cis'16 d e8 cis
d h16 a h8 d, cis fis16 g a8 fis
h g16 fis g8 h a fis'16 e fis8 d
h d16 cis d8 fis, e a d cis
\voiceOne
\set Timing.beatStructure = #'(2 2)
d4. fis8 fis g fis e
d4. d8 d e d cis
h4. h8 a4 d
d8 c h c a2
\oneVoice
d4 fis8 a a h a g
\voiceOne
s1 s
h,2 a ~ a4 \oneVoice d e cis
d fis, a4. h8
g4 d fis a
\voiceOne
g fis e a
fis1\fermata
\bar "||."
% \bar "|." |
}
Gitarre = \myMelody
%% Layout = Noten mit Tab
\score {
<<
%% Noten
\new Voice {
\myKey
\Gitarre
}
%% Tabulatur
\new TabStaff {
\tabFullNotation
\Gitarre
}
>>
\layout {}
}
%% Midiausgabe
\score {
<<
\unfoldRepeats {
\new Staff <<
\myKey
\Gitarre
>>
}
>>
\midi {}
}
%& unterdrückt im raw="1"-Modus das DinA4-Format.
\paper {
indent=0\mm
%& DinA4 0 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
== Takte auszählen ==
GEMISCHTE TAKTE AUSZÄHLEN
Speziell ein Tutorial für Kerstin Jentzsch
Ich gehe mal davon aus, das du dich ganz grob mit den Notenwerten auskennst, und eine Methode suchst, wie du sie beim täglichen Üben einsetzen kannst.
Versuche es mal mit Zahlen.
Die Idee hab ich von
Mike Schönmehl "Jazz und Pop Musiklehre"
Atlantis-Schott-Musikverlag
Alle viertel-Noten werden mit einfachen Zahlen ausgesprochen
1 . 2 . 3 . 4 .
Eins zwei drei vier
oder
fünf sechs sieben acht
oder
neun zehn elf zwölf
Es ist egal welche dieser Zahlenfolgen du nimmst es ist für jede Zahl nur eine Silbe.
Jetzt komme die Achtel:
1 + 2 + 3 + 4 +
Drei-zehn, vier-zehn, fünf-zehn, sech-zehn
sieb-zehn, ach-zehn, neun-zehn, zwan-zig
Was auch gut geht ist
Ein-er, Zwei-er, Drei-er, vier-er
Hier haben alle Zahlen zwei Silben und teilen sich wie zwei Achtel auf.
Jetzt kommen die Sechzehntel
1 e + e 2 e + e 3 e + e 4 e + e
Ein-und-zwan-zig, Zwei-und-zwan-zig, Drei-und-zwan-zig, Vier-und-zwan-zig
Fünf-und-zwan-zig, Sechs-und-zwan-zieg, sieben-und-zwan-zieg, Acht-und-zwan-zig
Hier haben alle Zahlen vier Silben und teilen sich wie vier Sechzentel auf.
Jetzt die Triolen:
1-er-lei 2-er-lei 3-er-lei 4-er-lei
Ein-hun-dert, Zwei-hun-dert, Drei-hun-dert, Vier-hun-dert
Hier haben alle Zahlen drei Silben und teilen sich wie drei Triolen auf.
Wir sind es beim Zählen gewöhnt, in bestimmten Schritten zu zählen, so das wir 1-12 meist genau so langsam bzw. schnell zählen wie 13-20 oder wie 21-29. Und auch die Hunderter werden im gleichen Schritt gezählt.
Man macht ganz automatisch zwei-Achtel, vier-Sechzentel oder 3-Triolen.
Man kann versuchen, sich für viele Rhyhtmen einfach eine Zahlenfolge aufschreiben, und sich auch neue Kombinationen einfallen lassen.
Wie wäre es wenn man viertel, triolen und Sechzentel miteiander übt?
Eins | Zwei-hund-dert | drei | vier-und-zwan-zig
Ein-und-zwan-zig| zwei | drei-hun-dert | vier
Zehner-Zahlen könnten sich sogar für einen Schuffle eignen
1 . + 2 . + 3 . + 4 . +
Bei der Zehn muss man sich was einfallen lassen, aber dann kann man gut im Shuffle zählen
Zehn---tel, Zwan---zig, Drei---ßig, Vier---zig
Zehn---tel, Zwei-hund-dert, Drei---ßig, Vier---zig
So in etwa
Die Methode ist nicht der Weisheit letzter Schluss, aber vielleicht hilft es dem einen oder anderen beim Üben.
Gruß Mjchael
===Gallerie von Red_Rooster===
Die meisten Gifs und JPG wurden von Red_Rooster hochgeladen. Die müssen nach SVG umgestaltet werden.
<!-- Bilder durch SVG ersetzen -->
{{Klappbox|style=border:1px solid grey; margin:6px 0 6px 0;|bg1=#EAEAEA|verborgen=true|ta1=left|fw1=bold
|Titel= Bilder durch SVG ersetzen
|Inhalt=
{{rot|Bilder nicht löschen!!!!!!!!! Sie müssen weltweit durch SVG ausgetauscht werden, und dann erst auf den Commons für die Schnelllöschung vorgeschlagen werden, und dann erst dürfen sie entfernt werden. Und das mache ich selbst!}}
<gallery>
Image:00.01.D.1.png|
Image:00.01.D.2.png|
Image:01.01.D_A1.png|
Image:01.01.D_A2.png|
Image:01.01.D_A3.png|
Image:01.01.D_A4.png|
Image:01.01.D_A5.png|
Image:01.01.D_A6.png|
Image:01.01.D_A7.png|
Image:01.01.D_A8.png|
Image:01.01.D_A91.png|
Image:01.01.D_A92.png|
Image:02.01.D.gif|
Image:02.01.DG1.gif|
Image:02.01.DG2.gif|
Image:02.01.DG3.gif|
Image:02.01.G.gif|
Image:02.01.G_Schluessel.png|
Image:%03.01.C.gif|
Image:03.01.D_C.gif|
Image:03.01.G C.png|
Image:Druck_mittig.png|
Image:Druck_zu_dicht.png|
Image:Druck_zu_weit.png|
Image:%Durstellung.gif|
Image:Durstellung1_4.gif|
Image:EADGHE.gif|
Image:%G_Langsam.gif|
Image:Halbtonschritte_I.gif|
Image:HCF.gif|
Image:Mollstellung1_3.gif|
Image:MR_Durstellung.gif|
Image:MR_Mollstellung.gif|
</gallery>
}}
<pre>
{{duplicate|Crd_Form_C.svg}}
*replaced by [[image:Crd Form C.svg]]
*original is unused or replaced
--~~~~
</pre>
== Spielwiese ==
*[[Benutzer:Mjchael/ Spielweise | Spielweise (Tests für meine Projekte)]]
== Zeichnen und Schreiben ==
*[[Gitarre: Grifftabelle einfach | einfache Grifftabelle]]
*[[Liederbuch]] (weitere Übungsbeispiele für die "Diplome"
== Eigendichtungen ==
*[[Benutzer:Mjchael/ Eigendichtungen | Lob und Kritik und Ideen für selbstkomponierte Lieder]]
==Lieder==
[[Liederbuch/ Pläne und Wünsche]]
== Seitenüberblick ==
<!-- Alle Gitarrenseiten -->
{{Klappbox|style=border:1px solid grey; margin:6px 0 6px 0;|bg1=#EAEAEA|verborgen=true|ta1=left|fw1=bold
|Titel= Alle Gitarrenseiten
|Inhalt={{Spezial:Prefixindex/Gitarre}}
}}
<!-- Alle Liederbuchseiten -->
{{Klappbox|style=border:1px solid grey; margin:6px 0 6px 0;|bg1=#EAEAEA|verborgen=true|ta1=left|fw1=bold
|Titel= Alle Liederbuchseiten
|Inhalt={{Spezial:Prefixindex/Liederbuch}}
}}
<!-- Ende Inhalt -->
|}
<!-- Ende Äußere Tabelle -->
0lakzu4zvx20y9ko78mn6g35tuewfzq
1091086
1091085
2026-09-19T14:30:13Z
Mjchael
2222
/* Akut */
1091086
wikitext
text/x-wiki
<!-- BEGINN SEITE -->
{| width="100%" cellspacing="0" cellpadding="0" valign="top"|
|- <!-- SEITE:TABS -->
|<!-- BEGINN SEITE:TABS -->
{| border="0" cellspacing="0" cellpadding="0" height="30" width="100%"
|-
{{Benutzer:Mjchael/TabVoll|#dfefdf|User:Mjchael|Mjchael}}
{{Benutzer:Mjchael/TabVoll|#f0f0f8|User:Mjchael/Projekte|Projekte}}
{{Benutzer:Mjchael/TabOffen|#f0f0f8|User:Mjchael/Werkstatt|Werkstatt}}
{{Benutzer:Mjchael/TabVoll|#f0f0f8|User:Mjchael/ Hilfen|Hilfen}}
{{Benutzer:Mjchael/TabVoll|#f0f0f8|User:Mjchael/Sammlungen|Sammlungen}}
| style="background-color:#f8f8ff;border-bottom:1px solid #000" width="100"|
|}<!-- ENDE SEITE:TABS -->
{|width="100%" cellpadding="2" cellspacing="0" style="text-align:left; border:solid #000000; border-width:0px 1px 1px 1px;" valign="top"|
|-
|bgcolor="#dfefdf" valign="top"|<!-- Äußere Tabelle linke Spalte -->
<!-- Anfang Inhalt -->
*[[:Kategorie:todo Mjchael|meine Todo-Liste]]
=== Akut ===
;Bm7-Form
<score>
<<
\new ChordNames {
\chordmode {
% \set chordChanges = ##t
b1:m7 b:m7 c:m7 c:m7
}
}
\new FretBoards {
\override FretBoards.FretBoard.size = #'1.5
\override FretBoard.fret-diagram-details.finger-code = #'in-dot
\override FretBoard.fret-diagram-details.dot-color = #'white
\override FretBoard.fret-diagram-details.orientation =
#'landscape
< b,-1 d a-2 b >1 % Bm
< b,-1 d a-2 d'-3 >1 % Bm
< c-3 es-1 bes-4 c'-1 >1 % Cm7
< c-2 es-1 bes-3 es'-4 >1 % Cm7
}>>
</score>
{{:Gitarre/ Navi|Formen-Systematik|
{{:Gitarre: Formen-Systematik/ Navi}}|
img=Guitar 1.svg |bg=#F8f8f8|border=#666666|color=#333333|px=80|navi=Formen-Systematik}}
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="Kadenzen in C"
subtitle="Dreiklänge auf den Diskantsaiten (6. Bund)"
arranger = "CC-BY-SA Wikibooks (mjchael)"
}
myKey = {
\tempo 4 = 120
%Tempo ausblenden
\set Score.tempoHideNote = ##t
\clef "G_8"
\time 4/4
\key c
\major
}
myDiskant = {
\repeat volta 4{
\repeat volta 2{
\set Staff.midiInstrument = #"electric guitar (jazz)"
\stemUp
< e'\3 g'\2 c''\1 >2 % C
< f'\3 a'\2 c''\1 > % F
< d'\3 g'\2 b'\1 >4 % G
< d'\3 f'\2 b'\1 >4 % B°
< e'\3 g'\2 c''\1 >2 % C
}
%
\repeat volta 2{
\set Staff.midiInstrument = #"electric guitar (clean)"
< e'\3 a'\2 c''\1 >2 % Am
< f'\3 a'\2 d''\1 > % Dm
< e'\3 g'\2 b'\1 >4 % Em
< e'\3 gis'\2 b'\1 > % E
< e'\3 a'\2 c''\1 >2 % Am
}
%
}
}
myFretBoards = {
\new FretBoards {
% \override FretBoards.FretBoard.size = #'1.5
% \override FretBoard.fret-diagram-details.finger-code = #'in-dot
% \override FretBoard.fret-diagram-details.dot-color = #'white
% \override FretBoard.fret-diagram-details.orientation =
#'landscape
\myDiskant
}
}
myChords = \chordmode {
c2 f g4 b:dim c2 | a2:m d:m e4:m e a2:m |
}
myGuitar = \myDiskant
%% Layout
\score {
<<
%% Griffbilder
\myFretBoards
%% Akkordnamen
\new ChordNames { \myChords }
%% Noten
\new Voice {
\myKey
\myGuitar
}
%% Tabulatur
\new TabStaff {
\tabFullNotation
\myGuitar
}
>>
\layout { \omit Voice.StringNumber }
}
%% Migiausgabe
\score {
<<
\unfoldRepeats {
\new Staff <<
\myKey
\myDiskant
>>
}
>>
\midi {}
}
%& unterdrückt im raw="1"-Modus das DinA4-Format.
\paper {
indent=0\mm
line-width=100\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
{{Todo|Cups (When I'm Gone) by Anna Kendrick<br>
Hello by Adele<br>Just The Way You Are by Bruno Mars<br>Someone You Loved by Lewis Capaldi|Mjchael}}
<poem>
Father Charles Goes Down And Ends Battle
3 times • 1st with b • 2nd natural • 3rd with #
Fb Cb Gb Db Ab Eb Bb F C G D A E B F# C# G# D# A# E# B#
You have to know or to learn
C G D A E
stands for
C D E _ G A _ C major pentatonic
A _ C D E _ G A minor pentatonic
Fb Cb Gb Db Ab
Cb Gb Db Ab Eb
Gb Db Ab Eb Bb
Db Ab Eb Bb F
Ab Eb Bb F C
Eb Bb F C G
Bb F C G D
F C G D A
C G D A E
G D A E B
D A E B F#
A E B F# C#
E B F# C# G#
B F# C# G# D#
F# C# G# D# A#
C# G# D# A# E#
The first note is the root of the major pentatonic
The 4th note is the root of the minor pentatonic.
One sentence
Father Charles Goes Down And Ends Battle
Less to lern, more benefits.
</poem>
<poem>
Strategie
Tonart runter • Capo rauf
C Dur [ F C G Dm Am Em ]
C - 3 = A
D - 5 = A
E - 7 = A
A Dur [ D A E Bm F#m C#m ]
A - 2 = G
C - 5 = G
D - 7 = G
G Dur [ C G D Am Em Bm ]
G - 3 = E
A - 5 = E
C - 8 = E
E Dur = [ A E B7 F#m C#m G#m ]
E - 2 = D
G - 5 = D
A - 7 = D
D Dur = [ G D A Em Bm F#m ]
D - 2 = C
E - 4 = C
G - 7 = C
C Dur [ F C G Dm Am Em ]
Hast du jetzt eine andere Tonart als Start, musst du nur einen Bund hinzufügen oder abziehen (Bb F B Eb Db...)
Zwei Grundlagen sind unverzichtbar
1) Der Quintenzirkel um die zusammengehörigen Akkorde zu kennen
Fähige Clevere Gitarristen Denken An Ein Barré
Father Charles Goes Down And Ends Battle
Fb Cb Gb Db Ab Eb Bb F C G D A E B F# C# G# D# A# E# B#
2) Das die Tonleiter (Das Alphabet) runter...
G F E D C B A G F E D C B A
... und die Halbtonschritte dazwischen um die Abstände abzuzählen...
Für Kreuztonarten
G F# F E D# D C# C B A# A G# G F# F E D# D C# C B A# A
Für die B-Tonarten
G Gb F E Eb D Db C B Bb A Ab G Gb F E Eb D Db C B Bb A Ab
Die Kreuz- und B-Tonarten wollen wir eigentlich ganz vermeiden
G _ F E _ D _ C B _ A _ G _ F E _ D _ C B _ A _ G
Hier siehst du, warum die meisten Capo-Positionen zwei Bünde entfernt sind.
Nun zählt auch F und B nicht zu den Lieblingstonarten der Gitarristen.
G _ _ E _ D _ C _ _ A _ G _ _ E _ D _ C _ _ A _ G
So kommen die Abstände von 3 Bünden zustande.
G - 3 = E ( übersprungenes F )
C - 3 = A ( übersprungenes B )
</poem>
== Vorübung Still got the Blues ==
<score sound="1" raw="1">
\version "2.20.0"
%{
\header {
title="1. Fingersatz (E-(F)-Form) in C-Dur"
subtitle="Eintaktige Sequenzen"
}
%}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c' {
\set TabStaff.minimumFret = #7
\set TabStaff.restrainOpenStrings = ##t
\key c \major
c8 d e f e d c4
b8 c d e d c b4
a8 b c d c b a \tweak color #red gis
a1
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 4/4
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
c d e f e d c
b c d e d c b \break
a b c d c b a "g#"
a
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=90\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
==Lilypond Version==
{{Regal:Musik/ Lilypond Version}}
=== Bonus Balladendiplom ===
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="Basis-Pattern"
subtitles="My December (Linking Park)"
encoder="mjchael"
}
%Diskant- bzw. Melodiesaiten
myDiskant = {
d8 d' a f' d d' a f' | % 1
c8 c' g e' c c' g e' | % 1
d8 d' a f' d d' a f' | % 1
c8 c' g e' c c' g e' | % 1
}
%Basssaiten, die hier nur mit dem Daumen gespielt werden.
myBass = {
d4 a d a
c4 g c g
d4 a d a
c4 g c g
}
% Layout- bzw. Bildausgabe
\score {
<<
\new ChordNames {
\chordmode {
d1:m c d1:m c
}
}
{
%Noten
\new Staff <<
\tempo 4 = 120
%Tempo ausblenden
\set Score.tempoHideNote = ##t
\time 4/4
\key c \major
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8" \repeat volta 4
% Balken nur über viertel Noten, nicht über halbe Noten
\set Timing.beamExceptions = #'()
\set Timing.baseMoment = #(ly:make-moment 1/4)
\set Timing.beatStructure = #'(1 1 1 1)
% Noten im Diskant
\myDiskant
\\
% Noten im Bass - beachte: Wiederholungszeichen ist für Midi notwendig!
\repeat volta 4
\myBass
>>
}
% Tabulatur
\new TabStaff {
\tabFullNotation \repeat volta 4
<<
% Tabulatur im Diskant
\myDiskant
\\
% Tabulatur im Bass
\myBass
>>
}
>>
\layout {}
}
% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\key c \major
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8" \repeat volta 4
\myDiskant
\\
\repeat volta 4
\myBass
>>
}
>>
\midi {}
}
% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
% DinA4 0 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
<div style="background-color:FFF;">
=== Danny Boy ===
<score sound="1" raw="1">
\version "2.20.0"
\header {
title = "Danny Boy"
subtitle = "A Londonderry Air (before 1855)"
poet = "Lyrics: Frederic Weatherly (1910)"
% composer = "Komponist"
% arranger = "arr: ccbysa: Wikibooks (mjchael)"
}
myKey = {
\clef "treble"
\time 4/4
\tempo 4 = 100
%%Tempo ausblenden
\set Score.tempoHideNote = ##t
\key g\major
}
%% Akkorde
%% 4/4-Schlag
%% 1 . 2 . 3 . 4 .
myD = \chordmode { d,4 d d, d }
myA = \chordmode { a,,4 a, a,, a, }
myDA = \chordmode { d,4 d a,, a, }
myChords = \chordmode {
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
%% Akkorde nur beim Wechsel notieren
\set chordChanges = ##t
% \partial 4 s4
% \myD \myA \myDA \myD
% d,1 %Schlusston
}
myMelody = \relative c'' {
\myKey
\set Staff.midiInstrument = #"trombone"
\relative c'{
\partial 4. fis8 g a |
b4. a8[ b] e[ d b] |
a( g) e4 r8 g b c |
d4. e8 d b g b |
a2 r8 fis8 g a |
b4. a8[ b] e[ d b] |
a( g) e4. fis8 g a |
b4. c8 b a g fis |
g2 r8 d' e fis |
g4. fis8 fis e d e |
\tweak color #red d( b) g4 r8 d'8 e fis |
\break % 11
g4. fis8 fis e d b |
a2 r8 d8 8 8 |
b'4. a8 8 g e g |
d( b) g4 r8 fis8 g a |
b e d b a g e fis |
g2~ 8 \bar "|."
}
}
myLyrics = \lyricmode {
\set stanza = "1."
Oh, Dan -- ny Boy, the pipes, the pipes are cal -- ling
From glen to glen, and down the moun -- tain side
The sum -- mer's gone and all the ro -- ses fal -- ling
It's you, it's you must go and I must bide.
But come ye back when sum -- mer's in the mea -- dow.
Or when the val -- ley's hushed and white with snow.
And I'll be here in sun -- shine or in sha -- dow.
Oh Dan -- ny Boy, oh, Dan -- ny Boy, I love you so.
}
\score {
<<
\new ChordNames { \myChords }
\new Voice = "mySong" { \myMelody }
\new Lyrics \lyricsto "mySong" { \myLyrics }
% \new TabStaff { \myChords } %% Check
>>
\midi { }
\layout { }
}
%% unterdrückt im raw="1"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 0 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
=== Tom Dooley to Tabs ===
<score sound="1" raw="1">
\version "2.20.0"
\header {
title = "Tom Dooley"
% subtitle = "MeinSubtitle"
% poet = "Texter"
composer = "trad."
% arranger = "arr: ccbysa: Wikibooks (mjchael)"
}
myKey = {
\clef "treble"
\time 4/4
\tempo 4 = 100
%%Tempo ausblenden
\set Score.tempoHideNote = ##t
\key g\major
}
%% Akkorde
%% 4/4-Schlag
%% 1 . 2 . 3 . 4 .
myG = \chordmode { g,,4 g,8 4 8 4 }
myGAm = \chordmode { g,,4 g,8 a,4:m a,8:m a,4:m}
myD = \chordmode { d,4 d8 4 8 4 }
myDsept = \chordmode { d,4:7 d8:7 d4:7 d8:7 d4:7 }
myAm = \chordmode { a,,4:m a,8:m a,4:m a,8:m a,4:m }
myChords = \chordmode {
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
%% Akkorde nur beim Wechsel notieren
\set chordChanges = ##t
% \partial 4 s4
\myG \myG \myGAm \myD
\myAm \myD \myDsept \myG
g,,1 %Schlusston
}
myMelody = \relative c'' {
\myKey
\set Staff.midiInstrument = #"trombone"
\relative c'{
d8 4 8 e g4. | b4. b8( b2)|
d,8 4 8 e g4. | a1 |
d,8 4 e4 g4. | a4. a8~ a2|
a8 4 b8 a4 e4 | g1
\bar "|."
}
}
myLyrics = \lyricmode {
\set stanza = "1."
Hang down your head, Tom Doo -- ley.
Hang down your head and cry
Killed poor Lau -- ra Fos -- ter.
You know you're bound to die.
}
\score {
<<
\new ChordNames { \myChords }
\new Voice = "mySong" { \myMelody }
\new Lyrics \lyricsto "mySong" { \myLyrics }
% \new TabStaff { \myChords } %% Check
>>
\midi { }
\layout { }
}
%% unterdrückt im raw="1"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 0 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
==== Von G nach C ====
<score sound="1" raw="1">
\version "2.20.0"
\header {
title = "Tom Dooley"
% subtitle = "MeinSubtitle"
% poet = "Texter"
composer = "trad."
% arranger = "arr: ccbysa: Wikibooks (mjchael)"
}
myKey = {
\clef "treble"
\time 4/4
\tempo 4 = 100
%%Tempo ausblenden
\set Score.tempoHideNote = ##t
\key c\major
}
%% Akkorde
%% Lagerfeuer-Schlag
%% 1 . 2 + . + 4 .
myC = \chordmode { c,4 c8 4 8 4 }
myCDm = \chordmode { c,4 c8 d4:m d8:m d4:m}
myG = \chordmode { g,,4 g,8 4 8 4 }
myGsept = \chordmode { g,,4:7 g,8:7 g,4:7 g,8:7 g,4:7 }
myDm = \chordmode { d,4:m d8:m d4:m d8:m d4:m }
myChords = \chordmode {
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
%% Akkorde nur beim Wechsel notieren
\set chordChanges = ##t
% \partial 4 s4
\myC \myC \myCDm \myG
\myDm \myG \myGsept \myC
c,1 %Schlusston
}
myMelody = \relative c'' {
\myKey
\set Staff.midiInstrument = #"trombone"
g8 g8( g8) 8 a c4. | e4. e8( e2)|
g,8 g8~ g8 8 a c4. | d1 |
g,8 8~ 8 a4 c4. | d4. d8~ d2|
d8 d8~ d8 e8 d4 a4 | c1
\bar "|."
}
myLyrics = \lyricmode {
\set stanza = "1."
Hang down your head, Tom Doo -- ley.
Hang down your head and cry
Killed poor Lau -- ra Fos -- ter.
You know you're bound to die.
}
\score {
<<
\new ChordNames { \myChords }
\new Voice = "mySong" { \myMelody }
\new Lyrics \lyricsto "mySong" { \myLyrics }
% \new TabStaff { \myChords } %% Check
>>
\midi { }
\layout { }
}
%% unterdrückt im raw="1"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 0 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
==== Von G nach C in den Bass ====
<score sound="1" raw="1">
\version "2.20.0"
\header {
title = "Tom Dooley"
% subtitle = "MeinSubtitle"
% poet = "Texter"
composer = "trad."
% arranger = "arr: ccbysa: Wikibooks (mjchael)"
}
myKey = {
\clef "treble"
\time 4/4
\tempo 4 = 100
%%Tempo ausblenden
\set Score.tempoHideNote = ##t
\key c\major
}
%% Akkorde
%% Lagerfeuer-Schlag
%% 1 . 2 + . + 4 .
myC = \chordmode { c,4 c8 4 8 4 }
myCDm = \chordmode { c,4 c8 d4:m d8:m d4:m}
myG = \chordmode { g,,4 g,8 4 8 4 }
myGsept = \chordmode { g,,4:7 g,8:7 g,4:7 g,8:7 g,4:7 }
myDm = \chordmode { d,4:m d8:m d4:m d8:m d4:m }
myChords = \chordmode {
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
%% Akkorde nur beim Wechsel notieren
\set chordChanges = ##t
% \partial 4 s4
\myC \myC \myCDm \myG
\myDm \myG \myGsept \myC
c,1 %Schlusston
}
myMelody = \relative c' {
\myKey
\set Staff.midiInstrument = #"trombone"
g8 4 8 a c4. | e4. e8( e2)|
g,8 4 8 a c4. | d1 |
g,8 4 a4 c4. | d4. d8~ d2|
d8 4 e8 d4 a4 | c1
\bar "|."
}
myLyrics = \lyricmode {
\set stanza = "1."
Hang down your head, Tom Doo -- ley.
Hang down your head and cry
Killed poor Lau -- ra Fos -- ter.
You know you're bound to die.
}
\score {
<<
\new ChordNames { \myChords }
\new Voice = "mySong" { \myMelody }
\new Lyrics \lyricsto "mySong" { \myLyrics }
% \new TabStaff { \myChords } %% Check
>>
\midi { }
\layout { }
}
%% unterdrückt im raw="1"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 0 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
==== bon G nach D ====
<score sound="1" raw="1">
\version "2.20.0"
\header {
title = "Tom Dooley"
% subtitle = "MeinSubtitle"
% poet = "Texter"
composer = "trad."
% arranger = "arr: ccbysa: Wikibooks (mjchael)"
}
myKey = {
\clef "treble"
\time 4/4
\tempo 4 = 100
%%Tempo ausblenden
\set Score.tempoHideNote = ##t
\key g\major
}
%% Akkorde
%% 4/4-Schlag
%% 1 . 2 . 3 . 4 .
myG = \chordmode { g,,4 g,8 4 8 4 }
myGAm = \chordmode { g,,4 g,8 a,4:m a,8:m a,4:m}
myD = \chordmode { d,4 d8 4 8 4 }
myDsept = \chordmode { d,4:7 d8:7 d4:7 d8:7 d4:7 }
myAm = \chordmode { a,,4:m a,8:m a,4:m a,8:m a,4:m }
myChords = \chordmode {
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
%% Akkorde nur beim Wechsel notieren
\set chordChanges = ##t
% \partial 4 s4
\myG \myG \myGAm \myD
\myAm \myD \myDsept \myG
g,,1 %Schlusston
}
myMelody = \relative c'' {
\myKey
\set Staff.midiInstrument = #"trombone"
\relative c'{
d8 d8( d8) 8 e g4. | b4. b8( b2)|
d,8 4 8 e g4. | a1 |
d,8 4 e4 g4. | a4. a8~ a2|
a8 4 b8 a4 e4 | g1
\bar "|."
}
}
myLyrics = \lyricmode {
\set stanza = "1."
Hang down your head, Tom Doo -- ley.
Hang down your head and cry
Killed poor Lau -- ra Fos -- ter.
You know you're bound to die.
}
\score {
<<
\new ChordNames { \myChords }
\new Voice = "mySong" { \myMelody }
\new Lyrics \lyricsto "mySong" { \myLyrics }
% \new TabStaff { \myChords } %% Check
>>
\midi { }
\layout { }
}
%% unterdrückt im raw="1"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 0 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
== Yes Sir That's my Baby ==
{{:Liederbuch/ Vorlage:Liedheader
|Liedtyp= Charleston (1924)
|Alternativtitel=
|Text= Gus Kahn (*1886 - † 1941)
|Melodie= Walter Donaldson (*1893 - † 1947)
|Urheber=
|Tonart=
|Bearbeiter= Mjchael
|Co-Bearbeiter=
}}
* {{w|Yes Sir, That’s My Baby}}
Der Protagonist (Mann oder Frau) bestätigt den Gesprächspartnern, nun verlobt zu sein, und läd diese zur Hochzeit ein.
<poem>
{{crd|C}} Who's that coming down the {{crd|C#dim}} street,
{{crd|G}} who's that looking so petite
{{crd|G7}} Who's that coming down to meet me {{crd|C}} here. {{crd|Dm7}} {{crd|G7}}
{{crd|C}} Who's that - you know who I {{crd|C#dim}} mean?
{{crd|G7}} Sweetest 'who' you've ever seen
{{crd|D7}} I {{crd|Am7}} could {{crd|D7}} tell {{crd|Am7}} her
{{crd|D7}} miles {{crd|Am7}} a-{{crd|D7}}way from {{crd|G7}} here. {{crd|Em}} {{crd|B7}} {{crd|G7}}
{{crd|C}} Yes, sir, that's my {{crd|C#dim}} baby,
{{crd|G}} no, sir, I don't mean maybe
{{crd|G7}} Yes, sir, that's my baby {{crd|C}} now. {{crd|G7}}
{{crd|C}} Yes, ma'am we've de-{{crd|C#dim}}cided,
{{crd|G}} no, ma'am we won't hide it
{{crd|G7}} Yes ma'am you're invited {{crd|C}} now.
By the {{crd|C7}} way, by the {{crd|F}} way,
when we {{crd|D7}} reach the preacher I'll {{crd|G7}} say {{crd|G7+5}}
{{crd|C}} Yes, sir, that's my {{crd|C#dim}} baby,
{{crd|G}} no, sir, I don't mean maybe
{{crd|G7}} Yes, sir, that's my baby {{crd|C}} now.
{{crd|C}} Well well, 'lookit' that {{crd|C#dim}} baby,
{{crd|G}} Do tell, don't say "maybe",
{{crd|G7}} Hell's bells, won't she cause some {{crd|C}} row?
Pretty {{crd|C7}} soon, Pretty {{crd|F}} soon,
We will {{crd|D7}} hear that Lohengrin {{crd|G7}} tune, (I'm sayin'){{crd|G7+5}}
{{crd|C}} Who for should she {{crd|C#dim}} be sir,
{{crd|G}} No one else but me sir,
{{crd|G7}} Yes sir, That's my Baby {{crd|C}} now. {{crd|C7}}
{{crd|C}} Yes sir, that's my {{crd|C#dim}} Baby
{{crd|G}} Yes sir, I don't mean maybe,
{{crd|G7}} Yes sir, That's my Baby {{crd|C}} now
</poem>
=== Yes Sir, That's My Baby (Var2) ===
<poem>
{{crd|C}} Yes {{crd|Am}} sir, {{crd|C}} that's my {{crd|Am}} baby
{{crd|G7}} No {{crd|Dm}} sir, {{crd|G7}} don't be {{crd|Dm}} maybe
{{crd|G7}} Yes {{crd|Am}} sir, {{crd|G7}} that's my {{crd|Dm}} baby {{crd|C}} now {{crd|G7}}
{{crd|C}} Yes {{crd|Am}} ma'am, {{crd|C}} we've de{{crd|Am}}cided
{{crd|G7}} No {{crd|Dm}} ma'am, {{crd|G7}} we won't {{crd|Dm}} hide it
{{crd|G7}} Yes {{crd|Am}} ma'am, {{crd|G7}} that's my {{crd|Dm}} baby {{crd|C}} now
By the way, {{crd|C7}} by the {{crd|F}} way
When we {{crd|D7}} meet that preacher
I'll {{crd|G7}} say with {{crd|G7sus2}} feel{{crd|G7}}ing
{{crd|C}} Yes {{crd|Am}} sir, {{crd|C}} that's my {{crd|Am}} baby
{{crd|G7}} No {{crd|Dm}} sir, {{crd|G7}} don't be {{crd|Dm}} maybe
<div>{{crd|G7}} Yes {{crd|Am}} sir, {{crd|G7}} that's my {{crd|Dm}} baby {{crd|C}} now.
</poem>
* {{Youtube-Suche|Yes+Sir+That's+My+Baby|Yes Sir, That's My Baby}}
===Early One Morning===
<poem>
;1
{{crd|D}}Early one morning, just {{crd|G}}as the sun was {{crd|A}}rising
I {{crd|D}}heard a maiden singing, from the {{crd|G}}va-{{crd|A}}lley be-{{crd|D}}low:
;Chorus
{{crd|A}}Oh, don't de-{{crd|D}}ceive me, {{crd|A}}Oh never {{crd|D}}leave me,
{{crd|D}}How could you {{crd|G}}use, a {{crd|D}}poor {{crd|A}}maiden {{crd|D}}so?
;2
Oh {{crd|D}}gay is garland, and {{crd|G}}fresh are the {{crd|A}}roses,
I've {{crd|D}}culled from the garden, to {{crd|G}}bind u-{{crd|A}}pon thy {{crd|D}}brow.
;3
Re-{{crd|D}}member the vows, that you {{crd|G}}made to your {{crd|A}}Mary
Re-{{crd|D}}member the bow'r, where you {{crd|G}}promised {{crd|A}}to be {{crd|D}}true.
;4
Thus {{crd|D}}sang the poor maid, her {{crd|G}}sorrows be{{crd|A}}wailing,
Thus, {{crd|D}}sang the poor maid, in the {{crd|G}}va-{{crd|A}}lley be-{{crd|D}}low.
</poem>
===Down In The River To Pray===
<poem>
As I went down in the river to pray
Studying about that good old way
And who shall wear the starry crown
Good Lord, show me the way!
O sisters let's go down,
Let's go down, come on down,
O sisters let's go down,
Down in the river to pray.
As I went down in the river to pray
Studying about that good old way
And who shall wear the robe and crown
Good Lord, show me the way!
O brothers let's go down,
Let's go down, come on down,
Come on brothers let's go down,
Down in the river to pray.
As I went down in the river to pray
Studying about that good old way
And who shall wear the starry crown
Good Lord, show me the way!
O fathers let's go down,
Let's go down, come on down,
O fathers let's go down,
Down in the river to pray.
As I went down in the river to pray
Studying about that good old way
And who shall wear the robe and crown
Good Lord, show me the way!
O mothers let's go down,
Let's go down, don't you want to go down,
Come on mothers let's go down,
Down in the river to pray.
As I went down in the river to pray
Studying about that good old way
And who shall wear the starry crown
Good Lord, show me the way!
O sinners let's go down,
Let's go down, come on down,
O sinners let's go down,
Down in the river to pray.
As I went down in the river to pray
Studying about that good old way
And who shall wear the robe and crown
Good Lord, show me the way!
</poem>
=== Wild Mountain Thyme ===
[[Datei:Wild mountain thyme - geograph.org.uk - 25029.jpg|mini]]
{{listen|filename=Christoph Nolte - The Rocky Road - The Wild Mountain Thyme.ogg|title=The Wild Mountain Thyme|description="Wild Mountain Thyme" performed by Christoph Nolte}}
<score lang="ABC" sound="1">
X: 5
T: Wild Mountain Thyme
R: barndance
M: 4/4
L: 1/8
K: Gmaj
GE|"G"D2 D2 "C"E<G-GA|"G"G6 Bd|"C"e3 e e3 d|"G"Bd-d4 Bd
"C"e4 "G"d3 B|"Em"A<G-G4AB|"Am"c3B A3G|"C"EG-G4 GE|"G"D2 D2 "C"E<G-GA|
"G"G6 Bd|"C"e3 e e3 d|"G"Bd-d4 Bd|"C"e4 "G"d3 B|"Em"A<G-G4AB|
"Am"c3B A3G|"C"EG-G4 GE|"G"D2 D2 "C"E<G-GA|"G"G6|
</score>
< !--
<score sound="1" raw="1">
\version "2.20.0"
\header {
title = "Wild Mountain Thyme"
% subtitle = "MeinSubtitle"
% poet = "Texter"
% composer = "Komponist"
% arranger = "arr: ccbysa: Wikibooks (mjchael)"
}
myKey = {
\clef "treble"
\time 4/4
\tempo 4 = 100
%%Tempo ausblenden
\set Score.tempoHideNote = ##t
\key g\major
}
%% Akkorde
%% 4/4-Schlag
%% 1 . 2 . 3 . 4 .
myD = \chordmode { d,4 d d, d }
myA = \chordmode { a,,4 a, a,, a, }
myDA = \chordmode { d,4 d a,, a, }
myChords = \chordmode {
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
%% Akkorde nur beim Wechsel notieren
\set chordChanges = ##t
\partial 4 s4
\myD \myA \myDA \myD
d,1 %Schlusston
}
myMelody = \relative c'' {
\myKey
\set Staff.midiInstrument = #"trombone"
\relative c''{
\partial 4 g8 e
d4 d e16 g8.~8 a | g2. b8 d | e4. e8 e4. d8 | b d8~2 b8 d |
% GE|"G"D2 D2 "C"E<G-GA|"G"G6 Bd|"C"e3 e e3 d|"G"Bd-d4 Bd
e2 d4. b8 | a16 g8.~2 a8 b | c4. b8 a4. g8 |e8 g8~2 g8 e | d4 4 e16 g8.~g8 a
% "C"e4 "G"d3 B|"Em"A<G-G4AB|"Am"c3B A3G |"C"EG-G4 GE|"G"D2 D2 "C"E<G-GA|
c4. b8 a4. g8 | e g8~2 8 e | d4 4 e16 g8.~8 a | g2.
% "Am"c3B A3G|"C"EG-G4 GE|"G"D2 D2 "C"E<G-GA|"G"G6|
\bar "|."
}
}
myLyrics = \lyricmode {
\set stanza = "1."
Häns -- chen klein | ging al -- lein | in das Haus hin | -- ein. |
}
\score {
<<
\new ChordNames { \myChords }
\new Voice = "mySong" { \myMelody }
\new Lyrics \lyricsto "mySong" { \myLyrics }
% \new TabStaff { \myChords } %% Check
>>
\midi { }
\layout { }
}
%% unterdrückt im raw="1"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 0 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
-->
(also known as "Purple Heather" and "Will Ye Go, Lassie, Go?") is a Scottish/Irish folk song.
<poem>
;1
O the summer time has come
And the trees are sweetly blooming
And wild mountain thyme
Grows around the purple heather.
Will you go, lassie, go?
;Chorus
And we'll all go together,
To pull wild mountain thyme,
All around the purple heather.
Will you go, lassie, go?
;2
I will build my love a tower,
By yon clear crystal fountain,
And on it I will pile,
All the flowers of the mountain.
Will you go, lassie, go?
;3
I will range through the wilds
And the deep land so dreary
And return with the spoils
To the bower o' my dearie.
Will ye go lassie go ?
;4
If my true love she'll not come,
Then I'll surely find another,
To pull wild mountain thyme,
All around the purple heather.
Will you go, lassie, go?
</poem>
== Akkordfolge NEM ==
<score>
<<
\new ChordNames { \chordmode {
d1 c g b
}}
\new FretBoards {
\override FretBoards.FretBoard.size = #'1.5
\override FretBoard.fret-diagram-details.finger-code = #'in-dot
\override FretBoard.fret-diagram-details.dot-color = #'white
\override FretBoard.fret-diagram-details.orientation =
#'landscape
< d-1\5 a-2\4 d'-3\3 fis'-4\2 a'-1\1 > % d
< c-1\5 g-2\4 c'-3\3 e'-4\2 g'-1\1 > % C/B
< g,-1 d-3 g-4 b-2 d'-1 g'-1 > % G
< b,-1\5 fis-2\4 b-3\3 dis'-4\2 fis'-1\1 > % B
}
>>
</score>
<score>
<<
\new ChordNames { \chordmode {
c1 a g e d
}}
\new FretBoards {
\override FretBoards.FretBoard.size = #'1.5
\override FretBoard.fret-diagram-details.finger-code = #'in-dot
% \override FretBoard.fret-diagram-details.dot-color = #'blue
\override FretBoard.fret-diagram-details.orientation =
#'landscape
< e\6 c'\5 e'\4 g'\3 c''\2 e''\1 > % C
< e\6 a\5 e'\4 a'\3 cis''\2 e''\1 > % A
< g\6 b\5 d'\4 g'\3 b'\2 g''\1 > % G
< e\6 b\5 e'\4 gis'\3 b'\2 e''\1 > % E
< d'\4 a'\3 d''\2 fis''\1 > % d
}
\new ChordNames { \chordmode {
c1:m a:m g:m e:m d:m
}}
\new FretBoards {
\override FretBoards.FretBoard.size = #'1.5
\override FretBoard.fret-diagram-details.finger-code = #'in-dot
\override FretBoard.fret-diagram-details.dot-color = #'blue
\override FretBoard.fret-diagram-details.orientation =
#'landscape
< es\6 c'\5 es'\4 g'\3 c''\2 es''\1 > % C
< e\6 a\5 e'\4 a'\3 c''\2 e''\1 > % A
< g\6 bes\5 d'\4 g'\3 bes'\2 g''\1 > % G
< e\6 b\5 e'\4 g'\3 b'\2 e''\1 > % E
< d'\4 a'\3 d''\2 f''\1 > % d
}
>>
</score>
== Canon in D ==
<score sound="1" raw="1">
\version "2.20.0"
\header {
title = "Canon"
composer = "M: Johann Pachebel (1653-1706)"
key="D"
composer= "Pachelbel"
arranger = "arr.: ccbysa Wikibooks (mjchael)"
}
myKey = {
\language "deutsch"
\tempo 4 = 100
%Tempo ausblenden
\set Score.tempoHideNote = ##t
\clef "G_8" \time 4/4
\key d \major
\set Staff.midiInstrument = #"electric guitar (clean)"
}
myMelody = \relative c {
\myKey
\set minimumFret = #2
\set TabStaff.restrainOpenStrings = ##t
\stemUp
\repeat volta 2{}
%^\markup { \bold {Em7} }
%\break
fis2 e d cis h a h cis
\voiceOne
fis' e d cis h a
h cis fis e d cis
h a h cis
d4 \oneVoice d e cis
d fis a a,
h g fis a g d' cis a
d8 cis d fis, a a cis4
d8 d fis4 a a8 h
g fis e g fis e d cis
\voiceOne
h cis d4~ d8 cis16 d cis4
d8 cis d fis, a4 cis d fis a a8 h
g fis e g fis e d cis
h a d4 ~ d8 cis16 d cis4\trill
\oneVoice
\set Timing.beatStructure = #'(1 1 1 1)
d8 fis16 g a8 fis16 g a a, h cis d e fis g
fis8 d16 e fis8 fis,16 g a h a g a fis g a
d8 h16 a g8 fis16 e fis e d e fis g a h
d8 h16a h8 e16 d cis h cis d e fis g e
fis8 d16 cis d8 fis, e cis'16 d e8 cis
% fis d16 cis d8 fis, e cis'16 d e8 cis
d h16 a h8 d, cis fis16 g a8 fis
h g16 fis g8 h a fis'16 e fis8 d
h d16 cis d8 fis, e a d cis
\voiceOne
\set Timing.beatStructure = #'(2 2)
d4. fis8 fis g fis e
d4. d8 d e d cis
h4. h8 a4 d
d8 c h c a2
\oneVoice
d4 fis8 a a h a g
\voiceOne
s1 s
h,2 a ~ a4 \oneVoice d e cis
d fis, a4. h8
g4 d fis a
\voiceOne
g fis e a
fis1\fermata
\bar "||."
% \bar "|." |
}
Gitarre = \myMelody
%% Layout = Noten mit Tab
\score {
<<
%% Noten
\new Voice {
\myKey
\Gitarre
}
%% Tabulatur
\new TabStaff {
\tabFullNotation
\Gitarre
}
>>
\layout {}
}
%% Midiausgabe
\score {
<<
\unfoldRepeats {
\new Staff <<
\myKey
\Gitarre
>>
}
>>
\midi {}
}
%& unterdrückt im raw="1"-Modus das DinA4-Format.
\paper {
indent=0\mm
%& DinA4 0 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
== Takte auszählen ==
GEMISCHTE TAKTE AUSZÄHLEN
Speziell ein Tutorial für Kerstin Jentzsch
Ich gehe mal davon aus, das du dich ganz grob mit den Notenwerten auskennst, und eine Methode suchst, wie du sie beim täglichen Üben einsetzen kannst.
Versuche es mal mit Zahlen.
Die Idee hab ich von
Mike Schönmehl "Jazz und Pop Musiklehre"
Atlantis-Schott-Musikverlag
Alle viertel-Noten werden mit einfachen Zahlen ausgesprochen
1 . 2 . 3 . 4 .
Eins zwei drei vier
oder
fünf sechs sieben acht
oder
neun zehn elf zwölf
Es ist egal welche dieser Zahlenfolgen du nimmst es ist für jede Zahl nur eine Silbe.
Jetzt komme die Achtel:
1 + 2 + 3 + 4 +
Drei-zehn, vier-zehn, fünf-zehn, sech-zehn
sieb-zehn, ach-zehn, neun-zehn, zwan-zig
Was auch gut geht ist
Ein-er, Zwei-er, Drei-er, vier-er
Hier haben alle Zahlen zwei Silben und teilen sich wie zwei Achtel auf.
Jetzt kommen die Sechzehntel
1 e + e 2 e + e 3 e + e 4 e + e
Ein-und-zwan-zig, Zwei-und-zwan-zig, Drei-und-zwan-zig, Vier-und-zwan-zig
Fünf-und-zwan-zig, Sechs-und-zwan-zieg, sieben-und-zwan-zieg, Acht-und-zwan-zig
Hier haben alle Zahlen vier Silben und teilen sich wie vier Sechzentel auf.
Jetzt die Triolen:
1-er-lei 2-er-lei 3-er-lei 4-er-lei
Ein-hun-dert, Zwei-hun-dert, Drei-hun-dert, Vier-hun-dert
Hier haben alle Zahlen drei Silben und teilen sich wie drei Triolen auf.
Wir sind es beim Zählen gewöhnt, in bestimmten Schritten zu zählen, so das wir 1-12 meist genau so langsam bzw. schnell zählen wie 13-20 oder wie 21-29. Und auch die Hunderter werden im gleichen Schritt gezählt.
Man macht ganz automatisch zwei-Achtel, vier-Sechzentel oder 3-Triolen.
Man kann versuchen, sich für viele Rhyhtmen einfach eine Zahlenfolge aufschreiben, und sich auch neue Kombinationen einfallen lassen.
Wie wäre es wenn man viertel, triolen und Sechzentel miteiander übt?
Eins | Zwei-hund-dert | drei | vier-und-zwan-zig
Ein-und-zwan-zig| zwei | drei-hun-dert | vier
Zehner-Zahlen könnten sich sogar für einen Schuffle eignen
1 . + 2 . + 3 . + 4 . +
Bei der Zehn muss man sich was einfallen lassen, aber dann kann man gut im Shuffle zählen
Zehn---tel, Zwan---zig, Drei---ßig, Vier---zig
Zehn---tel, Zwei-hund-dert, Drei---ßig, Vier---zig
So in etwa
Die Methode ist nicht der Weisheit letzter Schluss, aber vielleicht hilft es dem einen oder anderen beim Üben.
Gruß Mjchael
===Gallerie von Red_Rooster===
Die meisten Gifs und JPG wurden von Red_Rooster hochgeladen. Die müssen nach SVG umgestaltet werden.
<!-- Bilder durch SVG ersetzen -->
{{Klappbox|style=border:1px solid grey; margin:6px 0 6px 0;|bg1=#EAEAEA|verborgen=true|ta1=left|fw1=bold
|Titel= Bilder durch SVG ersetzen
|Inhalt=
{{rot|Bilder nicht löschen!!!!!!!!! Sie müssen weltweit durch SVG ausgetauscht werden, und dann erst auf den Commons für die Schnelllöschung vorgeschlagen werden, und dann erst dürfen sie entfernt werden. Und das mache ich selbst!}}
<gallery>
Image:00.01.D.1.png|
Image:00.01.D.2.png|
Image:01.01.D_A1.png|
Image:01.01.D_A2.png|
Image:01.01.D_A3.png|
Image:01.01.D_A4.png|
Image:01.01.D_A5.png|
Image:01.01.D_A6.png|
Image:01.01.D_A7.png|
Image:01.01.D_A8.png|
Image:01.01.D_A91.png|
Image:01.01.D_A92.png|
Image:02.01.D.gif|
Image:02.01.DG1.gif|
Image:02.01.DG2.gif|
Image:02.01.DG3.gif|
Image:02.01.G.gif|
Image:02.01.G_Schluessel.png|
Image:%03.01.C.gif|
Image:03.01.D_C.gif|
Image:03.01.G C.png|
Image:Druck_mittig.png|
Image:Druck_zu_dicht.png|
Image:Druck_zu_weit.png|
Image:%Durstellung.gif|
Image:Durstellung1_4.gif|
Image:EADGHE.gif|
Image:%G_Langsam.gif|
Image:Halbtonschritte_I.gif|
Image:HCF.gif|
Image:Mollstellung1_3.gif|
Image:MR_Durstellung.gif|
Image:MR_Mollstellung.gif|
</gallery>
}}
<pre>
{{duplicate|Crd_Form_C.svg}}
*replaced by [[image:Crd Form C.svg]]
*original is unused or replaced
--~~~~
</pre>
== Spielwiese ==
*[[Benutzer:Mjchael/ Spielweise | Spielweise (Tests für meine Projekte)]]
== Zeichnen und Schreiben ==
*[[Gitarre: Grifftabelle einfach | einfache Grifftabelle]]
*[[Liederbuch]] (weitere Übungsbeispiele für die "Diplome"
== Eigendichtungen ==
*[[Benutzer:Mjchael/ Eigendichtungen | Lob und Kritik und Ideen für selbstkomponierte Lieder]]
==Lieder==
[[Liederbuch/ Pläne und Wünsche]]
== Seitenüberblick ==
<!-- Alle Gitarrenseiten -->
{{Klappbox|style=border:1px solid grey; margin:6px 0 6px 0;|bg1=#EAEAEA|verborgen=true|ta1=left|fw1=bold
|Titel= Alle Gitarrenseiten
|Inhalt={{Spezial:Prefixindex/Gitarre}}
}}
<!-- Alle Liederbuchseiten -->
{{Klappbox|style=border:1px solid grey; margin:6px 0 6px 0;|bg1=#EAEAEA|verborgen=true|ta1=left|fw1=bold
|Titel= Alle Liederbuchseiten
|Inhalt={{Spezial:Prefixindex/Liederbuch}}
}}
<!-- Ende Inhalt -->
|}
<!-- Ende Äußere Tabelle -->
9bmq3bthis79ks4skz10d31bx8b1ehe
1091087
1091086
2026-09-19T14:30:56Z
Mjchael
2222
/* Akut */
1091087
wikitext
text/x-wiki
<!-- BEGINN SEITE -->
{| width="100%" cellspacing="0" cellpadding="0" valign="top"|
|- <!-- SEITE:TABS -->
|<!-- BEGINN SEITE:TABS -->
{| border="0" cellspacing="0" cellpadding="0" height="30" width="100%"
|-
{{Benutzer:Mjchael/TabVoll|#dfefdf|User:Mjchael|Mjchael}}
{{Benutzer:Mjchael/TabVoll|#f0f0f8|User:Mjchael/Projekte|Projekte}}
{{Benutzer:Mjchael/TabOffen|#f0f0f8|User:Mjchael/Werkstatt|Werkstatt}}
{{Benutzer:Mjchael/TabVoll|#f0f0f8|User:Mjchael/ Hilfen|Hilfen}}
{{Benutzer:Mjchael/TabVoll|#f0f0f8|User:Mjchael/Sammlungen|Sammlungen}}
| style="background-color:#f8f8ff;border-bottom:1px solid #000" width="100"|
|}<!-- ENDE SEITE:TABS -->
{|width="100%" cellpadding="2" cellspacing="0" style="text-align:left; border:solid #000000; border-width:0px 1px 1px 1px;" valign="top"|
|-
|bgcolor="#dfefdf" valign="top"|<!-- Äußere Tabelle linke Spalte -->
<!-- Anfang Inhalt -->
*[[:Kategorie:todo Mjchael|meine Todo-Liste]]
=== Akut ===
{{:Gitarre/ Navi|Formen-Systematik|
{{:Gitarre: Formen-Systematik/ Navi}}|
img=Guitar 1.svg |bg=#F8f8f8|border=#666666|color=#333333|px=80|navi=Formen-Systematik}}
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="Kadenzen in C"
subtitle="Dreiklänge auf den Diskantsaiten (6. Bund)"
arranger = "CC-BY-SA Wikibooks (mjchael)"
}
myKey = {
\tempo 4 = 120
%Tempo ausblenden
\set Score.tempoHideNote = ##t
\clef "G_8"
\time 4/4
\key c
\major
}
myDiskant = {
\repeat volta 4{
\repeat volta 2{
\set Staff.midiInstrument = #"electric guitar (jazz)"
\stemUp
< e'\3 g'\2 c''\1 >2 % C
< f'\3 a'\2 c''\1 > % F
< d'\3 g'\2 b'\1 >4 % G
< d'\3 f'\2 b'\1 >4 % B°
< e'\3 g'\2 c''\1 >2 % C
}
%
\repeat volta 2{
\set Staff.midiInstrument = #"electric guitar (clean)"
< e'\3 a'\2 c''\1 >2 % Am
< f'\3 a'\2 d''\1 > % Dm
< e'\3 g'\2 b'\1 >4 % Em
< e'\3 gis'\2 b'\1 > % E
< e'\3 a'\2 c''\1 >2 % Am
}
%
}
}
myFretBoards = {
\new FretBoards {
% \override FretBoards.FretBoard.size = #'1.5
% \override FretBoard.fret-diagram-details.finger-code = #'in-dot
% \override FretBoard.fret-diagram-details.dot-color = #'white
% \override FretBoard.fret-diagram-details.orientation =
#'landscape
\myDiskant
}
}
myChords = \chordmode {
c2 f g4 b:dim c2 | a2:m d:m e4:m e a2:m |
}
myGuitar = \myDiskant
%% Layout
\score {
<<
%% Griffbilder
\myFretBoards
%% Akkordnamen
\new ChordNames { \myChords }
%% Noten
\new Voice {
\myKey
\myGuitar
}
%% Tabulatur
\new TabStaff {
\tabFullNotation
\myGuitar
}
>>
\layout { \omit Voice.StringNumber }
}
%% Migiausgabe
\score {
<<
\unfoldRepeats {
\new Staff <<
\myKey
\myDiskant
>>
}
>>
\midi {}
}
%& unterdrückt im raw="1"-Modus das DinA4-Format.
\paper {
indent=0\mm
line-width=100\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
{{Todo|Cups (When I'm Gone) by Anna Kendrick<br>
Hello by Adele<br>Just The Way You Are by Bruno Mars<br>Someone You Loved by Lewis Capaldi|Mjchael}}
<poem>
Father Charles Goes Down And Ends Battle
3 times • 1st with b • 2nd natural • 3rd with #
Fb Cb Gb Db Ab Eb Bb F C G D A E B F# C# G# D# A# E# B#
You have to know or to learn
C G D A E
stands for
C D E _ G A _ C major pentatonic
A _ C D E _ G A minor pentatonic
Fb Cb Gb Db Ab
Cb Gb Db Ab Eb
Gb Db Ab Eb Bb
Db Ab Eb Bb F
Ab Eb Bb F C
Eb Bb F C G
Bb F C G D
F C G D A
C G D A E
G D A E B
D A E B F#
A E B F# C#
E B F# C# G#
B F# C# G# D#
F# C# G# D# A#
C# G# D# A# E#
The first note is the root of the major pentatonic
The 4th note is the root of the minor pentatonic.
One sentence
Father Charles Goes Down And Ends Battle
Less to lern, more benefits.
</poem>
<poem>
Strategie
Tonart runter • Capo rauf
C Dur [ F C G Dm Am Em ]
C - 3 = A
D - 5 = A
E - 7 = A
A Dur [ D A E Bm F#m C#m ]
A - 2 = G
C - 5 = G
D - 7 = G
G Dur [ C G D Am Em Bm ]
G - 3 = E
A - 5 = E
C - 8 = E
E Dur = [ A E B7 F#m C#m G#m ]
E - 2 = D
G - 5 = D
A - 7 = D
D Dur = [ G D A Em Bm F#m ]
D - 2 = C
E - 4 = C
G - 7 = C
C Dur [ F C G Dm Am Em ]
Hast du jetzt eine andere Tonart als Start, musst du nur einen Bund hinzufügen oder abziehen (Bb F B Eb Db...)
Zwei Grundlagen sind unverzichtbar
1) Der Quintenzirkel um die zusammengehörigen Akkorde zu kennen
Fähige Clevere Gitarristen Denken An Ein Barré
Father Charles Goes Down And Ends Battle
Fb Cb Gb Db Ab Eb Bb F C G D A E B F# C# G# D# A# E# B#
2) Das die Tonleiter (Das Alphabet) runter...
G F E D C B A G F E D C B A
... und die Halbtonschritte dazwischen um die Abstände abzuzählen...
Für Kreuztonarten
G F# F E D# D C# C B A# A G# G F# F E D# D C# C B A# A
Für die B-Tonarten
G Gb F E Eb D Db C B Bb A Ab G Gb F E Eb D Db C B Bb A Ab
Die Kreuz- und B-Tonarten wollen wir eigentlich ganz vermeiden
G _ F E _ D _ C B _ A _ G _ F E _ D _ C B _ A _ G
Hier siehst du, warum die meisten Capo-Positionen zwei Bünde entfernt sind.
Nun zählt auch F und B nicht zu den Lieblingstonarten der Gitarristen.
G _ _ E _ D _ C _ _ A _ G _ _ E _ D _ C _ _ A _ G
So kommen die Abstände von 3 Bünden zustande.
G - 3 = E ( übersprungenes F )
C - 3 = A ( übersprungenes B )
</poem>
== Vorübung Still got the Blues ==
<score sound="1" raw="1">
\version "2.20.0"
%{
\header {
title="1. Fingersatz (E-(F)-Form) in C-Dur"
subtitle="Eintaktige Sequenzen"
}
%}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c' {
\set TabStaff.minimumFret = #7
\set TabStaff.restrainOpenStrings = ##t
\key c \major
c8 d e f e d c4
b8 c d e d c b4
a8 b c d c b a \tweak color #red gis
a1
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 4/4
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
c d e f e d c
b c d e d c b \break
a b c d c b a "g#"
a
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=90\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
==Lilypond Version==
{{Regal:Musik/ Lilypond Version}}
=== Bonus Balladendiplom ===
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="Basis-Pattern"
subtitles="My December (Linking Park)"
encoder="mjchael"
}
%Diskant- bzw. Melodiesaiten
myDiskant = {
d8 d' a f' d d' a f' | % 1
c8 c' g e' c c' g e' | % 1
d8 d' a f' d d' a f' | % 1
c8 c' g e' c c' g e' | % 1
}
%Basssaiten, die hier nur mit dem Daumen gespielt werden.
myBass = {
d4 a d a
c4 g c g
d4 a d a
c4 g c g
}
% Layout- bzw. Bildausgabe
\score {
<<
\new ChordNames {
\chordmode {
d1:m c d1:m c
}
}
{
%Noten
\new Staff <<
\tempo 4 = 120
%Tempo ausblenden
\set Score.tempoHideNote = ##t
\time 4/4
\key c \major
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8" \repeat volta 4
% Balken nur über viertel Noten, nicht über halbe Noten
\set Timing.beamExceptions = #'()
\set Timing.baseMoment = #(ly:make-moment 1/4)
\set Timing.beatStructure = #'(1 1 1 1)
% Noten im Diskant
\myDiskant
\\
% Noten im Bass - beachte: Wiederholungszeichen ist für Midi notwendig!
\repeat volta 4
\myBass
>>
}
% Tabulatur
\new TabStaff {
\tabFullNotation \repeat volta 4
<<
% Tabulatur im Diskant
\myDiskant
\\
% Tabulatur im Bass
\myBass
>>
}
>>
\layout {}
}
% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\key c \major
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8" \repeat volta 4
\myDiskant
\\
\repeat volta 4
\myBass
>>
}
>>
\midi {}
}
% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
% DinA4 0 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
<div style="background-color:FFF;">
=== Danny Boy ===
<score sound="1" raw="1">
\version "2.20.0"
\header {
title = "Danny Boy"
subtitle = "A Londonderry Air (before 1855)"
poet = "Lyrics: Frederic Weatherly (1910)"
% composer = "Komponist"
% arranger = "arr: ccbysa: Wikibooks (mjchael)"
}
myKey = {
\clef "treble"
\time 4/4
\tempo 4 = 100
%%Tempo ausblenden
\set Score.tempoHideNote = ##t
\key g\major
}
%% Akkorde
%% 4/4-Schlag
%% 1 . 2 . 3 . 4 .
myD = \chordmode { d,4 d d, d }
myA = \chordmode { a,,4 a, a,, a, }
myDA = \chordmode { d,4 d a,, a, }
myChords = \chordmode {
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
%% Akkorde nur beim Wechsel notieren
\set chordChanges = ##t
% \partial 4 s4
% \myD \myA \myDA \myD
% d,1 %Schlusston
}
myMelody = \relative c'' {
\myKey
\set Staff.midiInstrument = #"trombone"
\relative c'{
\partial 4. fis8 g a |
b4. a8[ b] e[ d b] |
a( g) e4 r8 g b c |
d4. e8 d b g b |
a2 r8 fis8 g a |
b4. a8[ b] e[ d b] |
a( g) e4. fis8 g a |
b4. c8 b a g fis |
g2 r8 d' e fis |
g4. fis8 fis e d e |
\tweak color #red d( b) g4 r8 d'8 e fis |
\break % 11
g4. fis8 fis e d b |
a2 r8 d8 8 8 |
b'4. a8 8 g e g |
d( b) g4 r8 fis8 g a |
b e d b a g e fis |
g2~ 8 \bar "|."
}
}
myLyrics = \lyricmode {
\set stanza = "1."
Oh, Dan -- ny Boy, the pipes, the pipes are cal -- ling
From glen to glen, and down the moun -- tain side
The sum -- mer's gone and all the ro -- ses fal -- ling
It's you, it's you must go and I must bide.
But come ye back when sum -- mer's in the mea -- dow.
Or when the val -- ley's hushed and white with snow.
And I'll be here in sun -- shine or in sha -- dow.
Oh Dan -- ny Boy, oh, Dan -- ny Boy, I love you so.
}
\score {
<<
\new ChordNames { \myChords }
\new Voice = "mySong" { \myMelody }
\new Lyrics \lyricsto "mySong" { \myLyrics }
% \new TabStaff { \myChords } %% Check
>>
\midi { }
\layout { }
}
%% unterdrückt im raw="1"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 0 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
=== Tom Dooley to Tabs ===
<score sound="1" raw="1">
\version "2.20.0"
\header {
title = "Tom Dooley"
% subtitle = "MeinSubtitle"
% poet = "Texter"
composer = "trad."
% arranger = "arr: ccbysa: Wikibooks (mjchael)"
}
myKey = {
\clef "treble"
\time 4/4
\tempo 4 = 100
%%Tempo ausblenden
\set Score.tempoHideNote = ##t
\key g\major
}
%% Akkorde
%% 4/4-Schlag
%% 1 . 2 . 3 . 4 .
myG = \chordmode { g,,4 g,8 4 8 4 }
myGAm = \chordmode { g,,4 g,8 a,4:m a,8:m a,4:m}
myD = \chordmode { d,4 d8 4 8 4 }
myDsept = \chordmode { d,4:7 d8:7 d4:7 d8:7 d4:7 }
myAm = \chordmode { a,,4:m a,8:m a,4:m a,8:m a,4:m }
myChords = \chordmode {
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
%% Akkorde nur beim Wechsel notieren
\set chordChanges = ##t
% \partial 4 s4
\myG \myG \myGAm \myD
\myAm \myD \myDsept \myG
g,,1 %Schlusston
}
myMelody = \relative c'' {
\myKey
\set Staff.midiInstrument = #"trombone"
\relative c'{
d8 4 8 e g4. | b4. b8( b2)|
d,8 4 8 e g4. | a1 |
d,8 4 e4 g4. | a4. a8~ a2|
a8 4 b8 a4 e4 | g1
\bar "|."
}
}
myLyrics = \lyricmode {
\set stanza = "1."
Hang down your head, Tom Doo -- ley.
Hang down your head and cry
Killed poor Lau -- ra Fos -- ter.
You know you're bound to die.
}
\score {
<<
\new ChordNames { \myChords }
\new Voice = "mySong" { \myMelody }
\new Lyrics \lyricsto "mySong" { \myLyrics }
% \new TabStaff { \myChords } %% Check
>>
\midi { }
\layout { }
}
%% unterdrückt im raw="1"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 0 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
==== Von G nach C ====
<score sound="1" raw="1">
\version "2.20.0"
\header {
title = "Tom Dooley"
% subtitle = "MeinSubtitle"
% poet = "Texter"
composer = "trad."
% arranger = "arr: ccbysa: Wikibooks (mjchael)"
}
myKey = {
\clef "treble"
\time 4/4
\tempo 4 = 100
%%Tempo ausblenden
\set Score.tempoHideNote = ##t
\key c\major
}
%% Akkorde
%% Lagerfeuer-Schlag
%% 1 . 2 + . + 4 .
myC = \chordmode { c,4 c8 4 8 4 }
myCDm = \chordmode { c,4 c8 d4:m d8:m d4:m}
myG = \chordmode { g,,4 g,8 4 8 4 }
myGsept = \chordmode { g,,4:7 g,8:7 g,4:7 g,8:7 g,4:7 }
myDm = \chordmode { d,4:m d8:m d4:m d8:m d4:m }
myChords = \chordmode {
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
%% Akkorde nur beim Wechsel notieren
\set chordChanges = ##t
% \partial 4 s4
\myC \myC \myCDm \myG
\myDm \myG \myGsept \myC
c,1 %Schlusston
}
myMelody = \relative c'' {
\myKey
\set Staff.midiInstrument = #"trombone"
g8 g8( g8) 8 a c4. | e4. e8( e2)|
g,8 g8~ g8 8 a c4. | d1 |
g,8 8~ 8 a4 c4. | d4. d8~ d2|
d8 d8~ d8 e8 d4 a4 | c1
\bar "|."
}
myLyrics = \lyricmode {
\set stanza = "1."
Hang down your head, Tom Doo -- ley.
Hang down your head and cry
Killed poor Lau -- ra Fos -- ter.
You know you're bound to die.
}
\score {
<<
\new ChordNames { \myChords }
\new Voice = "mySong" { \myMelody }
\new Lyrics \lyricsto "mySong" { \myLyrics }
% \new TabStaff { \myChords } %% Check
>>
\midi { }
\layout { }
}
%% unterdrückt im raw="1"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 0 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
==== Von G nach C in den Bass ====
<score sound="1" raw="1">
\version "2.20.0"
\header {
title = "Tom Dooley"
% subtitle = "MeinSubtitle"
% poet = "Texter"
composer = "trad."
% arranger = "arr: ccbysa: Wikibooks (mjchael)"
}
myKey = {
\clef "treble"
\time 4/4
\tempo 4 = 100
%%Tempo ausblenden
\set Score.tempoHideNote = ##t
\key c\major
}
%% Akkorde
%% Lagerfeuer-Schlag
%% 1 . 2 + . + 4 .
myC = \chordmode { c,4 c8 4 8 4 }
myCDm = \chordmode { c,4 c8 d4:m d8:m d4:m}
myG = \chordmode { g,,4 g,8 4 8 4 }
myGsept = \chordmode { g,,4:7 g,8:7 g,4:7 g,8:7 g,4:7 }
myDm = \chordmode { d,4:m d8:m d4:m d8:m d4:m }
myChords = \chordmode {
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
%% Akkorde nur beim Wechsel notieren
\set chordChanges = ##t
% \partial 4 s4
\myC \myC \myCDm \myG
\myDm \myG \myGsept \myC
c,1 %Schlusston
}
myMelody = \relative c' {
\myKey
\set Staff.midiInstrument = #"trombone"
g8 4 8 a c4. | e4. e8( e2)|
g,8 4 8 a c4. | d1 |
g,8 4 a4 c4. | d4. d8~ d2|
d8 4 e8 d4 a4 | c1
\bar "|."
}
myLyrics = \lyricmode {
\set stanza = "1."
Hang down your head, Tom Doo -- ley.
Hang down your head and cry
Killed poor Lau -- ra Fos -- ter.
You know you're bound to die.
}
\score {
<<
\new ChordNames { \myChords }
\new Voice = "mySong" { \myMelody }
\new Lyrics \lyricsto "mySong" { \myLyrics }
% \new TabStaff { \myChords } %% Check
>>
\midi { }
\layout { }
}
%% unterdrückt im raw="1"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 0 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
==== bon G nach D ====
<score sound="1" raw="1">
\version "2.20.0"
\header {
title = "Tom Dooley"
% subtitle = "MeinSubtitle"
% poet = "Texter"
composer = "trad."
% arranger = "arr: ccbysa: Wikibooks (mjchael)"
}
myKey = {
\clef "treble"
\time 4/4
\tempo 4 = 100
%%Tempo ausblenden
\set Score.tempoHideNote = ##t
\key g\major
}
%% Akkorde
%% 4/4-Schlag
%% 1 . 2 . 3 . 4 .
myG = \chordmode { g,,4 g,8 4 8 4 }
myGAm = \chordmode { g,,4 g,8 a,4:m a,8:m a,4:m}
myD = \chordmode { d,4 d8 4 8 4 }
myDsept = \chordmode { d,4:7 d8:7 d4:7 d8:7 d4:7 }
myAm = \chordmode { a,,4:m a,8:m a,4:m a,8:m a,4:m }
myChords = \chordmode {
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
%% Akkorde nur beim Wechsel notieren
\set chordChanges = ##t
% \partial 4 s4
\myG \myG \myGAm \myD
\myAm \myD \myDsept \myG
g,,1 %Schlusston
}
myMelody = \relative c'' {
\myKey
\set Staff.midiInstrument = #"trombone"
\relative c'{
d8 d8( d8) 8 e g4. | b4. b8( b2)|
d,8 4 8 e g4. | a1 |
d,8 4 e4 g4. | a4. a8~ a2|
a8 4 b8 a4 e4 | g1
\bar "|."
}
}
myLyrics = \lyricmode {
\set stanza = "1."
Hang down your head, Tom Doo -- ley.
Hang down your head and cry
Killed poor Lau -- ra Fos -- ter.
You know you're bound to die.
}
\score {
<<
\new ChordNames { \myChords }
\new Voice = "mySong" { \myMelody }
\new Lyrics \lyricsto "mySong" { \myLyrics }
% \new TabStaff { \myChords } %% Check
>>
\midi { }
\layout { }
}
%% unterdrückt im raw="1"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 0 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
== Yes Sir That's my Baby ==
{{:Liederbuch/ Vorlage:Liedheader
|Liedtyp= Charleston (1924)
|Alternativtitel=
|Text= Gus Kahn (*1886 - † 1941)
|Melodie= Walter Donaldson (*1893 - † 1947)
|Urheber=
|Tonart=
|Bearbeiter= Mjchael
|Co-Bearbeiter=
}}
* {{w|Yes Sir, That’s My Baby}}
Der Protagonist (Mann oder Frau) bestätigt den Gesprächspartnern, nun verlobt zu sein, und läd diese zur Hochzeit ein.
<poem>
{{crd|C}} Who's that coming down the {{crd|C#dim}} street,
{{crd|G}} who's that looking so petite
{{crd|G7}} Who's that coming down to meet me {{crd|C}} here. {{crd|Dm7}} {{crd|G7}}
{{crd|C}} Who's that - you know who I {{crd|C#dim}} mean?
{{crd|G7}} Sweetest 'who' you've ever seen
{{crd|D7}} I {{crd|Am7}} could {{crd|D7}} tell {{crd|Am7}} her
{{crd|D7}} miles {{crd|Am7}} a-{{crd|D7}}way from {{crd|G7}} here. {{crd|Em}} {{crd|B7}} {{crd|G7}}
{{crd|C}} Yes, sir, that's my {{crd|C#dim}} baby,
{{crd|G}} no, sir, I don't mean maybe
{{crd|G7}} Yes, sir, that's my baby {{crd|C}} now. {{crd|G7}}
{{crd|C}} Yes, ma'am we've de-{{crd|C#dim}}cided,
{{crd|G}} no, ma'am we won't hide it
{{crd|G7}} Yes ma'am you're invited {{crd|C}} now.
By the {{crd|C7}} way, by the {{crd|F}} way,
when we {{crd|D7}} reach the preacher I'll {{crd|G7}} say {{crd|G7+5}}
{{crd|C}} Yes, sir, that's my {{crd|C#dim}} baby,
{{crd|G}} no, sir, I don't mean maybe
{{crd|G7}} Yes, sir, that's my baby {{crd|C}} now.
{{crd|C}} Well well, 'lookit' that {{crd|C#dim}} baby,
{{crd|G}} Do tell, don't say "maybe",
{{crd|G7}} Hell's bells, won't she cause some {{crd|C}} row?
Pretty {{crd|C7}} soon, Pretty {{crd|F}} soon,
We will {{crd|D7}} hear that Lohengrin {{crd|G7}} tune, (I'm sayin'){{crd|G7+5}}
{{crd|C}} Who for should she {{crd|C#dim}} be sir,
{{crd|G}} No one else but me sir,
{{crd|G7}} Yes sir, That's my Baby {{crd|C}} now. {{crd|C7}}
{{crd|C}} Yes sir, that's my {{crd|C#dim}} Baby
{{crd|G}} Yes sir, I don't mean maybe,
{{crd|G7}} Yes sir, That's my Baby {{crd|C}} now
</poem>
=== Yes Sir, That's My Baby (Var2) ===
<poem>
{{crd|C}} Yes {{crd|Am}} sir, {{crd|C}} that's my {{crd|Am}} baby
{{crd|G7}} No {{crd|Dm}} sir, {{crd|G7}} don't be {{crd|Dm}} maybe
{{crd|G7}} Yes {{crd|Am}} sir, {{crd|G7}} that's my {{crd|Dm}} baby {{crd|C}} now {{crd|G7}}
{{crd|C}} Yes {{crd|Am}} ma'am, {{crd|C}} we've de{{crd|Am}}cided
{{crd|G7}} No {{crd|Dm}} ma'am, {{crd|G7}} we won't {{crd|Dm}} hide it
{{crd|G7}} Yes {{crd|Am}} ma'am, {{crd|G7}} that's my {{crd|Dm}} baby {{crd|C}} now
By the way, {{crd|C7}} by the {{crd|F}} way
When we {{crd|D7}} meet that preacher
I'll {{crd|G7}} say with {{crd|G7sus2}} feel{{crd|G7}}ing
{{crd|C}} Yes {{crd|Am}} sir, {{crd|C}} that's my {{crd|Am}} baby
{{crd|G7}} No {{crd|Dm}} sir, {{crd|G7}} don't be {{crd|Dm}} maybe
<div>{{crd|G7}} Yes {{crd|Am}} sir, {{crd|G7}} that's my {{crd|Dm}} baby {{crd|C}} now.
</poem>
* {{Youtube-Suche|Yes+Sir+That's+My+Baby|Yes Sir, That's My Baby}}
===Early One Morning===
<poem>
;1
{{crd|D}}Early one morning, just {{crd|G}}as the sun was {{crd|A}}rising
I {{crd|D}}heard a maiden singing, from the {{crd|G}}va-{{crd|A}}lley be-{{crd|D}}low:
;Chorus
{{crd|A}}Oh, don't de-{{crd|D}}ceive me, {{crd|A}}Oh never {{crd|D}}leave me,
{{crd|D}}How could you {{crd|G}}use, a {{crd|D}}poor {{crd|A}}maiden {{crd|D}}so?
;2
Oh {{crd|D}}gay is garland, and {{crd|G}}fresh are the {{crd|A}}roses,
I've {{crd|D}}culled from the garden, to {{crd|G}}bind u-{{crd|A}}pon thy {{crd|D}}brow.
;3
Re-{{crd|D}}member the vows, that you {{crd|G}}made to your {{crd|A}}Mary
Re-{{crd|D}}member the bow'r, where you {{crd|G}}promised {{crd|A}}to be {{crd|D}}true.
;4
Thus {{crd|D}}sang the poor maid, her {{crd|G}}sorrows be{{crd|A}}wailing,
Thus, {{crd|D}}sang the poor maid, in the {{crd|G}}va-{{crd|A}}lley be-{{crd|D}}low.
</poem>
===Down In The River To Pray===
<poem>
As I went down in the river to pray
Studying about that good old way
And who shall wear the starry crown
Good Lord, show me the way!
O sisters let's go down,
Let's go down, come on down,
O sisters let's go down,
Down in the river to pray.
As I went down in the river to pray
Studying about that good old way
And who shall wear the robe and crown
Good Lord, show me the way!
O brothers let's go down,
Let's go down, come on down,
Come on brothers let's go down,
Down in the river to pray.
As I went down in the river to pray
Studying about that good old way
And who shall wear the starry crown
Good Lord, show me the way!
O fathers let's go down,
Let's go down, come on down,
O fathers let's go down,
Down in the river to pray.
As I went down in the river to pray
Studying about that good old way
And who shall wear the robe and crown
Good Lord, show me the way!
O mothers let's go down,
Let's go down, don't you want to go down,
Come on mothers let's go down,
Down in the river to pray.
As I went down in the river to pray
Studying about that good old way
And who shall wear the starry crown
Good Lord, show me the way!
O sinners let's go down,
Let's go down, come on down,
O sinners let's go down,
Down in the river to pray.
As I went down in the river to pray
Studying about that good old way
And who shall wear the robe and crown
Good Lord, show me the way!
</poem>
=== Wild Mountain Thyme ===
[[Datei:Wild mountain thyme - geograph.org.uk - 25029.jpg|mini]]
{{listen|filename=Christoph Nolte - The Rocky Road - The Wild Mountain Thyme.ogg|title=The Wild Mountain Thyme|description="Wild Mountain Thyme" performed by Christoph Nolte}}
<score lang="ABC" sound="1">
X: 5
T: Wild Mountain Thyme
R: barndance
M: 4/4
L: 1/8
K: Gmaj
GE|"G"D2 D2 "C"E<G-GA|"G"G6 Bd|"C"e3 e e3 d|"G"Bd-d4 Bd
"C"e4 "G"d3 B|"Em"A<G-G4AB|"Am"c3B A3G|"C"EG-G4 GE|"G"D2 D2 "C"E<G-GA|
"G"G6 Bd|"C"e3 e e3 d|"G"Bd-d4 Bd|"C"e4 "G"d3 B|"Em"A<G-G4AB|
"Am"c3B A3G|"C"EG-G4 GE|"G"D2 D2 "C"E<G-GA|"G"G6|
</score>
< !--
<score sound="1" raw="1">
\version "2.20.0"
\header {
title = "Wild Mountain Thyme"
% subtitle = "MeinSubtitle"
% poet = "Texter"
% composer = "Komponist"
% arranger = "arr: ccbysa: Wikibooks (mjchael)"
}
myKey = {
\clef "treble"
\time 4/4
\tempo 4 = 100
%%Tempo ausblenden
\set Score.tempoHideNote = ##t
\key g\major
}
%% Akkorde
%% 4/4-Schlag
%% 1 . 2 . 3 . 4 .
myD = \chordmode { d,4 d d, d }
myA = \chordmode { a,,4 a, a,, a, }
myDA = \chordmode { d,4 d a,, a, }
myChords = \chordmode {
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
%% Akkorde nur beim Wechsel notieren
\set chordChanges = ##t
\partial 4 s4
\myD \myA \myDA \myD
d,1 %Schlusston
}
myMelody = \relative c'' {
\myKey
\set Staff.midiInstrument = #"trombone"
\relative c''{
\partial 4 g8 e
d4 d e16 g8.~8 a | g2. b8 d | e4. e8 e4. d8 | b d8~2 b8 d |
% GE|"G"D2 D2 "C"E<G-GA|"G"G6 Bd|"C"e3 e e3 d|"G"Bd-d4 Bd
e2 d4. b8 | a16 g8.~2 a8 b | c4. b8 a4. g8 |e8 g8~2 g8 e | d4 4 e16 g8.~g8 a
% "C"e4 "G"d3 B|"Em"A<G-G4AB|"Am"c3B A3G |"C"EG-G4 GE|"G"D2 D2 "C"E<G-GA|
c4. b8 a4. g8 | e g8~2 8 e | d4 4 e16 g8.~8 a | g2.
% "Am"c3B A3G|"C"EG-G4 GE|"G"D2 D2 "C"E<G-GA|"G"G6|
\bar "|."
}
}
myLyrics = \lyricmode {
\set stanza = "1."
Häns -- chen klein | ging al -- lein | in das Haus hin | -- ein. |
}
\score {
<<
\new ChordNames { \myChords }
\new Voice = "mySong" { \myMelody }
\new Lyrics \lyricsto "mySong" { \myLyrics }
% \new TabStaff { \myChords } %% Check
>>
\midi { }
\layout { }
}
%% unterdrückt im raw="1"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 0 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
-->
(also known as "Purple Heather" and "Will Ye Go, Lassie, Go?") is a Scottish/Irish folk song.
<poem>
;1
O the summer time has come
And the trees are sweetly blooming
And wild mountain thyme
Grows around the purple heather.
Will you go, lassie, go?
;Chorus
And we'll all go together,
To pull wild mountain thyme,
All around the purple heather.
Will you go, lassie, go?
;2
I will build my love a tower,
By yon clear crystal fountain,
And on it I will pile,
All the flowers of the mountain.
Will you go, lassie, go?
;3
I will range through the wilds
And the deep land so dreary
And return with the spoils
To the bower o' my dearie.
Will ye go lassie go ?
;4
If my true love she'll not come,
Then I'll surely find another,
To pull wild mountain thyme,
All around the purple heather.
Will you go, lassie, go?
</poem>
== Akkordfolge NEM ==
<score>
<<
\new ChordNames { \chordmode {
d1 c g b
}}
\new FretBoards {
\override FretBoards.FretBoard.size = #'1.5
\override FretBoard.fret-diagram-details.finger-code = #'in-dot
\override FretBoard.fret-diagram-details.dot-color = #'white
\override FretBoard.fret-diagram-details.orientation =
#'landscape
< d-1\5 a-2\4 d'-3\3 fis'-4\2 a'-1\1 > % d
< c-1\5 g-2\4 c'-3\3 e'-4\2 g'-1\1 > % C/B
< g,-1 d-3 g-4 b-2 d'-1 g'-1 > % G
< b,-1\5 fis-2\4 b-3\3 dis'-4\2 fis'-1\1 > % B
}
>>
</score>
<score>
<<
\new ChordNames { \chordmode {
c1 a g e d
}}
\new FretBoards {
\override FretBoards.FretBoard.size = #'1.5
\override FretBoard.fret-diagram-details.finger-code = #'in-dot
% \override FretBoard.fret-diagram-details.dot-color = #'blue
\override FretBoard.fret-diagram-details.orientation =
#'landscape
< e\6 c'\5 e'\4 g'\3 c''\2 e''\1 > % C
< e\6 a\5 e'\4 a'\3 cis''\2 e''\1 > % A
< g\6 b\5 d'\4 g'\3 b'\2 g''\1 > % G
< e\6 b\5 e'\4 gis'\3 b'\2 e''\1 > % E
< d'\4 a'\3 d''\2 fis''\1 > % d
}
\new ChordNames { \chordmode {
c1:m a:m g:m e:m d:m
}}
\new FretBoards {
\override FretBoards.FretBoard.size = #'1.5
\override FretBoard.fret-diagram-details.finger-code = #'in-dot
\override FretBoard.fret-diagram-details.dot-color = #'blue
\override FretBoard.fret-diagram-details.orientation =
#'landscape
< es\6 c'\5 es'\4 g'\3 c''\2 es''\1 > % C
< e\6 a\5 e'\4 a'\3 c''\2 e''\1 > % A
< g\6 bes\5 d'\4 g'\3 bes'\2 g''\1 > % G
< e\6 b\5 e'\4 g'\3 b'\2 e''\1 > % E
< d'\4 a'\3 d''\2 f''\1 > % d
}
>>
</score>
== Canon in D ==
<score sound="1" raw="1">
\version "2.20.0"
\header {
title = "Canon"
composer = "M: Johann Pachebel (1653-1706)"
key="D"
composer= "Pachelbel"
arranger = "arr.: ccbysa Wikibooks (mjchael)"
}
myKey = {
\language "deutsch"
\tempo 4 = 100
%Tempo ausblenden
\set Score.tempoHideNote = ##t
\clef "G_8" \time 4/4
\key d \major
\set Staff.midiInstrument = #"electric guitar (clean)"
}
myMelody = \relative c {
\myKey
\set minimumFret = #2
\set TabStaff.restrainOpenStrings = ##t
\stemUp
\repeat volta 2{}
%^\markup { \bold {Em7} }
%\break
fis2 e d cis h a h cis
\voiceOne
fis' e d cis h a
h cis fis e d cis
h a h cis
d4 \oneVoice d e cis
d fis a a,
h g fis a g d' cis a
d8 cis d fis, a a cis4
d8 d fis4 a a8 h
g fis e g fis e d cis
\voiceOne
h cis d4~ d8 cis16 d cis4
d8 cis d fis, a4 cis d fis a a8 h
g fis e g fis e d cis
h a d4 ~ d8 cis16 d cis4\trill
\oneVoice
\set Timing.beatStructure = #'(1 1 1 1)
d8 fis16 g a8 fis16 g a a, h cis d e fis g
fis8 d16 e fis8 fis,16 g a h a g a fis g a
d8 h16 a g8 fis16 e fis e d e fis g a h
d8 h16a h8 e16 d cis h cis d e fis g e
fis8 d16 cis d8 fis, e cis'16 d e8 cis
% fis d16 cis d8 fis, e cis'16 d e8 cis
d h16 a h8 d, cis fis16 g a8 fis
h g16 fis g8 h a fis'16 e fis8 d
h d16 cis d8 fis, e a d cis
\voiceOne
\set Timing.beatStructure = #'(2 2)
d4. fis8 fis g fis e
d4. d8 d e d cis
h4. h8 a4 d
d8 c h c a2
\oneVoice
d4 fis8 a a h a g
\voiceOne
s1 s
h,2 a ~ a4 \oneVoice d e cis
d fis, a4. h8
g4 d fis a
\voiceOne
g fis e a
fis1\fermata
\bar "||."
% \bar "|." |
}
Gitarre = \myMelody
%% Layout = Noten mit Tab
\score {
<<
%% Noten
\new Voice {
\myKey
\Gitarre
}
%% Tabulatur
\new TabStaff {
\tabFullNotation
\Gitarre
}
>>
\layout {}
}
%% Midiausgabe
\score {
<<
\unfoldRepeats {
\new Staff <<
\myKey
\Gitarre
>>
}
>>
\midi {}
}
%& unterdrückt im raw="1"-Modus das DinA4-Format.
\paper {
indent=0\mm
%& DinA4 0 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
== Takte auszählen ==
GEMISCHTE TAKTE AUSZÄHLEN
Speziell ein Tutorial für Kerstin Jentzsch
Ich gehe mal davon aus, das du dich ganz grob mit den Notenwerten auskennst, und eine Methode suchst, wie du sie beim täglichen Üben einsetzen kannst.
Versuche es mal mit Zahlen.
Die Idee hab ich von
Mike Schönmehl "Jazz und Pop Musiklehre"
Atlantis-Schott-Musikverlag
Alle viertel-Noten werden mit einfachen Zahlen ausgesprochen
1 . 2 . 3 . 4 .
Eins zwei drei vier
oder
fünf sechs sieben acht
oder
neun zehn elf zwölf
Es ist egal welche dieser Zahlenfolgen du nimmst es ist für jede Zahl nur eine Silbe.
Jetzt komme die Achtel:
1 + 2 + 3 + 4 +
Drei-zehn, vier-zehn, fünf-zehn, sech-zehn
sieb-zehn, ach-zehn, neun-zehn, zwan-zig
Was auch gut geht ist
Ein-er, Zwei-er, Drei-er, vier-er
Hier haben alle Zahlen zwei Silben und teilen sich wie zwei Achtel auf.
Jetzt kommen die Sechzehntel
1 e + e 2 e + e 3 e + e 4 e + e
Ein-und-zwan-zig, Zwei-und-zwan-zig, Drei-und-zwan-zig, Vier-und-zwan-zig
Fünf-und-zwan-zig, Sechs-und-zwan-zieg, sieben-und-zwan-zieg, Acht-und-zwan-zig
Hier haben alle Zahlen vier Silben und teilen sich wie vier Sechzentel auf.
Jetzt die Triolen:
1-er-lei 2-er-lei 3-er-lei 4-er-lei
Ein-hun-dert, Zwei-hun-dert, Drei-hun-dert, Vier-hun-dert
Hier haben alle Zahlen drei Silben und teilen sich wie drei Triolen auf.
Wir sind es beim Zählen gewöhnt, in bestimmten Schritten zu zählen, so das wir 1-12 meist genau so langsam bzw. schnell zählen wie 13-20 oder wie 21-29. Und auch die Hunderter werden im gleichen Schritt gezählt.
Man macht ganz automatisch zwei-Achtel, vier-Sechzentel oder 3-Triolen.
Man kann versuchen, sich für viele Rhyhtmen einfach eine Zahlenfolge aufschreiben, und sich auch neue Kombinationen einfallen lassen.
Wie wäre es wenn man viertel, triolen und Sechzentel miteiander übt?
Eins | Zwei-hund-dert | drei | vier-und-zwan-zig
Ein-und-zwan-zig| zwei | drei-hun-dert | vier
Zehner-Zahlen könnten sich sogar für einen Schuffle eignen
1 . + 2 . + 3 . + 4 . +
Bei der Zehn muss man sich was einfallen lassen, aber dann kann man gut im Shuffle zählen
Zehn---tel, Zwan---zig, Drei---ßig, Vier---zig
Zehn---tel, Zwei-hund-dert, Drei---ßig, Vier---zig
So in etwa
Die Methode ist nicht der Weisheit letzter Schluss, aber vielleicht hilft es dem einen oder anderen beim Üben.
Gruß Mjchael
===Gallerie von Red_Rooster===
Die meisten Gifs und JPG wurden von Red_Rooster hochgeladen. Die müssen nach SVG umgestaltet werden.
<!-- Bilder durch SVG ersetzen -->
{{Klappbox|style=border:1px solid grey; margin:6px 0 6px 0;|bg1=#EAEAEA|verborgen=true|ta1=left|fw1=bold
|Titel= Bilder durch SVG ersetzen
|Inhalt=
{{rot|Bilder nicht löschen!!!!!!!!! Sie müssen weltweit durch SVG ausgetauscht werden, und dann erst auf den Commons für die Schnelllöschung vorgeschlagen werden, und dann erst dürfen sie entfernt werden. Und das mache ich selbst!}}
<gallery>
Image:00.01.D.1.png|
Image:00.01.D.2.png|
Image:01.01.D_A1.png|
Image:01.01.D_A2.png|
Image:01.01.D_A3.png|
Image:01.01.D_A4.png|
Image:01.01.D_A5.png|
Image:01.01.D_A6.png|
Image:01.01.D_A7.png|
Image:01.01.D_A8.png|
Image:01.01.D_A91.png|
Image:01.01.D_A92.png|
Image:02.01.D.gif|
Image:02.01.DG1.gif|
Image:02.01.DG2.gif|
Image:02.01.DG3.gif|
Image:02.01.G.gif|
Image:02.01.G_Schluessel.png|
Image:%03.01.C.gif|
Image:03.01.D_C.gif|
Image:03.01.G C.png|
Image:Druck_mittig.png|
Image:Druck_zu_dicht.png|
Image:Druck_zu_weit.png|
Image:%Durstellung.gif|
Image:Durstellung1_4.gif|
Image:EADGHE.gif|
Image:%G_Langsam.gif|
Image:Halbtonschritte_I.gif|
Image:HCF.gif|
Image:Mollstellung1_3.gif|
Image:MR_Durstellung.gif|
Image:MR_Mollstellung.gif|
</gallery>
}}
<pre>
{{duplicate|Crd_Form_C.svg}}
*replaced by [[image:Crd Form C.svg]]
*original is unused or replaced
--~~~~
</pre>
== Spielwiese ==
*[[Benutzer:Mjchael/ Spielweise | Spielweise (Tests für meine Projekte)]]
== Zeichnen und Schreiben ==
*[[Gitarre: Grifftabelle einfach | einfache Grifftabelle]]
*[[Liederbuch]] (weitere Übungsbeispiele für die "Diplome"
== Eigendichtungen ==
*[[Benutzer:Mjchael/ Eigendichtungen | Lob und Kritik und Ideen für selbstkomponierte Lieder]]
==Lieder==
[[Liederbuch/ Pläne und Wünsche]]
== Seitenüberblick ==
<!-- Alle Gitarrenseiten -->
{{Klappbox|style=border:1px solid grey; margin:6px 0 6px 0;|bg1=#EAEAEA|verborgen=true|ta1=left|fw1=bold
|Titel= Alle Gitarrenseiten
|Inhalt={{Spezial:Prefixindex/Gitarre}}
}}
<!-- Alle Liederbuchseiten -->
{{Klappbox|style=border:1px solid grey; margin:6px 0 6px 0;|bg1=#EAEAEA|verborgen=true|ta1=left|fw1=bold
|Titel= Alle Liederbuchseiten
|Inhalt={{Spezial:Prefixindex/Liederbuch}}
}}
<!-- Ende Inhalt -->
|}
<!-- Ende Äußere Tabelle -->
0ufc9r9cnnsuedalvm6hm519k9qzxvw
Ing Mathematik: Numerische Mathematiksysteme am Beispiel von Octave
0
109787
1091080
1091079
2026-09-19T11:59:09Z
Intruder
1513
/* Eigene Dialoge kreieren */ neg. Koord.werte
1091080
wikitext
text/x-wiki
{{Navigation_zurückhochvor_buch|
zurücktext=Maxima|
zurücklink=Ing Mathematik: Computeralgebrasysteme am Beispiel von Maxima|
hochtext=Gesamtinhaltsverzeichnis|
hochlink=Ing:_Mathematik_für_Ingenieure|
vortext=Julia für Ingenieure|
vorlink=Ing Mathematik: Julia}}
= Hallo Welt und allgemeine Hinweise =
== Was ist Octave ==
* Octave ist eine Software zur numerischen Lösung mathematischer Probleme.
* Octave ist Open-Source (GPL-Lizenz).
* Octave ist für viele Betriebssysteme erhältlich (z.B. für Linux, MS Windows, macOS).
* Octave ist weitgehend kompatibel zum Numerik-Standardprogramm {{W|Matlab|MATLAB}}.
* Octave ist ein Interpreter.
* Octave als Programmiersprache ist case-sensitive - d.h. Groß- und Kleinschreibung ist relevant bei der Eingabe von Befehlen.
{{Wikipedia | GNU Octave}}
== Octave installieren ==
=== MS Windows ===
Laden Sie das aktuelle Octave-Paket von der Webseite [https://octave.org/download] herunter. Weiter geht es wie bei jedem anderen größeren zu installierenden Programm. Einfach das Installationsprogramm im Explorer doppelklicken und den Anweisungen des Setup-Programmes folgen.
=== Linux ===
Entweder ist Octave bereits standardmäßig installiert, ansonsten ist die Installation mittels Paketmanagementsystem einfach möglich. Dazu gehen Sie auf die Seite [https://wiki.octave.org/Category:Installation], wählen die vorhandene Linux-Variante und folgen der angegebenen Beschreibung (z.B. <code>zypper ... </code> für openSUSE. Oder Sie benutzen unter openSUSE Tumbleweed direkt das Setup-Programm {{W|YaST}}).
== Octave starten ==
=== MS Windows ===
Das Icon für das Octave-Programm doppelklicken (für das Konsolenprogramm ... CLI, für die grafische Benutzeroberfläche ... GUI). Und schon startet das Programm.
[[Datei:octavestart1.jpg]]
=== Linux ===
In einer Linux-Konsole den Befehl "octave" eintippen, mit der RETURN-Taste bestätigen, und das Programm (CLI) startet:
GNU Octave (x86_64-suse-linux-gnu) version 11.1.0
Copyright (C) 1993-2026 The Octave Project Developers.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>
This is free software; see the source code for copying conditions.
There is NO WARRANTY, to the extent permitted by law. For details, type 'warranty'.
Home page: <https://octave.org>
Support resources: <https://octave.org/support>
Improve Octave: <https://octave.org/get-involved>
For changes from previous versions, type 'news'.
octave:1>
Um Octave mit der eingebauten GUI zu starten, kann der Befehl <code>octave --force-gui</code> verwendet werden:
[[File:Gnu_Octave_IDE.png|600px]]
Alternativ kann, z.B. unter openSUSE Tumbleweed (mit {{W|KDE Plasma 6|KDE-Plasma}}), die Octave-IDE auch über den Application Launcher im Menü ''Education -> GNU Octave'' gestartet werden.
== Ein paar Worte zur Erklärung ==
Im Folgenden wird immer das Konsolenprogramm (CLI ... Command Line Interface) für die Eingabe von Befehlen benutzt. Erst gegen Ende dieses Textes wird auch kurz auf das GUI von Octave eingegangen.
Teilweise werden Ergebnisse der älteren Octave-Version 3.0.3 dargestellt. Die dargestellten Grafiken und Ausgabetexte können je nach Version leicht voneinander abweichen. Der Text wurde ursprünglich mit der Octave-Version 3.0.3 erstellt und anschließend auf die Versionen 5.2 bis 11.1.0 aktualisiert. Dieser Mischmasch sollte aber kein Problem darstellen.
Getestet wurden die Beispiele ursprünglich unter dem Betriebssystem MS Windows 10, später auch mit MS Windows 11, bzw. mit openSUSE Leap 15.6 (Octave 6.4.0, nur vereinzelt) und ab März 2026 auch mit openSUSE Tumbleweed (ab Octave 10.3.0, nur vereinzelt).
== Ein erstes Programm ==
Kommentare werden in Octave mit dem Prozentzeichen (%) oder alternativ mit der Raute (#) eingeleitet. Sie werden vom Octave-Interpreter ignoriert. Will man kompatibel mit MATLAB bleiben, so ist die Version mit dem %-Zeichen vorzuziehen. Text kann mit der disp-Funktion ausgegeben werden. Starten Sie Octave und geben sie folgende Anweisungen zeilenweise ein
octave-3.0.3.exe:1> % Das ist ein Kommentar
octave-3.0.3.exe:2> # und das auch
octave-3.0.3.exe:3> disp "Hallo Welt!"
Als Ergebnis erhalten Sie
Hallo Welt!
Der Prompt (z.B. octave-3.0.3.exe:1>) ist natürlich abhängig von der Octave-Version und den schon eingegebenen Zeilen. Er ist selbstverständlich nicht einzutippen, sondern wird vom Octave-System geliefert.
Strings können in Octave entweder in Anführungszeichen (") gesetzt werden oder in Hochkommatas('). In diesem Text wird die erste Variante bevorzugt eingesetzt.
= Octave als Taschenrechner =
== Allgemeines ==
Wir wollen 3 * 5 berechnen. Dazu starten wir Octave. Geben Sie dann die Formel
octave-3.0.3.exe:1> 3 * 5
ein, drücken die Taste ENTER/RETURN und erhalten als Ergebnis
ans = 15
Auch kompliziertere Ausdrücke sind möglich. Beispielsweise mit Winkelfunktionen, Quadratwurzeln etc. Wir wollen nun den Ausdruck <math>\sin\sqrt{15}</math> berechnen :
octave-3.0.3.exe:2> sin(sqrt(15))
ans = -0.6679
Octave kennt eine Handvoll von Konstanten, z.B.:
Zeilenweise Eingabe:
% Die Kreiszahl PI
pi
% Die Eulersche Zahl
e
% Zur Maschinengenauigkeit
eps
Ausgabe:
ans = 3.1416
ans = 2.7183
ans = 2.2204e-016
"ans" steht übrigens für den Begriff "answer" (auf Deutsch "Antwort"). Mit "ans" kann wie mit jeder anderen Variable oder Konstanten weitergerechnet werden, z.B.:
Eingabe:
% Der Kreisradius sei 10
10
% Der Kreis-Umfang mit diesem Radius sei folgendes
2 * pi * ans
Ausgabe:
ans = 10
ans = 62.832
Die Ausgabe eines Befehls am Bildschirm (das "Echo") kann übrigens durch Anwendung des Semikolons (;) unterdrückt werden. Gezeigt werden soll dies nun mit Hilfe des obigen Beispiels. Es soll nur der Umfang ausgegeben werden, nicht der Radius.
Eingabe:
% Der Kreisradius sei 10
10;
% Der Kreis-Umfang mit diesem Radius sei folgendes
2 * pi * ans
Ausgabe:
ans = 62.832
Vielleicht ist manchem die Genauigkeit, mit der Echo bzw. der Befehl disp Werte ausgibt, nicht ausreichend. Dem kann Abhilfe verschafft werden und zwar so:
Eingabe:
format short
pi
format long
pi
format longe
pi
% usw.
Ausgabe:
ans = 3.1416
ans = 3.14159265358979
ans = 3.14159265358979e+00
Beenden lässt sich das Octave-Programm durch Eingabe von quit oder exit (und natürlich zur Bestätigung die RETURN-Taste drücken).
== Die Hilfefunktion von Octave ==
Die Eingabe von help mit Angabe eines Funktionsnamens liefert detaillierte Infos zu der gesuchten Funktion.
Eingabe:
help sin
Ausgabe:
'sin' is a built-in function from the file libinterp/corefcn/mappers.cc
-- Y = sin (X)
Compute the sine for each element of X in radians.
See also: asin, sind, sinh.
Additional help for built-in functions and operators is
available in the online version of the manual. Use the command
'doc <topic>' to search the manual index.
Help and information about Octave is also available on the WWW
at https://www.octave.org and via the help@octave.org
mailing list.
Auch gibt es die doc-Funktion für eine vollständige Dokumentation des Octave-Systems, z.B.:
Eingabe:
doc
Ausgabe:
[[Datei:Octave_730_doc_screenshot.jpg]]
== Sonstige einfache Berechnungen ==
In octave gibt es eine "umgekehrte" Division:
11 / 2 % normale Division (Rechtsdivision)
11 \ 2 % umgekehrte Division (Linksdivision)
Ausgabe:
ans = 5.5000
ans = 0.1818
Potenzieren kann man so:
12^5
Ausgabe:
ans = 248832
Den Modulo-Operator % wie in C/C++, Java oder Python gibt es in Octave '''nicht'''. Das Prozentzeichen ist dem Kommentar vorbehalten. Man kann aber eine Funktion hierfür benutzen
y = mod(20, 3)
Ausgabe:
y = 2
Runden mit und auf Ganzzahlen kann man in Octave so:
a = int32(10);
b = int32(3);
x = a / b
y = int32(15) / int32(4)
Ausgabe:
x = 3
y = 4
Siehe dazu aber auch die Funktionen <code>floor</code>, <code>ceil</code> und <code>idivide</code>.
Mittels <code>int32()</code> werden Zahlen als 32-Bit-Ganzzahlen dargestellt. Standardmäßig ist der Datentyp nämlich <code>double</code>. Das ist zu beachten, es ergeben sich unterschiedliche Ergebnisse.
Beispiel:
clear();
a = int32(10);
b = int32(3);
x = a / b
c = 10;
d = 3;
y = c / d
whos()
Ausgabe:
x = 3
y = 3.3333
Variables visible from the current scope:
variables in scope: top scope
Attr Name Size Bytes Class
==== ==== ==== ===== =====
a 1x1 4 int32
b 1x1 4 int32
c 1x1 8 double
d 1x1 8 double
x 1x1 4 int32
y 1x1 8 double
Total is 6 elements using 36 bytes
Ist der Wertebereich von <code>int32</code> zu klein (4 Bytes, <math>-2^{31}</math> bis <math>2^{31} - 1</math>), so gibt es auch <code>int64</code> (8 Bytes, <math>-2^{63}</math> bis <math>2^{63} - 1</math>).
<code>clear</code> löscht Namen und gibt den Speicherplatz wieder frei. <code>whos()</code> liefert detaillierte Informationen der aktuell definierten Variablen.
== Aufgaben ==
* Berechnen Sie mit Octave den Ausdruck <math>\frac{1}{2}\cdot e^2 \cdot \tan(\pi/3)</math>.
* Berechnen Sie mit Octave den Ausdruck <math>2\; \text{cosd}(60) - 3\sin(\pi/5)</math>. Anmerkung: cosd erwartet den Parameter im Gradmaß (d für "degree"), sin erwartet den Parameter im Bogenmaß.
* Erkunden Sie die Fehlerfunktion "erf" mittels Octave-Hilfe.
* Welche Zahl ergibt sich durch <code>3 / 4 \ 2</code>?
* Welche Zahlen werden durch die folgenden Anweisungen ausgegeben?
idivide(int32(10), int32(3), "fix")
idivide(int32(10), int32(3), "round")
idivide(int32(10), int32(3), "floor")
idivide(int32(10), int32(3), "ceil")
floor(10.3)
ceil(10.3)
= Octave als Scriptsprache =
Häufig wird man aber kompliziertere Anweisungsfolgen verarbeiten müssen. Diese will man normalerweise nicht jedesmal neu eingeben, sondern in einer Datei speichern und diese Datei dann zur Ausführung bringen. Speichern Sie dazu folgenden Code in einer Textdatei, z.B. unter MS Windows als c:\tmp\test1.m
% Das ist ein Kommentar
# und das auch
disp "Hallo Welt!"
Skriptdateien müssen mit der Dateiendung .m versehen werden. In der Octave-Konsole fügen Sie den Dateipfad mittels
octave-3.0.3.exe:1> addpath("c:/tmp")
hinzu (es ist der UNIX-spezifische Slash (/) zu benutzen). Alternativ können Sie zumindest unter MS Windows auch einen Doppel-Backslash (\\) einsetzen. Oder Sie wechseln mittels <code>cd c:/tmp</code> direkt ins Verzeichnis <code>c:/tmp</code>.
Danach bringen Sie die Skriptdatei test1.m (sozusagen das Hauptprogramm) zur Ausführung
octave-3.0.3.exe:2> test1
Achtung: Die Datei (die Funktion oder das Hauptprogramm) ist in der Octave-Kommandozeile ohne .m-Dateiendung anzugeben. Wie erwartet ergibt sich folgende Ausgabe am Bildschirm
Hallo Welt!
Zumindest unter Linux können Sie z.B. auch komfortabel den {{W|Shebang|Shebang}} (<code>#!</code>) nutzen. Gegeben sei das Octave-Script
#!/usr/bin/octave
disp("Hallo Welt!");
Gepeichert sei es ebenfalls als <code>test1.m</code>. Starten Sie ein Terminal, wechseln Sie in das entsprechende Arbeitsverzeichnis und geben Sie
./test1.m
ein, so erhalten Sie wieder
Hallo Welt!
als Ausgabe auf dem Terminal. Die Zugriffsberechtigung muss natürlich mittels <code>chmod</code> richtig gesetzt werden. Oder Sie führen direkt Octave mit der Datei <code>test1.m</code> aus:
octave test1.m
Sie sehen, mehrere Wege führen zum Ziel.
== Blockkommentare ==
In neueren Octave-Versionen ab dem Jahr 2009 sind auch Blockkommentare möglich. Blockkommentare werden wie normale Kommentare vom Octave-Interpreter ignoriert.
%{
Das ist ein
Blockkommentar
%}
#{
und das auch
#}
== Variablen ==
Variablenbezeichner können aus Buchstaben (A-Za-z), Ziffern (0-9) und Underscores (_) bestehen, dürfen aber nicht mit einer Zahl beginnen.
Gültige Variablenbezeichner wären also:
xyz
x1
_wert
name_anzahl
Da Octave case-sensitiv ist, repräsentieren folgende Bezeichner verschiedene Variablen:
xyz
XYZ
xYz
Werte werden an Variablen mittels Gleich-Zeichen (=) zugewiesen. Im Folgenden wird der Code immer in der Datei c:\tmp\test1.m gespeichert.
x = 5
y = 10
z = x*y
Bringen Sie die Datei test1.m zur Ausführung, so erhalten Sie folgende Bildschirmausgabe
x = 5
y = 10
z = 50
Normalerweise will man aber nur z anzeigen, die Werte von x und y sind ja bereits bekannt. Dazu fügen Sie an den Anweisungsenden, wie bereits weiter oben erwähnt, bei x und y jeweils ein Semikolon (;) an, um das Anweisungsende explizit zu markieren.
x = 5;
y = 10;
z = x*y
Nun erhalten Sie als Ergebnis nur noch
z = 50
Sie können auch mehrere Anweisungen in einer Zeile durch Semikolon getrennt schreiben.
x = 5; y = 10; z = x*y
Ausgabe:
z = 50
Auch aus der Programmiersprache C/C++ oder Java bekannte Konstrukte können Sie verwenden, z.B.
x = 5;
% inkrementiere x
++x
% x = x - 2
x -= 2
Bildschirmausgabe:
ans = 6
x = 4
Beachten Sie, dass mit dem =-Zeichen eine Wertezuweisung durchgeführt wird. Dies ist nicht äquivalent zum mathematischen =-Zeichen, wie am vorigen Beispiel zu ersehen ist.
Soll eine Anweisung auf mehrere Zeilen verteilt werden, z.B. weil sie zu lang ist, so kann dies durch Verwendung von drei Punkten (...) geschehen, wie nachfolgend dargestellt.
x = 5;
y = 1000 * x + ...
sin(x/2)
Ausgabe:
y = 5000.6
Diese Drei-Punkte-Methode soll nicht für in Anführungszeichen (") eingeschlossene Strings verwendet werden. Diese Methode ist seit geraumer Zeit "deprecated" und funktioniert mit der Version 9.1.0 gar nicht mehr. Benutzen Sie statt dessen den Backslash (\):
txt = "xxxxxxxxxxxxxxxxxxxx\
yyyyyyyyyyyyyyyyy"
Ausgabe:
txt = xxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyy
Variablen sind nicht an einen bestimmten Datentyp gebunden, folgendes ist in Octave problemlos möglich:
wert = 10
wert = 35.5
wert = "Hallo"
wert = pi
Ausgabe:
wert = 10
wert = 35.500
wert = Hallo
wert = 3.1416
Der Befehl <code>who</code>, bzw. <code>whos</code> listet die gegenwärtig definierten Variablen, z.B.:
clear;
a = 10.5;
v = [1 2 3 4 5 12 13];
m = ["s1", "s2"; "s3", "s4"];
disp "***** Der Befehl who *****"
who
disp "***** Der Befehl whos *****"
whos
Ausgabe:
***** Der Befehl who *****
Variables visible from the current scope:
a m v
***** Der Befehl whos *****
Variables visible from the current scope:
variables in scope: top scope
Attr Name Size Bytes Class
==== ==== ==== ===== =====
a 1x1 8 double
m 2x4 8 char
v 1x7 56 double
Total is 16 elements using 72 bytes
==Hexadezimale und binäre Zahlen==
% Hexadezimale Zahl
disp( 0xABC )
% Binäre Zahl
disp( 0b1000011 )
Ausgabe (als Dezimalzahlen):
2748
67
Octave kann auch dezimale in binäre Zahlen etc. umwandeln:
dec2bin( 214 )
Ausgabe:
ans = 11010110
Siehe dazu in der Octave-Hilfe auch folgende Funktionen:
bin2dec, dec2base, dec2hex, hex2dec, base2dec
== Zahlenkolonnen ==
Eine Zahlenkolonne (oder ein Vektor) mit gleichen Abständen der Werte kann folgendermaßen erzeugt werden:
% a ... Startwert
% b ... Schrittweite
% c ... Endwert
a = 0;
b = 10;
c = 100;
x = a : b : c;
disp(x);
Ausgabe:
0 10 20 30 40 50 60 70 80 90 100
Ähnliche Resultate lassen sich auch durch Anwendung der linspace-Funktion erhalten, z.B.:
% a ... Startwert
% b ... Endwert
% c ... Anzahl der Werte
a = 0;
b = 100;
c = 11;
v = linspace(a, b, c)
Ausgabe:
v =
0 10 20 30 40 50 60 70 80 90 100
== Verzweigungen ==
=== Die IF-Verzweigung ===
Die IF-Verzweigung ist aus anderen Programmiersprachen bereits bekannt. In Pseudocode lässt sie sich folgendermaßen darstellen:
WENN bedingung TRUE
führe block1 aus
SONST
führe block2 aus
ENDE
Die test1.m-Datei laute also wie folgt:
x = 5;
if x < 4
disp "x ist kleiner als 4";
else
disp "Der else-Zweig wird ausgefuehrt";
disp "x ist groesser oder gleich 4";
end
Ausgabe:
Der else-Zweig wird ausgefuehrt
x ist groesser oder gleich 4
Octave kennt eine Reihe von Vergleichs- und Verknüpfungsoperatoren:
* <, <= ... kleiner (gleich)
* >, >= ... größer (gleich)
* == ... gleich
* ~=, != ... ungleich
* &, && ... AND
* |, || ... OR
* ~, ! ... NOT
Beispielsweise:
a = 5;
b = 9;
if a<=10 & b!=7
disp("OK");
else
disp("Nicht OK");
end
Ausgabe:
OK
=== Die SWITCH-Verzweigung ===
In Pseudocode:
WECHSLE ZU var
FALLS wert1 == var
führe block1 aus
FALLS wert2 == var
führe block2 aus
...
SONST
führe blockn aus
ENDE
Eine Beispielsimplementierung in Octave könnte so aussehen:
x = "g";
switch(x)
case "k"
disp("klein");
case "g"
disp("gross");
otherwise
disp("sonstiges")
end
Ausgabe:
gross
Anmerkungen für C-Programmierer:
* in Octave darf zum Abschluß von ''case'' kein Doppelpunkt folgen (würde einen Syntaxfehler auslösen).
* ein ''break'' als Abschluß eines ''case''-Blocks ist nicht erlaubt (würde in Octave einen parse error auslösen). ''break'' ist Schleifen vorbehalten. ''switch'' hat in Octave keinen "Durchfall" und ähnelt somit eher der Fortran-Anweisung ''select case''.
Mehrere Fälle in einem ''case'' können wie nachfolgend behandelt werden:
x = "K";
switch(x)
case {"k" "K"}
disp("klein");
case {"g" "G"}
disp("gross");
otherwise
disp("sonstiges")
end
Ausgabe:
klein
== Schleifen ==
=== Die WHILE-Schleife ===
Die WHILE-Schleife ist kopfgesteuert. Sie funktioniert wie aus anderen Programmiersprachen bekannt.
In Pseudocode:
SOLANGE bedingung TRUE
führe block aus
ENDE
In Octave:
x = 0;
while x <= 10
disp(x);
x++;
end
Ausgabe:
0
1
2
3
4
5
6
7
8
9
10
=== Die DO-UNTIL-Schleife ===
Die DO-UNTIL-Schleife ist fußgesteuert. Beachte: Diese Schleife ist nicht äquivalent zu der aus anderen Programmiersprachen bekannten DO-WHILE-Schleife. DO-WHILE bedeutet "TUE SOLANGE", DO-UNTIL bedeutet "TUE BIS". Sie wird mindestens einmal ausgeführt.
Pseudocode:
TUE
führe block aus
BIS bedingung TRUE
Mittels Octave:
x = 0;
do
disp(x);
x++;
until(x >= 5)
Ausgabe:
0
1
2
3
4
=== Die FOR-Schleife ===
for x = 0 : 2 : 10
disp(x);
end
Ausgabe:
0
2
4
6
8
10
Der FOR-Schleifenkopf ist in Form einer Zahlenkolonne folgendermaßen aufgebaut:
for variable = startwert : schrittweite : endwert
Man beachte, dass Vektorisierung gegenüber einem Schleifendurchlauf eine erhebliche Zeiteinsparung bewirken kann (man siehe in der [https://docs.octave.org/latest/Vectorization-and-Faster-Code-Execution.html Octave-Dokumentation das Kapitel 19 "Vectorization and Faster Code Execution"]). Folgendes Beispiel ist an genanntes Octave-Kapitel angelehnt. Zuerst wird eine Berechnung mittels Schleifendurchlauf durchgeführt und der Zeitbedarf ausgegeben. Dieser Zeitbedarf hängt natürlich auch von der verwendeten Hardware etc. ab.
Eingabe:
n = m = 500;
a = b = eye(500);
t1 = time();
for i = 1:n
for j = 1:m
c(i,j) = a(i,j) + b(i,j);
endfor
endfor
t2 = time();
t_diff = t2-t1
Ausgabe:
t_diff = 3.7566
Der Zeitverbrauch beträgt hier also ca. 4 Sekunden. Im Gegensatz dazu
Eingabe:
a = b = eye(500);
t1 = time();
c = a + b;
t2 = time();
t_diff = t2-t1
Ausgabe:
t_diff = 1.5974e-05
ist der Zeitverbrauch hier sehr gering. Vektoren und Matrizen werden etwas später in diesem Text detailliert behandelt. Hier nur soviel: Mittels ''eye'' wird eine Einheitsmatrix kreiert.
=== Schleifen abbrechen ===
Zum Abbrechen einer Schleife gibt es den Befehl "break".
for var = 0 : 1 : 100
disp (var);
if var == 5
break;
end
end
Ausgabe:
0
1
2
3
4
5
"continue" setzt mit dem nächsten Schleifendurchlauf fort, z.B.
for var = 0 : 1 : 10
if var == 5
continue;
end
disp (var);
end
Ausgabe:
0
1
2
3
4
6
7
8
9
10
== Aufgaben ==
* Berechnen Sie die Summe der ersten 10000 natürlichen Zahlen (bei 1 beginnend)
** in Form einer WHILE-Schleife
** in Form einer DO-UNTIL-Schleife
** in Form einer FOR-Schleife
** mittels sum-Befehl (siehe dazu auch die von Octave zur Verfügung gestellte Hilfefunktion).
** mittels gaußscher Summenformel (<math>\sum_{i=1}^n{i} = 1+2+...+n = n(n+1) / 2</math>)
* Schreiben Sie für obige Alternativen Programme mit denen der Zeitbedarf der Schleifen, Befehle bzw. Formeln gemessen werden kann. Welche Alternativen sind aus Zeitgründen (minimale Laufzeit) empfehlenswert?
= Grafiken zeichnen =
== 2D ==
=== Graph einer Funktion ===
Es soll die cosh-Funktion im Intervall <math>x\in[-3,3]</math> gezeichnet werden. Der Programmcode lautet in der einfachsten Form:
x = -3 : .1: 3;
y = cosh(x);
plot(x,y);
grid on;
Ausgabe:
[[Datei:octave_cosh.jpg]]
Der Code ist quasi selbsterklärend. x läuft von -3 bis +3. y wird für jeden x-Wert per Formel ausgerechnet. "plot" ist der Zeichenbefehl. "grid on" schaltet ein Zeichengitter ein.
Die Schrittweite 0.1 wurde so gewählt, um einen ausreichend glatten Verlauf des Graphen zu gewährleisten. Das ist immer ein Kompromiss zwischen Berechnungszeit und Ansehnlichkeit. Testen Sie einfach ein paar verschiedene Werte, um ein Gefühl dafür zu zu bekommen.
Sie könnten nun auf die Idee kommen, obiges Script unter Linux mit der Shebang-Zeile zu erweitern, um es direkt als Programm auszuführen.
#!/usr/bin/octave
x = -3 : .1: 3;
y = cosh(x);
plot(x,y);
grid on;
Die Enttäuschung folgt auf dem Fuß. Außer einem kurzen Aufblinken des Grafikfensters ist nicht viel zu sehen. Das Programm läuft einfach durch und wird nach der letzten Anweisung beendet. Abhilfe kann z.B. der <code>input</code>-Befehl schaffen:
#!/usr/bin/octave
x = -3 : .1: 3;
y = cosh(x);
plot(x,y);
grid on;
refresh();
input("Zum Beenden RETURN-Taste drücken");
Das Programm wartet somit, bis Sie im Terminal die RETURN-Taste drücken. <code>refresh()</code> dient dazu, das Grafikfenster unmittelbar zu aktualisieren. Sonst würde das Ausgabefenster leer bleiben, bis es durch externe Anreize aktualisiert wird (z.B. durch Fenster minimieren/maximieren). Gleiches gilt für die <code>octave test1.m</code>-Variante.
Ein etwas komplexeres Beispiel ist Folgendes
x = -3 : .1: 3;
y = cosh(x) + 2.^x;
plot(x,y);
grid on;
Man beachte den Punkt bei 2.^x (2 hoch x). Vergisst man den Punkt, dann erhält man eine Fehlermeldung (ähnlich dieser):
error: for x^y, only square matrix arguments are permitted and one argument must be scalar. Use .^ for elementwise power.
error: called from
test1 at line 2 column 3
Ausgabe:
[[Datei:octave_cosh2.jpg]]
Der Funktionsgraph kann auch als Fläche eingefärbt werden:
x = -3 : .1: 3;
y = cosh(x) + 2.^x;
fill (x, y, "b");
Ausgabe:
[[Datei:octave_cosh3.jpg | 500px]]
=== Graphen mehrerer Funktionen und weiteres ===
Mehrere Graphen lassen sich folgendermaßen in ein Fenster zeichnen:
x = -3 : .1: 3;
y1 = cosh(x) + 2.^x;
y2 = sin(x) .* cos(x);
plot(x,y1, x,y2);
title("Funktionsgraphen");
legend("cosh ...", "sin ...");
xlabel("x");
ylabel("y");
grid on;
[[Bild:octave_cosh14.jpg|600px]]
Um die Linienstile etwas individueller zu gestalten, ist folgender Programmcode gedacht:
x = -3 : .1: 3;
y1 = cosh(x) + 2.^x;
y2 = sin(x) .* cos(x);
plot(x,y1,"*r", x,y2,"ob");
title("Funktionsgraphen");
legend("cosh ...", "sin ...");
xlabel("x");
ylabel("y");
grid on;
[[Datei:octave_cosh4.jpg]]
Bei plot kann auch der Linienstil des jeweiligen Graphen angegeben werden, z.B. steht
* für Sternchenlinie
o für Kreise in der Linie
r für rot
b für blau
Ein ähnliches Resultat liefert der Code:
x = -3 : .1: 3;
y1 = cosh(x) + 2.^x;
y2 = sin(x) .* cos(x);
plot(x,y1, "Color", "red", "*", x,y2, "Color", "blue", "o");
title("Funktionsgraphen");
legend("cosh ...", "sin ...");
xlabel("x");
ylabel("y");
grid on;
Will man mehrere Graphen in ein Fenster zeichnen, aber nicht alles in einen plot-Befehl quetschen, so kann die "hold on"-Anweisung die Lösung des Problems sein:
%Lösche alle benutzerdefinierten Variablen aus der Symboltabelle
clear;
%Schließe alle Fenster
close all;
%Lösche Konsolenfenster und setze Cursor zurück
clc;
x = -3 : .1: 3;
y1 = cosh(x) + 2.^x;
y2 = sin(x) .* cos(x);
plot(x,y1, "Color", "red");
hold on;
plot(x,y2, "Color", "blue");
title("Funktionsgraphen");
legend("cosh ...", "sin ...");
xlabel("x");
ylabel("y");
grid on;
[[Datei:octave_coshsin1.jpg]]
Bei diesem Program wurden auch einige Möglichkeiten (clear, close, clc) gezeigt, um das System aufzuräumen. Ein "hold off" würde natürlich die hold-Funktion wieder ausschalten.
=== Funktion in Parameterdarstellung ===
Es soll die archimedische Spirale <math>x = t \cos(t), y = t \sin(t)</math> im Intervall <math>[0, 6\pi]</math> gezeichnet werden.
clear;
close all;
clc;
t = 0 : .1: 6*pi;
x = t .* cos(t);
y = t .* sin(t);
plot(x,y);
grid on;
[[Datei:octave_spirale1.jpg]]
Diese Darstellung erscheint verzerrt. Will man gleiche Achsenskalierungen, so kann man den axis-Befehl verwenden (axis muss nach plot erscheinen).
t = 0 : .1: 6*pi;
x = t .* cos(t);
y = t .* sin(t);
plot(x,y);
grid on;
axis equal;
[[Datei:octave_spirale222.jpg]]
=== Strichstärke ===
Für manche Zwecke ist es sinnvoll die Strichstärke des Graphen zu erhöhen. Dies kann über den Parameter "LineWidth" der plot-Funktion geschehen.
t = 0 : .1: 6*pi;
x = t .* cos(t);
y = t .* sin(t);
plot(x,y, "LineWidth", 2);
grid on;
axis equal;
Ausgabe:
[[Datei:octave_spirale3.jpg]]
=== Beliebigen Text ausgeben ===
x = -10:0.1:10;
plot (x, sin (x), "LineWidth", 2);
text (2.7, 0.8, "Das ist die sin-Funktion");
Ausgabe:
[[Datei:octave_text1.jpg]]
=== Logarithmische Achseneinteilung ===
x = -3 : .1: 3;
y = cosh(x) + 2.^x;
% Halblogarithmische Darstellung
semilogy(x,y);
grid on;
Ausgabe:
[[Datei:octave_semilog1.jpg]]
Auch die x-Achse kann mit "semilogx" logarithmisch skaliert werden. Mit "loglog" werden beide Achsen logarithmisch skaliert.
=== Aufgaben ===
* Zeichnen Sie die Strophoide <math>x = \frac{a(t^2-1)}{t^2+1}, y = \frac{at(t^2-1)}{t^2+1}, a = 2, -3 \leq t \leq 3</math>. Das Ganze sollte in etwa so aussehen wie folgende Grafik:
[[Datei:octave_strophoide.jpg]]
* Zeichnen Sie die verschlungene Hypozykloide <math>x = (R-r)\cos t + c\cos\frac{R-r}{r}t, y = (R-r)\sin t - c\sin\frac{R-r}{r}t, c = 3, r = 2, R = 6, -15 \leq t \leq 15</math>. Das Ganze sollte in etwa so aussehen wie folgende Grafik:
[[Datei:octave_hypozykloide.jpg]]
* Testen Sie bei den obigen Übungsaufgaben verschiedene Linienstile und Farben (Hinweis: Siehe dazu auch die Octave-Hilfefunktion für den plot-Befehl).
* Testen Sie bei den obigen Übungsaufgaben verschiedene Werte für a, c, r und R.
* Erkunden Sie in der Octave-Hilfe den ezplot-Befehl.
== 3D ==
=== Räumliche Kurven ===
Mittels "plot3" lassen sich Raumkurven zeichnen.
t = 0 : .1 : 9*pi;
x = cos(t);
y = sin(t);
z = 1.3 .^ t;
plot3(x,y,z);
grid on;
[[Datei:octave_raumkurve1.jpg]]
=== Flächen ===
==== ezsurf ====
Die wahrscheinlich einfachste Möglichkeit 3D-Flächen zu erzeugen, besteht in der Verwendung des ezsurf-Befehls. Beachten Sie beim folgenden Beispiel auch wieder den Punkt beim Multiplikationssymbol (elementweise Multiplikation soll verwendet werden, keine Matrizenmultiplikation) in der anonymen Funktion. Was eine anonyme Funktion ist, wird weiter hinten in diesem Text kurz erklärt. Fürs Erste reicht es zu wissen, dass die Funktion f(x, y) jeweils im Intervall [0, 10] gezeichnet werden soll.
clear; close all; clc; clf;
f = @(x, y) sin(x) + 3.*cos(y);
ezsurf (f, [0, 10]);
[[Bild:octave_ezsurf1.jpg|600px]]
Dieses Bild wurde mit der Octave-Version 5.2 erstellt. Es ist im Prinzip identisch zu jenen des folgenden Abschnitts, die mit der Version 3.0.3 erstellt wurden, nur die Farbschattierung ist anders. Ändern lässt sich diese Eigenschaft mit dem colormap-Befehl (siehe auch Octave-Hilfe):
clear; close all; clc; clf;
colormap(hot);
f = @(x, y) sin(x) + 3.*cos(y);
ezsurf (f, [0, 10]);
[[Bild:octave_colormap_hot.jpg|600px]]
==== surf und mesh ====
Für das Zeichnen von Flächen existiert der surf-Befehl. Der meshgrid-Befehl kreiert ein Netz in der xy-Zeichenebene. Beachten Sie beim folgenden Beispiel auch wieder den Punkt beim Multiplikationssymbol der Formel für z.
x = 0 : .1 : 10;
y = 0 : .1 : 10;
[x_grid, y_grid] = meshgrid(x, y);
z = sin(x_grid) + 3.*cos(y_grid);
surf(x_grid, y_grid, z);
[[Datei:octave_flaeche1.jpg]]
Auch ein Farbstreifen kann via "colorbar" zur Grafik hinzugefügt werden.
x = 0 : .1 : 10;
y = 0 : .1 : 10;
[x_grid, y_grid] = meshgrid(x, y);
z = sin(x_grid) + 3.*cos(y_grid);
surf(x_grid, y_grid, z);
colorbar("East");
[[Datei:octave_flaeche2.jpg]]
Das Ganze in Netzdarstellung läßt sich so programmieren:
x = 0 : .2 : 10;
y = 0 : .2 : 10;
[x_grid, y_grid] = meshgrid(x, y);
z = sin(x_grid) + 3.*cos(y_grid);
mesh(x_grid, y_grid, z);
Ausgabe:
[[Datei:octave_mesh1.jpg]]
==== Ellipsoide und Kegel ====
Für das Zeichnen von Kugeln oder Ellipsoiden stellt Octave den "sphere"-Befehl bzw. den "ellipsoid"-Befehl zur Verfügung.
clear; close all; clc;
% Ellipsoiden zeichnen
[x, y, z] = sphere(30);
surf(5*x, 4*y, 3*z);
hold on;
[x, y, z] = ellipsoid(5, 5, 5, 6, 3, 2, 30);
surf(x, y, z);
axis equal;
[[Bild:octave_ellipsoid2.jpg|600px]]
Für Zylinder und Kegel ist der "cylinder"-Befehl zuständig.
clear; close all; clc;
% Kegel und Zylinder zeichnen
[x, y, z] = cylinder([1 2], 100);
surf(x, y, z*3);
hold on;
[x, y, z] = cylinder([0.5 0.5], 50);
surf(x+3, y, z*2);
axis equal;
[[Bild:octave_cylinder2.jpg|600px]]
=== Aufgaben ===
* Zeichnen Sie die räumliche Kurve <math>x = 2 \cdot \cosh(t)</math>, <math>y = 5 \cdot \sin(t)</math>, <math> z = t^{2} - t</math>, <math>0 \leq t \leq 3\pi</math>. Das Ganze sollte etwa wie folgt aussehen:
[[Datei:octave_kurve10.jpg]]
* Zeichnen Sie die Fläche <math>z = \log(x) + \cos(y)</math>. Das Ganze sollte etwa wie folgt aussehen:
[[Datei:octave_flaeche10.jpg]]
== Weiteres ==
=== subplot ===
Zeichnen mit Untergrafiken: Hier wird z.B. ein Fenster mit drei Untergrafiken gezeichnet.
Eingabe:
t = 0 : .5 : 10;
[x_grid, y_grid] = meshgrid(t, t);
subplot(311);
surf(x_grid, y_grid, sin(x_grid) + cos(y_grid) );
subplot(312);
surf(x_grid, y_grid, sin(x_grid) + log(y_grid) );
subplot(313);
surf(x_grid, y_grid, x_grid + cos(y_grid) );
Ausgabe:
[[Datei:octave_subplot2.jpg]]
Die dreistellige Ziffer beim subplot-Befehl bedeutet folgendes:
* Die erste Ziffer ist die Zeilenanzahl
* Die zweite Ziffer ist die Reihenanzahl und
* Die dritte Ziffer ist der Index.
Nun sei ein Beispiel mit 3x2-Untergrafiken angeführt.
clear;
close all;
clc;
x = 0 : .1 : 10;
subplot(321);
plot(x, sin(x));
text(2, -0.5, "Index 1");
subplot(322);
plot(x, tan(x));
text(2, 2, "Index 2");
subplot(323);
plot(x, cosh(x) );
text(2, 3000, "Index 3");
subplot(324);
plot(x, gamma(x) )
text(2, 100000, "Index 4");
subplot(325);
plot(x, log(x) );
text(2, 0, "Index 5");
subplot(326);
plot(x, exp(x) );
text(2, 10000, "Index 6");
Ausgabe:
[[Datei:octave_subplot3.jpg]]
Hier ist sehr gut zu sehen, in welcher Reihenfolge der Index läuft.
=== figure ===
Zeichnen in verschiedene Fenster, z.B.
clear;
close all;
clc;
x = 0 : .1 : 10;
y = 0 : .1 : 10;
[x_grid, y_grid] = meshgrid(x, y);
figure(1)
surf(x_grid, y_grid, sin(x_grid) + cos(y_grid));
figure(2)
surf(x_grid, y_grid, sin(x_grid) + log(y_grid));
Ausgabe:
[[Datei:octave_figure111.jpg|700px]]
=== Linien zeichnen ===
Zeichnen Sie eine Linie von der Koordinate [-15, 0] zu [15, 5]:
clear;
close all;
clc;
x = line([-15 15], [0, 5], "Color", "black", "LineWidth", 2);
Ausgabe:
[[Datei:octave_linie1.jpg]]
Man beachte, dass Octave nicht Punkte P1(x1, y1), P2(x2, y2) erwartet, sondern einen x-Vektor [x1 x2] und einen y-Vektor [y1 y2].
Ein allgemeines Viereck wird z.B. mit folgendem Befehl gezeichnet.
line([-15 15 10 -5, -15], [0, 5, 20, 15, 0], "LineWidth", 2);
[[Datei:octave_viereck2.jpg]]
Auch dreidimensionale Formen lassen sich mit dem line-Befehl zeichnen:
clear; close all; clc;
line([-15 15 10 -5, -15], [0, 5, 20, 15, 0], [10, 20, 30, 40, 50], "LineWidth", 2);
[[Datei:octave_dreidim2.jpg]]
=== Aufgaben ===
* Zeichnen Sie mittels "subplot" die Funktionsgrafen <math>y_1=\tan(x), y_2=\tan(2x), y_3=\tan\sqrt x, y_4=x\cdot \tan(x)</math> in folgender Form in ein Fenster:
** in 2x2-Darstellung
** in 1x4-Darstellung.
* Zeichnen Sie die im obigen Beispiel angegebenen Funktionsgrafen mittels "figure" jeweils in ein eigenes Fenster.
= Vektoren und Matrizen =
== Vektoren ==
Vektoren sollten jedem aus der Linearen Algebra bekannt sein.
=== Zeilen- und Spaltenvektoren ===
% Ein Zeilenvektor
v1 = [1, 2, 3]
% Ein Spaltenvektor
v2 = [6; 7; 8]
Ausgabe:
v1 =
1 2 3
v2 =
6
7
8
Alternative Schreibweisen:
% Ein Zeilenvektor
v1 = [1 2 3]
% Ein Spaltenvektor
v2 = [6
7
8]
Die Ausgabe entspricht der obigen Darstellung.
=== Zugriff auf Vektorelemente ===
Nachfolgend seien einige Zugriffsmöglichkeiten auf die einzelnen Vektorelemente erläutert.
Auf ein einzelnes Element kann via Index zugegriffen werden. Der Index startet bei 1:
v1 = [1 2 4 8 16];
v2 = v1(3)
Ausgabe:
v2 = 4
Mehrere Elemente werden folgendermaßen angesprochen:
v1 = [1 2 4 8 16];
v2 = v1(3:4)
Ausgabe:
v2 =
4 8
Liefere den Teilvektor von einem gegebenen Index bis zum letzten Element:
v1 = [1 2 4 8 16];
v2 = v1(3:end)
Ausgabe:
v2 =
4 8 16
=== Addition und Subtraktion von Vektoren ===
v1 = [1, 2, 3];
v2 = [5, 7, 9];
res = v1 + v2
res = v1 - v2
Ausgabe:
res =
6 9 12
res =
-4 -5 -6
=== Multiplikation mit Skalaren ===
faktor = 3;
v = [1, 2, 3];
res = faktor * v
Ausgabe:
res =
3 6 9
=== Skalarprodukt ===
Das Skalarprodukt ist bekanntermaßen als <math>v_1 \cdot v_2 = |v_1| |v_2| \cos(\angle(v_1, v_2))</math> definiert. In Octave sieht das so aus:
v1 = [1, 2, 3];
v2 = [5, 6, 7];
res = dot(v1, v2)
Ausgabe:
res = 38
=== Vektorprodukt ===
v1 = [1, 2, 3];
v2 = [5, 6, 7];
res = cross(v1, v2)
Ausgabe:
res =
-4 8 -4
Enger an die mathematische Darstellung lehnt sich folgender Code an. Die zu multiplizierenden Vektoren seien in Form von Spaltenvektoren gegeben.
Mathematisch:
<math>a\ast b=\left(\begin{array}{c}
a_{1}\\
a_{2}\\
a_{3}
\end{array}\right)\ast\left(\begin{array}{c}
b_{1}\\
b_{2}\\
b_{3}
\end{array}\right)=\left(\begin{array}{c}
a_{2}b_{3}-a_{3}b_{2}\\
a_{3}b_{1}-a_{1}b_{3}\\
a_{1}b_{2}-a_{2}b_{1}
\end{array}\right)
</math>
Octave-Code:
a = [1
2
3];
b = [5
6
7];
res = cross(a, b)
Ausgabe:
res =
-4
8
-4
=== Transponierter Vektor ===
v1 = [1, 2, 3];
v2 = [5; 6; 7];
res1 = v1'
res2 = v2'
Ausgabe:
res1 =
1
2
3
res2 =
5 6 7
=== Einige weitere Vektorfunktionen ===
Beispiel:
% 1 + 2 + 3
v = [1 2 3];
sum(v)
Ausgabe:
ans = 6
Beispiel:
% 1 * 2 * 3 * 4
v = [1 2 3 4];
prod(v)
Ausgabe:
ans = 24
Beispiel:
% 1^2 + 2^2 + 3^2
v = [1 2 3];
sumsq (v)
Ausgabe:
ans = 14
== Matrizen ==
Gegeben sei folgende 2x3-Matrix <math>m=\left(\begin{array}{ccc}
1 & 2 & 3\\
4 & 5 & 6
\end{array}\right)</math>.
Eingabe:
m = [1, 2, 3; 4, 5, 6]
Ausgabe:
m =
1 2 3
4 5 6
Alternativ und anschaulicher kann diese 2x3-Matrix auch so eingegeben werden:
m = [1 2 3
4 5 6]
Dies ist schon sehr nahe an der mathematischen Darstellungsweise.
=== Zugriff auf Matrizenelemente ===
m = [1 2 3
4 5 6];
% Element aus Zeile 2 und Spalte 3
m(2,3)
Ausgabe:
ans = 6
Eine andere Zugriffsmöglichkeit ist diese:
m = [1 2 3
4 5 6];
% Auf das fünfte Element soll zugegriffen werden
m(5)
Ausgabe:
ans = 3
Die Matrix wird also spaltenweise durchlaufen (nicht zeilenweise). Dies ist vielleicht auf den ersten Blick etwas ungewöhnlich, wird aber z.B. auch in Fortran so gehandhabt.
Auch Teilmatrizen können einfach gebildet werden:
m = [1 2 3
4 5 6];
m(2:end, 2:end)
Ausgabe:
ans =
5 6
Siehe zu diesem Thema auch etwas weiter hinten in diesem Text den Abschnitt "Teilmatrizen".
=== Addition und Subtraktion von Matrizen ===
m1 = [1, 2, 3; 4, 5, 6];
m2 = [-4, -2, 0; 2, 4, 6];
m1 + m2
m1 - m2
Ausgabe:
ans =
-3 0 3
6 9 12
ans =
5 4 3
2 1 0
=== Transponierte Matrix ===
m = [1, 2, 3; 4, 5, 6];
m'
Ausgabe:
ans =
1 4
2 5
3 6
=== Rang einer Matrix ===
Der Rang einer Matrix Rg(M) ist die maximale Anzahl der linear unabhängigen Zeilenvektoren (Spaltenvektoren).
m1 = [1, 2, 3; 4, 5, 6];
m2 = [1, 2; 2, 4];
rank(m1)
rank(m2)
Ausgabe:
ans = 2
ans = 1
Regulär ist eine nxn-Matrix, wenn der Rg(M) = n. D.h. die erste Matrix m1 ist regulär, die zweite m2 singulär.
=== Inverse Matrix ===
m1 = [1, 3; 0, -5 ];
m2 = [1, 2; 2, 4];
inv(m1)
inv(m2)
Ausgabe:
ans =
1.00000 0.60000
0.00000 -0.20000
warning: matrix singular to machine precision
warning: called from
test1 at line 4 column 1
ans =
Inf Inf
Inf Inf
Die Matrix m2 in diesem Beispiel ist singulär (d.h. die Determinante ist 0). Determinanten werden etwas weiter unten in diesem Text behandelt. Inf steht für Infinity (= Unendlich).
=== Multiplikation von Matrizen (falksches Schema) ===
m1 = [1, 3, 4; 0, -5, 1];
m2 = [1, 2; 2, 3; 0, 2];
m1 * m2
Ausgabe:
ans =
7 19
-10 -13
Will man aus irgendwelchen Gründen nicht das falksche Schema ausführen, sondern elementweise Multiplikation, so funktioniert das mit dem Punkt-Operator, z.B.
m1 = [1, 3; 0, -5];
m2 = [1, 2; 4, 2];
% falksches Schema
m1 * m2
% elementweise Multiplikation
m1 .* m2
Ausgabe:
ans =
13 8
-20 -10
ans =
1 6
0 -10
Verifikation, falksches Schema (Zeile*Spalte):
[ 1 3 ] [ 1 2 ] [ 1*1+3*4 1*2+3*2 ] [ 13 8 ]
[ 0 -5 ] [ 4 2 ] = [ 0*1-4*5 0*2-5*2 ] = [ -20 -10 ]
Verifikation, elementweise Multiplikation (homologe Elemente):
[ 1 3 ] [ 1 2 ] [ 1*1 3*2 ] [ 1 6 ]
[ 0 -5 ] [ 4 2 ] = [ 0*4 -5*2 ] = [ 0 -10 ]
=== Determinante einer Matrix ===
m1 = [1, 3; 0, -5 ];
m2 = [1, 2; 2, 4];
det(m1)
det(m2)
Ausgabe:
ans = -5
ans = 0
m1 ist regulär, m2 ist singulär. Determinanten können nur von quadratischen Matrizen gebildet werden.
=== Teilmatrizen ===
m = [1, 2, 3; 0, 5, 1];
% Die Matrix in einen Spaltenvektor umwandeln
m1 = m(:)
% Das Element aus der 1. Zeile und der 2. Spalte extrahieren
m2 = m(1,2)
% Erste Zeile extrahieren
m3 = m(1, 1:3)
m4 = m(1, :)
% Zweite Spalte extrahieren
m5 = m(1:2, 2)
m6 = m(:, 2)
Ausgabe:
m1 =
1
0
2
5
3
1
m2 = 2
m3 =
1 2 3
m4 =
1 2 3
m5 =
2
5
m6 =
2
5
=== Einheitsmatrizen ===
eye(3,2)
Ausgabe:
ans =
1 0
0 1
0 0
=== Nullmatrizen ===
zeros(2,3)
Ausgabe:
ans =
0 0 0
0 0 0
=== Diagonalmatrizen ===
diag([1, 2, 3])
Ausgabe:
ans =
1 0 0
0 2 0
0 0 3
=== Spur einer Matrix ===
trace([1,2,3; 6,9, 0])
Ausgabe:
ans = 10
=== LR-Zerlegung einer Matrix ===
Führen Sie die LR-Faktorisierung (LR ... links/rechts bzw. LU ... left/upper) einer Matrix m aus. l sei die linke Dreiecksmatrix, r die rechte Dreiecksmatrix und p die Permutationsmatrix
m = [1 0 5
-1 1 -2
0 0 3];
[l, r, p] = lu(m)
Ausgabe:
l =
1 0 0
-1 1 0
0 0 1
r =
1 0 5
0 1 3
0 0 3
p =
1 0 0
0 1 0
0 0 1
=== Eigenwerte ===
a = [5 8
1 3];
% Eigenvektoren und Eigenwerte
[ev, ew] = eig(a)
Ausgabe:
ev =
0.9701 -0.8944
0.2425 0.4472
ew =
Diagonal Matrix
7 0
0 1
Die Eigenwerte sind hier <math>\lambda_1 = 7</math> und <math>\lambda_2 = 1</math>. Die Eigenvektoren sind [0.9701 0.2425] bzw. [-0.8944 0.4472]. Da das Gleichungssystem <math>(A - \lambda_i E) x_i = 0</math> singulär ist, sind alle Lösungsvektoren Vielfache dieser Eigenvektoren.
=== Schwach besetzte Matrizen ===
{{Wikipedia | Dünnbesetzte Matrix}}
Gegeben sei die schwach besetzte Matrix
m = [0 1 0 0 0
0 0 0 3 0
4 0 0 2 0
0 0 1 0 0
0 0 0 1 7]
Mittels dem sparse-Befehl kann man einfach die Elemente != 0 nach folgendem Schema eingeben.
sparse ([zeilenindizes] [spaltenindizes] [werte])
also in unserem Fall:
ms = sparse([1 2 3 3 4 5 5], [2 4 1 4 3 4 5], [1 3 4 2 1 1 7])
Ausgabe:
ms =
Compressed Column Sparse (rows = 5, cols = 5, nnz = 7)
(3, 1) -> 4
(1, 2) -> 1
(4, 3) -> 1
(2, 4) -> 3
(3, 4) -> 2
(5, 4) -> 1
(5, 5) -> 7
Die volle Matrix erhält man mit dem Befehl full:
m = full(ms)
Ausgabe:
m =
0 1 0 0 0
0 0 0 3 0
4 0 0 2 0
0 0 1 0 0
0 0 0 1 7
Grafisch anzeigen lassen kann man sich die Besetzung von Matrizen mit dem spy-Befehl:
spy(ms);
oder (für allgemeine Matrizen auch mittels)
spy(m);
Ausgabe:
[[Datei:octave_sparse1.jpg]]
Wirklich interessant ist der spy-Befehl für größere Matrizen, z.B. um die Bandstruktur zu visualisieren.
e = eye(200);
es = sparse(e);
% Auf sparse-Matrizen kann genauso zugegriffen werden wie auf normalen Matrizen
es(100, 15) = 100;
spy(es);
Ausgabe:
[[Datei:octave_sparse2.jpg]]
=== Matrizen mit Zufallswerten ===
Insbesondere für Testzwecke kann es manchmal sinnvoll sein größere Matrizen mit Zufallswerten zu bilden. Dazu stellt Octave u.a. den rand-Befehl zur Verfügung.
m = rand(5, 6)
Ausgabe:
m =
0.86605 0.61108 0.71347 0.97119 0.52428 0.21993
0.74059 0.49062 0.56073 0.68592 0.74737 0.62680
0.20790 0.84874 0.36834 0.31102 0.25813 0.28933
0.84732 0.98777 0.91512 0.42240 0.87891 0.63757
0.76823 0.80367 0.24639 0.78208 0.77170 0.95281
Die Zufallszahlen liegen gleichverteilt zwischen 0 und 1 und werden nach dem Mersenne-Twister-Verfahren mit einer Periode von <math>2^{19937}-1</math> gebildet.
Andere Verfahren sind:
* randn: Normalverteilte Pseudozufallselemente mit Mittelwert=0 und Varianz=1
* rande: Exponentialverteilte Zufallselemente
* randg: Gammaverteilte Zufallselemente
* randp: Poissonverteilte Zufallselemente
Details dazu siehe in der Octave-Hilfefunktion.
== Aufgaben ==
* Berechnen Sie den Winkel zwischen den beiden Vektoren a = [1 2 0] und b = [2 1 1]. Hinweis: Siehe diesbezüglich auch im Oktave-Hilfesystem den Befehl "norm".
* Gegeben seien Vektoren a = [1 2 5], b = [0 0 -1] und c = [-1 -2 2]. Berechnen Sie das Spatprodukt aus diesen drei Vektoren.
* Multiplizieren Sie die beiden Matrizen A und B (mit Octave und zur Kontrolle händisch)
A = [0 0 1
1 2 1]
B = [1 1
1 2
0 4]
* Ist die Matrix C regulär? Wenn ja, dann bilden Sie die inverse Matrix.
C = [-1 0 0 -4
2 0 1 5
7 6 2 0
3 0 2 6]
* Ist die Matrix D regulär? Wenn ja, dann bilden Sie die inverse Matrix.
D = [2 1 0 0
0 0 2 1
0 0 0 2
1 1 0 0]
* Berechnen Sie die Konditionszahl der folgenden Matrix. Hinweis: Siehe diesbezüglich im Oktave-Hilfesystem den Befehl cond
[3 4 -5
6 0 3
1 1 2]
* Berechnen Sie die Eigenwerte und Eigenvektoren der folgenden Matrix
[6 -3 4 0
0 7 -1 1
0 10 -3 -2
0 1 -2 1]
= Komplexe Zahlen =
Die imaginäre Einheit wird in Octave durch den Buchstaben i, j, I oder J symbolisiert. Darstellen kann man eine komplexe Zahl bekannterweise in mehreren Formen:
* Kartesische Darstellung <math>z = \Re(z) + i \cdot \Im(z)</math>
* Polardarstellungen <math>z = r \cdot (\cos(\phi) + i \cdot \sin(\phi)) = r \cdot e^{i\cdot \phi}</math>
Die konjugiert komplexe Zahl ist <math>z^* = \Re(z) - i \cdot \Im(z)</math>
== Mit komplexen Zahlen rechnen ==
z1 = 2 + 5i; % kartesische Darstellung
z2 = 3 * exp(3j); % Polardarstellung
% Addition
res = z1 + z2;
disp("z1 + z2 = "); disp(res);
% Multiplikation
res = z1 * z2;
disp("z1 * z2 = "); disp(res);
% Realteil
res = real(z2);
disp("Realteil von z2 = "); disp(res);
% Imaginärteil
res = imag(z2);
disp("Imaginaerteil von z2 = "); disp(res);
% Betrag
res = abs(z1);
disp("Betrag von z1 = "); disp(res);
% Argument
res = angle(z1);
disp("Argument von z1 = "); disp(res);
% Konjugiert komplexe Zahl
res = conj(z1);
disp("Konjugiert komplexe Zahl von z1 = "); disp(res);
Ausgabe:
z1 + z2 =
-0.96998 + 5.42336i
z1 * z2 =
-8.0568 - 14.0032i
Realteil von z2 =
-2.9700
Imaginaerteil von z2 =
0.42336
Betrag von z1 =
5.3852
Argument von z1 =
1.1903
Konjugiert komplexe Zahl von z1 =
2 - 5i
== Die gaußsche Zahlenebene ==
clear; close all; clc;
z1 = 3 + 5i;
z2 = 5 * exp(0.5i);
hold on;
plot(z1, "*");
compass(z1);
plot(z2, "o");
compass(z2);
grid on;
[[Datei:octave_komplex1.jpg]]
== Aufgaben ==
* Berechnen Sie die Quadratwurzel der komplexen Zahl <math>z = 3 + 2i</math>.
* Verwandeln Sie folgende Zahlen in die Polarkoordinatendarstellung: <math>-11 - 3i</math> und <math>(1+i)^{10}</math>
* Verwandeln Sie folgende Zahlen in die Normaldarstellung: <math>12 \cdot e^{i\cdot \pi / 4}</math> und <math>3 \cdot (\cos(\pi / 3) + i \cdot \sin(\pi / 3))</math>
* Zeichnen Sie die Zahl <math>3 + 5i</math> in der gaußschen Zahlenebene als Zeiger.
= Funktionen =
Um Programme zu strukturieren und einfacher zu gestalten können Programmteile in Funktionen ausgelagert werden. Eingebaute Funktionen haben wir schon kennengelernt (z.B. die Sinus-Funktion sin). Nun wollen wir sehen, wie man selbst solche Funktionen schreiben kann.
== Eine einfache Funktion schreiben ==
Datei addiere.m:
function res = addiere(a, b)
% Addiere zwei Zahlen a + b
res = a + b;
end
Datei test1.m:
addiere(10, 15)
Ausgabe:
ans = 25
* Jede Funktion sollte in einer eigenen m-Datei stehen.
* Der Dateiname sollte mit dem Funktionsnamen (natürlich ohne Dateiendung .m) übereinstimmen.
* Der Kommentar unter dem Funktionskopf wird als Hilfstext angezeigt, wenn die help-Funktion (hier "help addiere") aufgerufen wird.
== Inline-Funktionen ==
Kurze Funktionen können auch als Inline-Funktionen geschrieben werden.
addiere = inline("a + b");
x = 5;
y = 10;
z = addiere(x, y)
Oder in diesem Fall noch kürzer
addiere = inline("a + b");
z = addiere(5, 10)
Ausgabe:
z = 15
Bei neueren Octave-Versionen kann bei der Verwendung von Inline-Funktionen die Warnung
warning: inline is obsolete; use anonymous functions instead
erscheinen. Ein Blick in die Hilfe-Funktion
help inline
zeigt das selbe Ergebnis. Es sollen also anonyme Funktionen (siehe etwas weiter unten in diesem Text) anstelle von Inline-Funktionen verwendet werden.
== Funktionsstring ==
addiere = "a + b";
a = 5;
b = 10;
z = eval(addiere)
Ausgabe:
z = 15
== Anonyme Funktionen ==
{{Wikipedia | Anonyme Funktion}}
addiere = @(a, b) a + b;
x = 10;
y = 20;
z = addiere(x, y)
oder kürzer
addiere = @(a, b) a + b;
z = addiere(10, 20)
Ausgabe:
z = 30
== Nullstellen von Funktionen bestimmen ==
sinh2 = @(x) sinh(x) + 2;
z = fzero(sinh2, 1)
Ausgabe:
z = -1.4436
Zur Kontrolle soll hier der Graph der Funktion dargestellt werden
clear;
close all;
clc;
sinh2 = @(x) sinh(x) + 2;
x = -2 : 0.1 : 0;
y = sinh2(x);
z = fzero(sinh2, 1)
plot(x, y);
hold on;
plot(z, 0, "o", "Color", "red", "LineWidth", 2);
text (-1.8, 0.8, "Nullstelle");
line([z -1.7], [0, .7], "Color", "black");
grid on;
Ausgabe:
[[Datei:octave_funktion5.jpg]]
Weiter unten im Text wird die ähnliche Funktion "fsolve" beschrieben. "fzero" benutzt zwei verschiedene Funktionen zur Problemlösung, darunter eben auch "fsolve".
Für die Nullstellenbestimmung von Polynomen gibt es die Funktion "roots". Näheres dazu folgt im nächsten Kapitel.
== Globale Variablen ==
Datei addiere.m:
function res = addiere()
global a b;
res = a + b;
end
Datei test1.m:
clear;
close all;
clc;
global a b;
a = 5;
b = 3;
addiere()
Ausgabe:
ans = 8
== Aufgaben ==
* Schreiben Sie eine Funktion "ellipse", welche eine Ellipse am Bildschirm darstellt. Zur Erinnerung: Die Parameterdarstellung der Ellipse lautet <math>x = a\cdot\cos(t), y = b\cdot\sin(t), 0 \leq t \leq 2\pi</math>, Funktionsargumente seien a und b.
* Schreiben Sie <math>y = 2\cdot\sin(x) + 3\cdot\cos(x/2)</math>
** als normale Funktion
** als Funktionsstring
** als Inlinefunktion
** als anonyme Funktion
** stellen Sie diese Funktion grafisch am Bildschirm dar.
= Polynome =
== Einzelne Polynomwerte berechnen ==
% y = 2*x^3 + 5*x^2 + 4 für x = 2 berechnen
p = [2, 5, 0, 4];
polyval(p, 2)
Ausgabe:
ans = 40
== Polynome zeichnen ==
% y = 2*x^3 - 5*x^2 + 4 für das Intervall -5 <= x <= 5 grafisch darstellen
x = -5 : .1 : 5;
p = [2, 5, 0, 4];
y = polyval(p, x);
plot(x,y);
grid on;
Ausgabe:
[[Datei:octave_polynom1.jpg]]
== Nullstellen bestimmen ==
Für Polynome existiert die Funktion "roots" zur Nullstellenbestimmung.
% Nullstellen für y = 2*x^3 - 5*x^2 + 4 bestimmen
p = [2, 5, 0, 4];
r = roots(p)
Ausgabe:
r =
-2.76214 + 0.00000i
0.13107 + 0.84077i
0.13107 - 0.84077i
Dieses Polynom hat nur eine reelle Nullstelle. Diese liegt, wie am obigen Grafen zu ersehen ist, in der Nähe von -2.762. Die beiden anderen Nullstellen sind konjugiert komplex zueinander (wie es auch sein sollte).
== Aufgaben ==
* Berechnen Sie den Wert für x = 3 des Polynoms <math>y = 2x^4 - 3x^3 - x + 7</math>.
* Berechnen Sie die Nullstellen von <math>y = 7x^5 - 3x^2 + 12</math>.
* Zeichnen Sie das Polynom <math>y = 12x^4 - 70x</math> im Intervall <math>-5 \leq x \leq 5</math>.
= Lineare Gleichungssysteme =
Sei <math>Ax = b</math> ein lineares Gleichungssystem. <math>A</math> sei die Koeffizientenmatrix, <math>x</math> der Lösungsvektor und <math>b</math> ein bekannter Vektor.
== Einfache Berechnung mittels Gauß-Verfahren ==
{{Wikipedia | Gaußsches Eliminationsverfahren}}
Beispiel:
A = [5 1
0 2];
b = [1
2];
x = A \ b
Ausgabe:
x =
0
1
== Das gmres-Verfahren ==
gmres steht für Generalized Minimal Residual.
{{Wikipedia | GMRES-Verfahren}}
A = [5 1
0 2];
b = [1
2];
x = gmres(A, b)
Ausgabe:
gmres converged at iteration 2 to a solution with relative residual 2.22045e-16
x =
-1.6653e-16
1.0000e+00
Das Ergebnis weicht etwas vom gaußschen Verfahren ab, ist aber trotzdem im Rahmen der Näherung korrekt.
Weiters kennt Octave noch andere iterative Verfahren, z.B. cgs (Conjugate Gradient Squared) oder bicgstab (Bi-Conjugate Gradient Stabilized). Näheres zu diesen Verfahren siehe in der weiterführenden Literatur (z.B. bei Meister: Numerik linearer Gleichungssysteme, Vieweg+Teubner, 2011)
{{Wikipedia | CGS-Verfahren}}
== Aufgabe ==
* Lösen Sie folgendes Gleichungssystem mittels Octave (und zur Kontrolle auch händisch):
5x + 6y - 2z = 12
3x - y - 3z = 6
2x + 2y + 4z = 5
= Nichtlineare Gleichungssysteme =
== fsolve und fzero ==
Löse eine beliebige Gleichung f(x) = 0, z.B. <math> f(x) = x^2 - 5\cos(x) - 10 = 0 </math>:
f = @(x) x^2 - 5*cos(x) - 10;
xstart = 1;
[x, fval, info] = fsolve(f, xstart)
Ausgabe:
x = 2.4681
fval = -1.7764e-015
info = 1
* x ist eine Nullstelle in der Nähe vom Startwert xstart.
* fval ist die Abweichung, den f bei x aufweist.
* info ist ein "Fehlercode": 1 bedeutet, dass der relative Fehler in der spezifizierten Toleranz liegt (wie es sein soll). 3 würde bedeuten, dass der Algorithmus nicht konvergiert (z.B. weil keine Nullstelle existiert).
Zur Kontrolle plotten wir den Funktionsgraphen:
x = - 1 : .1 : 3;
y = x.^2 - 5.*cos(x) - 10;
plot(x,y, "LineWidth", 2);
grid on;
Ausgabe:
[[Datei:octave_nichtlin1.jpg]]
Und siehe da, die gesuchte Nullstelle liegt wie berechnet bei einem Wert nahe 2,5. Die Funktion <math>x^2 - 5\cos(x) - 10</math> hat noch eine zweite Nullstelle, wie in der folgenden Abbildung zu erkennen ist.
[[Datei:octave_nichtlin2.jpg]]
Diese zweite Nullstelle erhalten wir, wenn der Startwert in der Nähe dieser zweiten Nullstelle liegt, also z.B. bei -1. Ändern Sie einfach den entsprechenden Startwert im obigen Programmcode, und das Programm sollte die Nullstelle in der Nähe von -2.5 liefern.
Auch die Funktion ''fzero'' kann zur Lösung einer nichtlinearen Gleichung verwendet werden. Die Hilfe-Funktion von Octave empfiehlt dies sogar eindringlich für den Fall einer nichtlinearen Gleichung in einer Variablen. Für das gleiche Beispiel wie oben kann der Programmcode folgendermaßen aussehen:
Eingabe:
f = @(x) x^2 - 5*cos(x) - 10;
[x0, y0] = fzero (f, [0, 3])
Ausgabe:
x0 = 2.4681
y0 = -1.2434e-14
== Gleichungssysteme ==
Folgende Aufgabe ist dem Buch "Knorrenschild: Numerische Mathematik, Hanser, 2017, Seite 72" entnommen. Zu lösen ist das nichtlineare Gleichungssystem
<math>f_1 = 2x_1 + 4x_2 = 0 </math>
<math>f_2 = 4x_1 + 8x_2^3 = 0</math>
Lösung:
f.m:
function y = f(x)
y(1) = 2*x(1) + 4*x(2);
y(2) = 4*x(1) + 8*x(2)^3;
end
test1.m:
clear;
close all;
clc;
[x, fval, info] = fsolve (@f, [0, 1])
[x, fval, info] = fsolve (@f, [0, -1])
[x, fval, info] = fsolve (@f, [0, 0])
Ausgabe:
x =
-2 1
fval =
0 7.4930e-09
info = 1
x =
2 -1
fval =
0 -7.4930e-09
info = 1
x =
0 0
fval =
0 0
info = 1
== Aufgaben ==
* Bestimmen Sie die Nullstellen von <math>f(x) = x^2 - 3</math>. Plotten Sie den Grafen.
* Bestimmen Sie die Nullstelle von <math>f(x) = sin(x) - x - 1</math>. Plotten Sie den Grafen.
* Lösen Sie das folgende Gleichungssystem (und stellen Sie das Ganze grafisch am Bildschirm dar): <math> f_1 = x_1 + x_2 = 0; f_2 = x_1 + \sin{x_2} = 0</math>
= Interpolation =
== Eindimensionale Interpolation ==
{{Wikipedia | Interpolation (Mathematik)}}
Bezüglich eindimensionaler Interpolation sei auf die [https://docs.octave.org/v11.1.0/One_002ddimensional-Interpolation.html Octave-Dokumentation und Hilfefunktion zum Befehl " interp1"] verwiesen. Dort findet sich auch ein Programmbeispiel, das als Grundlage des folgenden Plots dient:
[[Datei:octave_interpol1.jpg]]
== Mehrdimensionale Interpolation ==
Bezüglich mehrdimensionaler Interpolation siehe die [https://docs.octave.org/v11.1.0/Multi_002ddimensional-Interpolation.html Hilfefunktion zu "interp2", "interp3" und "interpn"].
== Aufgabe ==
* Gegeben seinen die fünf Stützpunkte p1 = [1, 0], p2 = [2, -5], p3 = [3, 2], p4 = [4, 7], p5 = [5, 6]. Legen Sie eine Funktion (die Interpolierende) durch diese Stützpunkte. Eine Lösungsmöglichkeit:
xp = [1 2 3 4 5];
yp = [0, -5, 2, 7, 6];
xf = 1 : .1 : 5;
spl = interp1(xp, yp, xf, "spline");
pch = interp1(xp, yp, xf, "pchip");
plot(xp, yp, "or", "LineWidth", 2, xf, spl, "LineWidth", 2, ...
xf, pch, "LineWidth", 2);
legend("stuetzpunkte", "spline", "pchip", "location", "southeast");
[[Datei:octave_interpol3.jpg]]
= Differenzialrechnung =
== Polynome differenzieren ==
Es soll das Polynom <math>y = 2x^3 - 5x^2 + 7</math> differenziert werden.
% Differenzieren des Polynoms y = 2*x^3 - 5*x^2 + 7
p = [2, -5, 0, 7];
polyder(p)
Ausgabe:
ans =
6 -10 0
D.h. also, die Ableitung von <math>y = 2x^3 - 5x^2 + 7</math> ist <math>y' = 6x^2 - 10x</math>.
== Sonstige Funktionen differenzieren ==
Als Beispiel differenzieren wir <math>y = 5x\sin{x}</math> und stellen das Ganze grafisch dar.
clear;
close all;
clc;
x = 0 : 0.01 : 10;
y = 5 .* x .* sin(x);
y_strich = diff(y) / 0.01;
plot(x, y, "Color", "red", "LineWidth", 2);
hold on;
plot(x(1:length(x)-1), y_strich, "Color", "blue", "LineWidth", 2);
legend("y", "y'");
grid on;
Ausgabe:
[[Datei:octave_diff1.jpg]]
diff(y) ist der Vektor aus den Differenzen y(2)-y(1), ..., y(n)-y(n-1). Für die genaue Arbeitsweise der diff-Funktion siehe "help diff".
== Aufgaben ==
* Differenzieren Sie das Polynom <math>y = 5y^5 - y^4 + 6y - 4</math>.
* Differenzieren Sie die Funktion <math>y = \log(x) + 10x</math> und stellen Sie y, sowie y' grafisch am Bildschirm dar.
* Differenzieren Sie die Funktion <math>y = \frac{\sinh(x)}{(1+x)}</math> und stellen Sie y, sowie y' grafisch am Bildschirm dar.
= Integralrechnung =
== Polynome integrieren ==
Berechnen Sie das unbestimmte Integral von <math>y = 2x^3 - 7x^2 + 7</math>
p = [2, -7, 0, 7];
p_int = polyint(p)
Ausgabe:
p_int =
0.50000 -2.33333 0.00000 7.00000 0.00000
Das Ergebnis lautet also <math>\int{y dx} = 0.5x^4 - 2.33333x^3 + 7x + C</math> (auf die Integrationskonstante C darf nicht vergessen werden!).
== Gauß-Quadratur ==
{{Wikipedia | Gauß-Quadratur}}
Berechnen Sie das Integral <math>\int_{0}^{3}x^2 dx</math> mittels Gauß-Quadratur.
Datei f.m:
function y = f(x)
y = x^2;
end
Datei test1.m:
[v, ier, nfun, err] = quad ("f", 0, 3)
Ausgabe:
v = 9.0000
ier = 0
nfun = 21
err = 9.9920e-014
Erläuterung zur Ausgabe:
* v ... Resultat der Integration
* ier ... integer error code
* nfun ... Anzahl der Funktionsaufrufe
* err ... Fehler in der Lösung
== Quadratur mittels adaptiver Lobatto-Regel ==
Berechnen Sie diesmal das Integral <math>\int_{0}^{3}x^2 dx</math> mittels Lobatto-Quadratur.
f = inline("x.^2");
v = quadl (f, 0, 3)
Ausgabe:
v = 9
Wie weiter oben bereits angesprochen kann bei der Ausgabe eine Warnung erfolgen. Inline-Funktionen sind inzwischen als obsolet erklärt und es sollen stattdessen anonyme Funktionen verwendet werden.
Zwecks Übung sei nachfolgend nochmals dieses Beispiel berechnet. Diesmal wird aber eine anonyme Funktion verwendet.
v = quadl (@(x) x.^2, 0, 3)
== Aufgaben ==
* Integrieren Sie das Polynom <math>y = 5y^5 - y4 + 6y - 4</math>.
* Integrieren Sie die Funktion <math>y = \log(x) + 10x</math> von -5 bis 5.
* Integrieren Sie die Funktion <math>y = x^3</math> von 0 bis 4. Verwenden Sie hierzu die Simpsonregel (siehe dazu in der Hilfefunktion den Befehl "quadv").
= Gewöhnliche Differenzialgleichungen =
== ode23, ode45 und lsode ==
Für die Lösung von Differenzialgleichungen stehen die Funktionen
* ode23
bzw.
* ode45
zur Verfügung. Diese Funktionen implementieren das Runge-Kutta-Verfahren. "ode" steht für "Ordinary Differential Equation" (also auf Deutsch für "Gewöhnliche Differentialgleichung"). Die Zahlen bei ode23 oder ode45 stehen für die Ordnung.
{{Wikipedia | Runge-Kutta-Verfahren}}
Beispiel <math>y' = x^2 + y^3</math>:
clear;
close all;
clc;
[x, y] = ode45(@(x,y) (x^2+y^3), [0 1], 0);
plot(x, y, "LineWidth", 2);
Ausgabe:
[[Datei:octave_ode1.jpg]]
Bezüglich der genauen Funktionsweise von "ode45" (oder "ode23") siehe die Octave-Hilfe.
Auch die Funktion "lsode" steht zur Lösung von ODEs zur Verfügung.
Beispiel <math>y' = x + y</math>:
clear;
close all;
clc;
t = 0 : .1 : 5;
[y2, istate, msg] = lsode(@(x,y) (x + y), 1, t);
istate
msg
plot(t, y2);
Ausgabe:
istate = 2
msg = successful exit
[[Datei:octave_lsode1.jpg]]
Bezüglich der genauen Funktionsweise von "lsode" siehe die Octave-Hilfe.
== Aufgaben ==
* Lösen Sie die Differenzialgleichung <math>y' = \frac{1}{x\cdot y}</math> mit Octave. Kontrollieren Sie das Ergebnis, indem Sie die DGl händisch lösen.
* Lösen Sie die Differenzialgleichung <math>m' = -k\cdot m</math>. Kontrollieren Sie das Ergebnis, indem Sie die DGl händisch lösen.
* Lösen Sie die Differenzialgleichung <math>y' = \sqrt{|y|}</math>.
= Die Fast-Fourier-Transformation =
{{Wikipedia | Schnelle Fourier-Transformation}}
Für die Funktion "fft" siehe das Octave-Hilfesystem.
= Mengenrechnung =
== Vereinigungsmenge ==
v1 = [1 2 3 4];
v2 = [2 4 6];
union(v1, v2)
Ausgabe:
ans =
1 2 3 4 6
== Schnittmenge ==
v1 = [1 2 3 4];
v2 = [2 4 6];
intersect(v1, v2)
Ausgabe:
ans =
2 4
= Logik =
Logische Operatoren werden oft benötigt, z.B. bei Schleifen und Verzweigungen.
Octave kennt die logischen Operatoren <code>or, and, not</code> und <code>xor</code>. Als Beispiel sei die Wahrheitstabelle für den Operator <code>or</code> dargestellt.
A B A or B
--------------------
true true true
true false true
false true true
false false false
In Octave kann das so ausgedrückt werden:
or( true, true )
or( true, false )
or( false, true )
or( false, false )
Ausgabe:
ans = 1
ans = 1
ans = 1
ans = 0
Zahlen ungleich 0 stehen für true, 0 für false. Z.B.:
or( 22, 0)
Ausgabe:
ans = 1
Äquivalent zu <code>or</code> ist der Operator <code>|</code>:
22 | 0
Ausgabe:
ans = 1
Zwecks näheren Informationen zu den Operatoren <code>and (&, &&), not (~, !)</code> und <code>xor</code> bemühe man Octaves Help-Funktion.
Bitweise logische Funktionen kennt Octave auch, so kann man z.B. zwei Zahlen mit dem bitweisen OR-Operator verknüpfen:
0b1100101
0b0110001
---------
0b1110101
Oder in Dezimalzahlen:
101
49
---
117
In Octave:
bitor( 0b1100101, 0b0110001 )
dec2bin( ans )
Ausgabe:
ans = 117
ans = 1110101
Zu <code>bitand, bitxor</code> usw. siehe die Octave-Hilfe-Funktion.
= Stochastik =
==Deskriptive Statistik ==
=== Lageparameter ===
Arithmetischer Mittelwert:
vec = [1 2 3 4 5 12 13];
mw = mean(vec)
Ausgabe:
mw = 5.7143
Der Median oder Zentralwert läßt sich folgendermaßen berechnen:
vec = [1 2 3 4 5 12 13];
median(vec)
Ausgabe:
ans = 4
Der Modus oder häufigste Wert läßt sich mittels "mode"-Funktion eruieren:
vec = [1 2 1 3 5 1 2 7];
[m, f, c] = mode (vec);
disp(m);
disp(f);
disp(c);
Ausgabe:
1
3
{
[1,1] = 1
}
m (erste Zeile der Ausgabe) ist der Modus. f (zweite Zeile) ist die Häufigkeit. Näheres dazu siehe im Octave-Hilfesystem.
=== Streuungsparameter ===
Varianz:
vec = [1 2 3 1 1 6 7];
v = var(vec)
Ausgabe:
v = 6.3333
Standardabweichung:
vec = [1 2 3 1 1 6 7];
s = std(vec)
Ausgabe:
s = 2.5166
=== Grafiken erzeugen ===
Histogramme:
v = [1 1 2 3 1 6 7 6 1 1 1 2];
hist(v, max(v));
Ausgabe:
[[Datei:octave_histo2.jpg]]
Balkendiagramme:
v = [1 1 2 3 1 6 7 6];
bar(v);
Ausgabe:
[[Datei:octave_bar111.jpg]]
Treppendiagramm:
v = [1 1 2 3 1 6 7 6];
stairs(v);
Ausgabe:
[[Datei:octave_stairs1.jpg]]
Stabdiagramm:
v = [1 1 2 3 1 6 7 6];
stem(v);
Ausgabe:
[[Datei:octave_stem1.jpg]]
=== Aufgaben ===
Gegeben sei folgende Datentabelle mit den Werten:
v1 = [3 4 1 1 7 2 1 9 2 5 9 7 2 2 9 2 2 1 2 8]
v2 = [1 1 0 2 3 4 1 2 7 0 2 1 5 5 5 4 5 2 5 0]
* Berechnen Sie die Lageparameter und Streuungsparameter des Vektors v1.
* Berechnen Sie Kovarianz und Korrelationskoeffizient der beiden zugeordneten Vektoren v1 und v2.
* Zeichnen Sie das Histogramm des Vektors v1.
== Wahrscheinlichkeitsrechnung ==
=== Kombinatorik ===
Der Binomialkoeffizient:
<math>\binom{n}{k}=\frac{n!}{k!(n-k)!}</math>
In Octave z.B.:
n = 30;
k = 4;
n_ueber_k = nchoosek (n, k)
Ausgabe:
n_ueber_k = 27405
Permutationen sind die verschiedenen Anordnungsmöglichkeiten mit der Anzahl n! = n * (n-1) * ... * 2 * 1.
Beispiel:
v = [1, 2, 3];
p = perms(v)
Ausgabe:
p =
1 2 3
2 1 3
1 3 2
2 3 1
3 1 2
3 2 1
n! (n-Fakultät) selbst kann so berechnet werden:
% 10!
n = 10;
factorial (n)
Ausgabe:
ans = 3628800
=== Verteilungen ===
Octave kennt eine ganze Reihe von Dichte- und Verteilungsfunktionen und zwar
* Probability Density Functions (PDF, Dichtefunktionen)
* Cumulative Distribution Functions (CDF, Verteilungsfunktionen)
Z.B.:
* Binomialverteilung:
** binopdf
** binocdf
* Hypergeometrische Verteilung:
** hygepdf
** hygecdf
* Normalverteilung:
** normpdf
** normcdf
* Studentverteilung:
** tpdf
** tcdf
* Weibullverteilung:
** wblpdf
** wblcdf
Ein Codebeispiel zur Binomialverteilung:
clear;
close all;
clc;
x = 0 : 1 : 10;
n = 10;
p = 0.1;
b1 = binopdf (x, n, p);
b2 = binocdf (x, n, p);
subplot(221);
bar(x, b1);
title("binopdf");
text(1, 0.1, "n=10; p=0.1");
subplot(222);
bar(x, b2);
title("binocdf");
text(1, 0.5, "n=10; p=0.1");
n = 10;
p = 0.5;
b1 = binopdf (x, n, p);
b2 = binocdf (x, n, p);
subplot(223);
bar(x, b1);
text(1, 0.1, "n=10; p=0.5");
subplot(224);
bar(x, b2);
text(1, 0.1, "n=10; p=0.5");
Ausgabe:
[[Datei:octave_bino3.jpg]]
Möglicherweise erhalten Sie bei diesem Beispiel eine Fehlermeldung in der Form
error: 'binopdf' undefined near line 8, column 6
The 'binopdf' function belongs to the statistics package from Octave
Forge which you have installed but not loaded. To load the package, run
'pkg load statistics' from the Octave prompt.
Laden Sie einfach das Paket für die Statistikfunktionen, wie in der Fehlermeldung beschrieben.
Ein Codebeispiel zur Normalverteilung:
clear;
close all;
clc;
x = -4 : .1 : 4;
b1 = normpdf(x);
b2 = normcdf(x);
subplot(121);
plot(x, b1);
title("normpdf");
grid on;
subplot(122);
plot(x, b2);
title("normcdf");
grid on;
Ausgabe:
[[Datei:octave_norm111.jpg]]
== Zufallszahlengeneratoren ==
Octave kann Zufallszahlen aus einer großen Anzahl von Verteilungen generieren, z.B.
* Chi-Quadrat-Verteilung: chi2rnd
* Log-Normal-Verteilung: lognrnd
* Normalverteilung: normrnd
Codebeispiel:
mean = 0;
standardabweichung = 1;
zufallszahl = normrnd (mean, standardabweichung)
Ausgabe (gibt eine Zufallszahl rund um den Mittelwert 0 aus), z.B.
zufallszahl = 1.0451
Auch Zufallsvektoren (oder Zufallsmatrizen) können erstellt werden:
mean = [0 0 0 0 0];
standardabweichung = 1;
zufallsvektor = normrnd (mean, standardabweichung)
Ausgabe, z.B.:
zufallsvektor =
1.47108 -0.51280 0.52726 0.31730 -1.04422
= Einfache Benutzeroberflächen erstellen=
== Input ==
fflush (stdout);
x = input("Gib eine Zahl ein: ");
disp(2 * x);
Ein-/Ausgabe:
Gib eine Zahl ein: 12
24
Der "fflush"-Befehl sollte immer vor dem Aufruf des input-Befehls aufgerufen werden. Näheres zu "fflush" siehe im Octave-Hilfesystem.
== Diverse einfache vorgefertigte Dialoge ==
Fehlermeldung:
errordlg("Fehlermeldung");
[[Bild:octave_fehlermeldung1.jpg]]
Warnung:
warndlg("Warnung");
[[Bild:octave_warnung1.jpg]]
Hilfedialog:
helpdlg
[[Bild:octave_hilfe1.jpg]]
Abfragedialog:
button = questdlg ("Frage")
[[Bild:octave_abfrage1.jpg]]
Eingabedialog:
in = inputdlg("Eingabe")
[[Bild:octave_eingabe1.jpg]]
Messagebox:
h = msgbox ("Eine Mitteilung!");
[[Bild:octave_messagebox1.jpg]]
== Komplexere vorgefertigte Dialogboxen ==
=== Menübox ===
auswahl = menu("Auswahl", "Affe", "Elefant", "Loewe", "Sonstiges");
switch(auswahl)
case 1
disp "Affe quietscht"
case 2
disp "Elefant trompetet"
case 3
disp "Loewe bruellt"
otherwise
disp "Sonstiges"
end
Ausgabe:
[[Bild:octave_menu1.jpg]]
Es werde beispielsweise die Nummer 2 gewählt.
Ausgabe:
Elefant trompetet
=== Dialogliste ===
clear;
close all;
clc;
opt = {"Eins", "Zwei", "Drei"};
[sel, ok] = listdlg ("ListString", opt, "SelectionMode", "Multiple");
if (ok == 1)
for i = 1 : numel(sel)
disp(opt{sel(i)});
end
else
disp("Cancel");
end
[[Bild:octave_dialog1.jpg]]
Es werden beispielsweise alle Optionen ausgewählt.
Ausgabe:
Eins
Zwei
Drei
=== Fortschrittsbalken ===
h = waitbar ([0.5])
[[Bild:octave_fortschritt1.jpg]]
=== Datei- und Verzeichnisdialoge ===
Dateidialog:
[fname, fpath, fltidx] = uigetfile ()
[[Bild:octave_dateidialog2.jpg]]
Ähnlich sind die Befehle "uiputfile" und "uigetdir". Dazu sei auf die Octave-Hilfe verwiesen.
== Eigene Dialoge kreieren ==
Dieses Thema sei hier nur kurz angerissen.
Programmcode:
d = dialog("Position", [300, 300, 250, 150], "Name", "Dialog");
txt = uicontrol("Parent", d, ...
"Style", "text", ...
"Position", [20, 80, 210, 40], ...
"String", "Hallo Welt");
btn_servus = uicontrol("Parent", d, ...
"Position", [30, 20, 80, 30], ...
"String", "Servus", ...
"Callback", "disp('Servus angeklickt!');");
btn_hallo = uicontrol("Parent", d, ...
"Position", [140, 20, 80, 30], ...
"String", "Hallo", ...
"Callback", "disp('Hallo angeklickt!');");
uiwait(d);
Ausgegebenes Dialogfenster:
[[Bild:octave_dialog100.jpg]]
Ausgabe auf der Konsole (je nach gedrücktem Button), z.B.:
Servus angeklickt!
Die Position wird als [links, unten, breite, höhe] angegeben. Der Koordinatennullpunkt liegt, bezogen auf das Elternfenster, links unten. Es sind auch negative Koordinatenwerte möglich. Sinnvoll ist das z.B. bei einem dynamischen Ausblenden ohne zu löschen, oder für Animationen.
[[Bild:Cartesian-coordinate-system.svg | 150px]]
Wer mehr dazu wissen will, sei auf die Octave-Dokumentation verwiesen. Insbesondere siehe
* dialog
* uicontrol
* uipanel
* uibuttongroup
* uitable
* uimenu
* uitoolbar
== Aufgaben ==
=== Aufgabe 1 ===
Erzeugen Sie ein Dialogfenster mit einem Texteingabefeld und einem Button. Beim Klicken auf den Button soll der Eingabetext auf der Konsole ausgegeben werden. Das Dialogfenster soll also in etwa so aussehen:
[[Bild:octave_dialog105.jpg]]
Da dies etwas komplizierter als das oben gezeigte Beispiel ist, werden nachfolgend ein paar Codefragmente zwecks Lösung angegeben:
Datei button_callback.m:
function button_callback(editHandle)
eingegText = get(editHandle, "String");
disp(eingegText);
end
Codefragement in test1.m:
% ...
edit = uicontrol(% ...
"Style", "edit", ...
%, ...
"HorizontalAlignment", "left");
btn = uicontrol(% ...
"Callback", @(src, event) button_callback(edit));
% ...
Aufruf mit:
octave test1.m
Eingabe von z.B. "Hallo Welt!":
[[Bild:octave_dialog106.jpg]]
Ausgabe auf der Konsole nach dem Drücken des Buttons:
Hallo Welt!
=== Aufgabe 2 ===
Erzeugen Sie ein Dialogfenster mit zwei Eingabefeldern und einem Button. Eingegeben in diese zwei Eingabefelder werden vom Benutzer Zahlen. Auf der Konsole ausgegeben werden soll, nach Drücken des Buttons, das Produkt dieser zwei Zahlen.
Auch hier werden wieder Codefragemente angegeben.
Datei button_callback.m:
function button_callback(edit1, edit2)
zahl1 = str2double(get(edit1, 'String'));
zahl2 = str2double(get(edit2, 'String'));
disp(zahl1 * zahl2);
end
Codefragment Datei test1.m:
% ...
btn = uicontrol("Parent", d, ...
% ...
"Callback", @(src, event) button_callback(edit1, edit2));
% ...
Was passiert, wenn der Benutzer keine Zahlen, sondern beliebige Strings eingibt?
= Fehlerhandling mit try/catch =
Die try/catch-Anweisung entspricht weitgehend jener, die aus höheren Programmiersprachen wie C++ oder Java bekannt sind. Aufgebaut ist diese Anweisungsfolge so:
try
BODY
catch
CLEANUP
end
Beispiel:
clear;
close all;
clc;
try
a = 10 / "zahl";
disp(a);
disp("Weiter im try-Block");
catch
disp("Catch: Kann nicht durch einen String dividieren");
end
Ausgabe:
Catch: Kann nicht durch einen String dividieren
Sinnvoll ist die try/catch-Folge, wenn z.B. auch in einem Fehlerfall Dateien wieder geschlossen werden sollen.
= Ein- und Ausgabe =
== Formatierte Ausgabe am Bildschirm, formatiertes Lesen von der Tastatur ==
Folgendes Beispiel ist der Octave-Hilfe (von Octave 3.0.3) entnommen:
pct = 37;
filename = "foo.txt";
printf ("Processed %d%% of `%s'.\nPlease be patient.\n", pct, filename);
Ausgabe:
Processed 37% of `foo.txt'.
Please be patient.
"printf" gibt einen formatierten String am Bildschirm (genauer in den Stream stdout) aus. Wie man sieht, orientiert sich das Format an der Programmiersprache C.
Für das formatierte Lesen vom Stream stdin (normalerweise also von der Tastatur) steht das Pendant "scanf" bereit.
== Von einem String lesen bzw. in einen String schreiben ==
Bezüglich der Funktionen
* sprintf
und
* sscanf
sei auf die Octave-Hilfefunktion verwiesen.
== Lesen und Schreiben von einer Datei ==
=== Datei schreiben ===
% Datei c:\tmp\datei.test zum Schreiben öffnen
datei = fopen ("c:/tmp/datei.test", "w");
% Etwas in die Datei schreiben
fprintf(datei, "Hallo, Welt!");
% Datei schließen
fclose(datei);
=== Datei lesen ===
% Datei c:\tmp\datei.test zum Lesen öffnen
datei = fopen ("c:/tmp/datei.test", "r");
% Etwas aus der Datei lesen
[string] = fscanf(datei, "%s");
disp(string);
% Datei schließen
fclose(datei);
Ausgabe:
Hallo,Welt!
=== Dateiende prüfen ===
Mittels des Befehls
feof(FID);
kann das Dateiende geprüft werden. Wenn die EOF-Bedingung zutrifft, dann wird 1 zurückgegeben, wenn nicht dann 0. Ein Beispiel folgt später als Lösung einer Aufgabe.
=== warning und error ===
Eine Warnung kann man am stderr-Stream ausgeben. Die warning-Funktion entspricht ansonsten der printf-Funktion. Nach Ausgabe der Warnung wird das Programm normal fortgesetzt.
m = [1 2
3 6];
if(det(m) == 0)
warning("Matrix ist singulaer");
end
disp("Weiter geht's");
Ausgabe:
warning: Matrix ist singulaer
warning: called from
test1 at line 5 column 3
Weiter geht's
Schärfer ist der error-Befehl. Die Fehlermeldung wird am stderr-Stream ausgegeben. Vom Format her entspricht diese Funktion dem printf-Befehl. Nach Ausgabe der Fehlermeldung wird das Programm beendet.
m = [1 2
3 6];
if(det(m) == 0)
error("Matrix ist singulaer");
end
disp("Weiter geht's");
Ausgabe:
error: Matrix ist singulaer
error: called from
test1 at line 5 column 3
== Aufgaben ==
* Schreiben Sie ein Programm, das die Zahlen 1 bis 10 zeilenweise in eine Datei ausgibt.
* Lesen Sie diese Zeilen wieder von der Datei ein und geben Sie sie am Bildschirm aus.
* Gegeben sei eine Datei. Lesen Sie die Daten aus dieser Datei ein und rechnen Sie per Octave-Programm den Gesamtpreis für alle Tiere aus. Die Anzahl der Zeilen und der genaue Dateinhalt sei Ihnen vorab nicht bekannt. Bekannt ist nur das Datenformat wie folgt:
Nr. Name Einzelpreis Stueck
1 Affe 15000.50 2
2 Loewe 11000.90 1
3 Nashorn 45000.10 1
4 Elefant 51245.90 3
5 Tiger 9000.70 2
6 Maus 34.90 12
Eine einfache Lösung ohne Schnickschnack (Fehlerüberprüfungen etc.) für dieses Beispiel könnte wie folgt aussehen:
clear;
close all;
clc;
datei = fopen ("c:/tmp/daten1.txt", "r");
gesamtpreis = 0;
% Kopfzeile einlesen
[nr, name, preis, stk] = fscanf(datei, "%s %s %s %s", "C");
while(feof(datei) == 0)
% Datensätze einlesen
[nr, name, preis, stk] = fscanf(datei, "%d %s %f %d", "C");
gesamtpreis += preis*stk;
end
fclose(datei);
disp("Gesamtpreis = ");
format long;
disp(gesamtpreis);
Ausgabe:
Gesamtpreis =
258159.900000000
= Datencontainer =
== Datenstrukturen ==
Pseudocode:
STRUKTUR s
ZAHL a
VEKTOR b
STRING c
END
Octave-Code:
s.a = 45.9;
s.b = [1 2 3 4 5];
s.c = "Hallo!";
s
Ausgabe:
s =
scalar structure containing the fields:
a = 45.90000000000000
b =
1 2 3 4 5
c = Hallo!
Um ein paar weitere Möglichkeiten zum Handling mit Datenstrukturen aufzuzeigen, sei folgender Code aufgeführt.
Datei addsub.m
function res = addsub(a, b)
res.x = a + b;
res.y = a - b;
end
Datei test1.m
clear;
clc;
addsub(10, 50)
r = addsub(30, 70)
r.x
r.y
++r.x
Ausgabe:
ans =
scalar structure containing the fields:
x = 60
y = -40
r =
scalar structure containing the fields:
x = 100
y = -40
ans = 100
ans = -40
ans = 101
Die Funktion "addsub" liefert die Struktur res mit zwei Zahlenwerten. Die Elemente der Datenstruktur können auch außerhalb der Funktion angesprochen werden. Auch gerechnet werden kann mit diesen Elementen.
== Cell Arrays ==
Manchmal kann es sinnvoll sein mehrere Variablen verschiedenen Typs und Größe in einer Variablen zu speichern. Dies funktioniert ähnlich wie bei Vektoren. Es werden aber geschweifte Klammern verwendet.
Eingabe:
c = {"Hallo Welt!", [2 2], 44}
c{1}
c{1:2}
Ausgabe:
c =
{
[1,1] = Hallo Welt!
[1,2] =
2 2
[1,3] = 44
}
ans = Hallo Welt!
ans = Hallo Welt!
ans =
2 2
Elemente des Cell Arrays können auch wieder mit Variablen anderen Typs überschrieben werden.
c = {"Hallo Welt!", [2 2], 44};
c{1} = 5;
c
Ausgabe:
c =
{
[1,1] = 5
[1,2] =
2 2
[1,3] = 44
}
= Objektorientierte Programmierung =
Octave unterstützt auch objektorientierte Programmierung mit dem Schlüsselwort <code>classdef</code> (ab Version 4.0). Dieses Thema ist aber etwas für fortgeschrittene Anwender und wird hier nicht behandelt. Wen es trotzdem interessiert, der sei auf die [https://docs.octave.org/latest/Object-Oriented-Programming.html Octave-Dokumentation] verwiesen.
= Octave GUI =
Das GUI-Programm ('''G'''raphical '''U'''ser '''I'''nterface) von Octave entspricht im Wesentlichen anderen Programmier-Benutzeroberflächen (IDEs ... '''I'''ntegrated '''D'''evelopment '''E'''nvironments), wie z.B. Eclipse (Java), Code::Blocks (C/C++) oder Spyder (Python). Nachfolgend ist ein Screenshot des Octave-GUI mit einigen Anmerkungen dargestellt.
[[Bild:octave_gui2.jpg|600px]]
Probieren Sie einfach die Möglichkeiten der zur Verfügung gestellten GUI/IDE aus.
= Komplexere Aufgaben =
* Berechnen Sie die Fläche, den Umfang, die Seitenlängen, den Inkreis und den Umkreis eines Dreiecks. Stellen Sie das Dreieck inklusive In- und Umkreis grafisch dar. Speichern Sie die Daten in einer Datei. Die drei Eckpunkte dieses Dreiecks sollen vom Benutzer beliebig vorgegeben werden.
* Die Werte einer beliebig großen quadratischen Matrix seien in einer Datei gespeichert. Lesen Sie diese Datei ein und berechnen Sie daraus die Determinante der Matrix, die inverse Matrix, die Eigenvektoren und -werte, die Spur. Führen Sie die LR-Zerlegung durch. Geben Sie diese Werte am Bildschirm aus.
= Ausblick =
Dies war eine kurze Einführung in die Berechnungs- und Darstellungsmöglichkeiten mit Octave. Es sollten etliche relevante Themen behandelt, oder zumindest kurz angesprochen worden sein. Wem dieser Text nicht ausreichend ist, der sei auf die entsprechende weiterführende Literatur, die Octave-Hilfefunktion und die Octave-Dokumentation verwiesen. Octave kennt noch viel mehr Befehle, als hier dargestellt wurden. Aber auch Octave selbst ist erweiterbar. Man siehe z.B. Octave Packages (https://gnu-octave.github.io/packages/) oder man schreibt selbst Erweiterungen.
{{Navigation_zurückhochvor_buch|
zurücktext=Maxima|
zurücklink=Ing Mathematik: Computeralgebrasysteme am Beispiel von Maxima|
hochtext=Gesamtinhaltsverzeichnis|
hochlink=Ing:_Mathematik_für_Ingenieure|
vortext=Julia für Ingenieure|
vorlink=Ing Mathematik: Julia}}
dyz03vahxee01bzfwswbrpr3ooc8beh
1091089
1091080
2026-09-19T14:37:19Z
Intruder
1513
/* Objektorientierte Programmierung */
1091089
wikitext
text/x-wiki
{{Navigation_zurückhochvor_buch|
zurücktext=Maxima|
zurücklink=Ing Mathematik: Computeralgebrasysteme am Beispiel von Maxima|
hochtext=Gesamtinhaltsverzeichnis|
hochlink=Ing:_Mathematik_für_Ingenieure|
vortext=Julia für Ingenieure|
vorlink=Ing Mathematik: Julia}}
= Hallo Welt und allgemeine Hinweise =
== Was ist Octave ==
* Octave ist eine Software zur numerischen Lösung mathematischer Probleme.
* Octave ist Open-Source (GPL-Lizenz).
* Octave ist für viele Betriebssysteme erhältlich (z.B. für Linux, MS Windows, macOS).
* Octave ist weitgehend kompatibel zum Numerik-Standardprogramm {{W|Matlab|MATLAB}}.
* Octave ist ein Interpreter.
* Octave als Programmiersprache ist case-sensitive - d.h. Groß- und Kleinschreibung ist relevant bei der Eingabe von Befehlen.
{{Wikipedia | GNU Octave}}
== Octave installieren ==
=== MS Windows ===
Laden Sie das aktuelle Octave-Paket von der Webseite [https://octave.org/download] herunter. Weiter geht es wie bei jedem anderen größeren zu installierenden Programm. Einfach das Installationsprogramm im Explorer doppelklicken und den Anweisungen des Setup-Programmes folgen.
=== Linux ===
Entweder ist Octave bereits standardmäßig installiert, ansonsten ist die Installation mittels Paketmanagementsystem einfach möglich. Dazu gehen Sie auf die Seite [https://wiki.octave.org/Category:Installation], wählen die vorhandene Linux-Variante und folgen der angegebenen Beschreibung (z.B. <code>zypper ... </code> für openSUSE. Oder Sie benutzen unter openSUSE Tumbleweed direkt das Setup-Programm {{W|YaST}}).
== Octave starten ==
=== MS Windows ===
Das Icon für das Octave-Programm doppelklicken (für das Konsolenprogramm ... CLI, für die grafische Benutzeroberfläche ... GUI). Und schon startet das Programm.
[[Datei:octavestart1.jpg]]
=== Linux ===
In einer Linux-Konsole den Befehl "octave" eintippen, mit der RETURN-Taste bestätigen, und das Programm (CLI) startet:
GNU Octave (x86_64-suse-linux-gnu) version 11.1.0
Copyright (C) 1993-2026 The Octave Project Developers.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>
This is free software; see the source code for copying conditions.
There is NO WARRANTY, to the extent permitted by law. For details, type 'warranty'.
Home page: <https://octave.org>
Support resources: <https://octave.org/support>
Improve Octave: <https://octave.org/get-involved>
For changes from previous versions, type 'news'.
octave:1>
Um Octave mit der eingebauten GUI zu starten, kann der Befehl <code>octave --force-gui</code> verwendet werden:
[[File:Gnu_Octave_IDE.png|600px]]
Alternativ kann, z.B. unter openSUSE Tumbleweed (mit {{W|KDE Plasma 6|KDE-Plasma}}), die Octave-IDE auch über den Application Launcher im Menü ''Education -> GNU Octave'' gestartet werden.
== Ein paar Worte zur Erklärung ==
Im Folgenden wird immer das Konsolenprogramm (CLI ... Command Line Interface) für die Eingabe von Befehlen benutzt. Erst gegen Ende dieses Textes wird auch kurz auf das GUI von Octave eingegangen.
Teilweise werden Ergebnisse der älteren Octave-Version 3.0.3 dargestellt. Die dargestellten Grafiken und Ausgabetexte können je nach Version leicht voneinander abweichen. Der Text wurde ursprünglich mit der Octave-Version 3.0.3 erstellt und anschließend auf die Versionen 5.2 bis 11.1.0 aktualisiert. Dieser Mischmasch sollte aber kein Problem darstellen.
Getestet wurden die Beispiele ursprünglich unter dem Betriebssystem MS Windows 10, später auch mit MS Windows 11, bzw. mit openSUSE Leap 15.6 (Octave 6.4.0, nur vereinzelt) und ab März 2026 auch mit openSUSE Tumbleweed (ab Octave 10.3.0, nur vereinzelt).
== Ein erstes Programm ==
Kommentare werden in Octave mit dem Prozentzeichen (%) oder alternativ mit der Raute (#) eingeleitet. Sie werden vom Octave-Interpreter ignoriert. Will man kompatibel mit MATLAB bleiben, so ist die Version mit dem %-Zeichen vorzuziehen. Text kann mit der disp-Funktion ausgegeben werden. Starten Sie Octave und geben sie folgende Anweisungen zeilenweise ein
octave-3.0.3.exe:1> % Das ist ein Kommentar
octave-3.0.3.exe:2> # und das auch
octave-3.0.3.exe:3> disp "Hallo Welt!"
Als Ergebnis erhalten Sie
Hallo Welt!
Der Prompt (z.B. octave-3.0.3.exe:1>) ist natürlich abhängig von der Octave-Version und den schon eingegebenen Zeilen. Er ist selbstverständlich nicht einzutippen, sondern wird vom Octave-System geliefert.
Strings können in Octave entweder in Anführungszeichen (") gesetzt werden oder in Hochkommatas('). In diesem Text wird die erste Variante bevorzugt eingesetzt.
= Octave als Taschenrechner =
== Allgemeines ==
Wir wollen 3 * 5 berechnen. Dazu starten wir Octave. Geben Sie dann die Formel
octave-3.0.3.exe:1> 3 * 5
ein, drücken die Taste ENTER/RETURN und erhalten als Ergebnis
ans = 15
Auch kompliziertere Ausdrücke sind möglich. Beispielsweise mit Winkelfunktionen, Quadratwurzeln etc. Wir wollen nun den Ausdruck <math>\sin\sqrt{15}</math> berechnen :
octave-3.0.3.exe:2> sin(sqrt(15))
ans = -0.6679
Octave kennt eine Handvoll von Konstanten, z.B.:
Zeilenweise Eingabe:
% Die Kreiszahl PI
pi
% Die Eulersche Zahl
e
% Zur Maschinengenauigkeit
eps
Ausgabe:
ans = 3.1416
ans = 2.7183
ans = 2.2204e-016
"ans" steht übrigens für den Begriff "answer" (auf Deutsch "Antwort"). Mit "ans" kann wie mit jeder anderen Variable oder Konstanten weitergerechnet werden, z.B.:
Eingabe:
% Der Kreisradius sei 10
10
% Der Kreis-Umfang mit diesem Radius sei folgendes
2 * pi * ans
Ausgabe:
ans = 10
ans = 62.832
Die Ausgabe eines Befehls am Bildschirm (das "Echo") kann übrigens durch Anwendung des Semikolons (;) unterdrückt werden. Gezeigt werden soll dies nun mit Hilfe des obigen Beispiels. Es soll nur der Umfang ausgegeben werden, nicht der Radius.
Eingabe:
% Der Kreisradius sei 10
10;
% Der Kreis-Umfang mit diesem Radius sei folgendes
2 * pi * ans
Ausgabe:
ans = 62.832
Vielleicht ist manchem die Genauigkeit, mit der Echo bzw. der Befehl disp Werte ausgibt, nicht ausreichend. Dem kann Abhilfe verschafft werden und zwar so:
Eingabe:
format short
pi
format long
pi
format longe
pi
% usw.
Ausgabe:
ans = 3.1416
ans = 3.14159265358979
ans = 3.14159265358979e+00
Beenden lässt sich das Octave-Programm durch Eingabe von quit oder exit (und natürlich zur Bestätigung die RETURN-Taste drücken).
== Die Hilfefunktion von Octave ==
Die Eingabe von help mit Angabe eines Funktionsnamens liefert detaillierte Infos zu der gesuchten Funktion.
Eingabe:
help sin
Ausgabe:
'sin' is a built-in function from the file libinterp/corefcn/mappers.cc
-- Y = sin (X)
Compute the sine for each element of X in radians.
See also: asin, sind, sinh.
Additional help for built-in functions and operators is
available in the online version of the manual. Use the command
'doc <topic>' to search the manual index.
Help and information about Octave is also available on the WWW
at https://www.octave.org and via the help@octave.org
mailing list.
Auch gibt es die doc-Funktion für eine vollständige Dokumentation des Octave-Systems, z.B.:
Eingabe:
doc
Ausgabe:
[[Datei:Octave_730_doc_screenshot.jpg]]
== Sonstige einfache Berechnungen ==
In octave gibt es eine "umgekehrte" Division:
11 / 2 % normale Division (Rechtsdivision)
11 \ 2 % umgekehrte Division (Linksdivision)
Ausgabe:
ans = 5.5000
ans = 0.1818
Potenzieren kann man so:
12^5
Ausgabe:
ans = 248832
Den Modulo-Operator % wie in C/C++, Java oder Python gibt es in Octave '''nicht'''. Das Prozentzeichen ist dem Kommentar vorbehalten. Man kann aber eine Funktion hierfür benutzen
y = mod(20, 3)
Ausgabe:
y = 2
Runden mit und auf Ganzzahlen kann man in Octave so:
a = int32(10);
b = int32(3);
x = a / b
y = int32(15) / int32(4)
Ausgabe:
x = 3
y = 4
Siehe dazu aber auch die Funktionen <code>floor</code>, <code>ceil</code> und <code>idivide</code>.
Mittels <code>int32()</code> werden Zahlen als 32-Bit-Ganzzahlen dargestellt. Standardmäßig ist der Datentyp nämlich <code>double</code>. Das ist zu beachten, es ergeben sich unterschiedliche Ergebnisse.
Beispiel:
clear();
a = int32(10);
b = int32(3);
x = a / b
c = 10;
d = 3;
y = c / d
whos()
Ausgabe:
x = 3
y = 3.3333
Variables visible from the current scope:
variables in scope: top scope
Attr Name Size Bytes Class
==== ==== ==== ===== =====
a 1x1 4 int32
b 1x1 4 int32
c 1x1 8 double
d 1x1 8 double
x 1x1 4 int32
y 1x1 8 double
Total is 6 elements using 36 bytes
Ist der Wertebereich von <code>int32</code> zu klein (4 Bytes, <math>-2^{31}</math> bis <math>2^{31} - 1</math>), so gibt es auch <code>int64</code> (8 Bytes, <math>-2^{63}</math> bis <math>2^{63} - 1</math>).
<code>clear</code> löscht Namen und gibt den Speicherplatz wieder frei. <code>whos()</code> liefert detaillierte Informationen der aktuell definierten Variablen.
== Aufgaben ==
* Berechnen Sie mit Octave den Ausdruck <math>\frac{1}{2}\cdot e^2 \cdot \tan(\pi/3)</math>.
* Berechnen Sie mit Octave den Ausdruck <math>2\; \text{cosd}(60) - 3\sin(\pi/5)</math>. Anmerkung: cosd erwartet den Parameter im Gradmaß (d für "degree"), sin erwartet den Parameter im Bogenmaß.
* Erkunden Sie die Fehlerfunktion "erf" mittels Octave-Hilfe.
* Welche Zahl ergibt sich durch <code>3 / 4 \ 2</code>?
* Welche Zahlen werden durch die folgenden Anweisungen ausgegeben?
idivide(int32(10), int32(3), "fix")
idivide(int32(10), int32(3), "round")
idivide(int32(10), int32(3), "floor")
idivide(int32(10), int32(3), "ceil")
floor(10.3)
ceil(10.3)
= Octave als Scriptsprache =
Häufig wird man aber kompliziertere Anweisungsfolgen verarbeiten müssen. Diese will man normalerweise nicht jedesmal neu eingeben, sondern in einer Datei speichern und diese Datei dann zur Ausführung bringen. Speichern Sie dazu folgenden Code in einer Textdatei, z.B. unter MS Windows als c:\tmp\test1.m
% Das ist ein Kommentar
# und das auch
disp "Hallo Welt!"
Skriptdateien müssen mit der Dateiendung .m versehen werden. In der Octave-Konsole fügen Sie den Dateipfad mittels
octave-3.0.3.exe:1> addpath("c:/tmp")
hinzu (es ist der UNIX-spezifische Slash (/) zu benutzen). Alternativ können Sie zumindest unter MS Windows auch einen Doppel-Backslash (\\) einsetzen. Oder Sie wechseln mittels <code>cd c:/tmp</code> direkt ins Verzeichnis <code>c:/tmp</code>.
Danach bringen Sie die Skriptdatei test1.m (sozusagen das Hauptprogramm) zur Ausführung
octave-3.0.3.exe:2> test1
Achtung: Die Datei (die Funktion oder das Hauptprogramm) ist in der Octave-Kommandozeile ohne .m-Dateiendung anzugeben. Wie erwartet ergibt sich folgende Ausgabe am Bildschirm
Hallo Welt!
Zumindest unter Linux können Sie z.B. auch komfortabel den {{W|Shebang|Shebang}} (<code>#!</code>) nutzen. Gegeben sei das Octave-Script
#!/usr/bin/octave
disp("Hallo Welt!");
Gepeichert sei es ebenfalls als <code>test1.m</code>. Starten Sie ein Terminal, wechseln Sie in das entsprechende Arbeitsverzeichnis und geben Sie
./test1.m
ein, so erhalten Sie wieder
Hallo Welt!
als Ausgabe auf dem Terminal. Die Zugriffsberechtigung muss natürlich mittels <code>chmod</code> richtig gesetzt werden. Oder Sie führen direkt Octave mit der Datei <code>test1.m</code> aus:
octave test1.m
Sie sehen, mehrere Wege führen zum Ziel.
== Blockkommentare ==
In neueren Octave-Versionen ab dem Jahr 2009 sind auch Blockkommentare möglich. Blockkommentare werden wie normale Kommentare vom Octave-Interpreter ignoriert.
%{
Das ist ein
Blockkommentar
%}
#{
und das auch
#}
== Variablen ==
Variablenbezeichner können aus Buchstaben (A-Za-z), Ziffern (0-9) und Underscores (_) bestehen, dürfen aber nicht mit einer Zahl beginnen.
Gültige Variablenbezeichner wären also:
xyz
x1
_wert
name_anzahl
Da Octave case-sensitiv ist, repräsentieren folgende Bezeichner verschiedene Variablen:
xyz
XYZ
xYz
Werte werden an Variablen mittels Gleich-Zeichen (=) zugewiesen. Im Folgenden wird der Code immer in der Datei c:\tmp\test1.m gespeichert.
x = 5
y = 10
z = x*y
Bringen Sie die Datei test1.m zur Ausführung, so erhalten Sie folgende Bildschirmausgabe
x = 5
y = 10
z = 50
Normalerweise will man aber nur z anzeigen, die Werte von x und y sind ja bereits bekannt. Dazu fügen Sie an den Anweisungsenden, wie bereits weiter oben erwähnt, bei x und y jeweils ein Semikolon (;) an, um das Anweisungsende explizit zu markieren.
x = 5;
y = 10;
z = x*y
Nun erhalten Sie als Ergebnis nur noch
z = 50
Sie können auch mehrere Anweisungen in einer Zeile durch Semikolon getrennt schreiben.
x = 5; y = 10; z = x*y
Ausgabe:
z = 50
Auch aus der Programmiersprache C/C++ oder Java bekannte Konstrukte können Sie verwenden, z.B.
x = 5;
% inkrementiere x
++x
% x = x - 2
x -= 2
Bildschirmausgabe:
ans = 6
x = 4
Beachten Sie, dass mit dem =-Zeichen eine Wertezuweisung durchgeführt wird. Dies ist nicht äquivalent zum mathematischen =-Zeichen, wie am vorigen Beispiel zu ersehen ist.
Soll eine Anweisung auf mehrere Zeilen verteilt werden, z.B. weil sie zu lang ist, so kann dies durch Verwendung von drei Punkten (...) geschehen, wie nachfolgend dargestellt.
x = 5;
y = 1000 * x + ...
sin(x/2)
Ausgabe:
y = 5000.6
Diese Drei-Punkte-Methode soll nicht für in Anführungszeichen (") eingeschlossene Strings verwendet werden. Diese Methode ist seit geraumer Zeit "deprecated" und funktioniert mit der Version 9.1.0 gar nicht mehr. Benutzen Sie statt dessen den Backslash (\):
txt = "xxxxxxxxxxxxxxxxxxxx\
yyyyyyyyyyyyyyyyy"
Ausgabe:
txt = xxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyy
Variablen sind nicht an einen bestimmten Datentyp gebunden, folgendes ist in Octave problemlos möglich:
wert = 10
wert = 35.5
wert = "Hallo"
wert = pi
Ausgabe:
wert = 10
wert = 35.500
wert = Hallo
wert = 3.1416
Der Befehl <code>who</code>, bzw. <code>whos</code> listet die gegenwärtig definierten Variablen, z.B.:
clear;
a = 10.5;
v = [1 2 3 4 5 12 13];
m = ["s1", "s2"; "s3", "s4"];
disp "***** Der Befehl who *****"
who
disp "***** Der Befehl whos *****"
whos
Ausgabe:
***** Der Befehl who *****
Variables visible from the current scope:
a m v
***** Der Befehl whos *****
Variables visible from the current scope:
variables in scope: top scope
Attr Name Size Bytes Class
==== ==== ==== ===== =====
a 1x1 8 double
m 2x4 8 char
v 1x7 56 double
Total is 16 elements using 72 bytes
==Hexadezimale und binäre Zahlen==
% Hexadezimale Zahl
disp( 0xABC )
% Binäre Zahl
disp( 0b1000011 )
Ausgabe (als Dezimalzahlen):
2748
67
Octave kann auch dezimale in binäre Zahlen etc. umwandeln:
dec2bin( 214 )
Ausgabe:
ans = 11010110
Siehe dazu in der Octave-Hilfe auch folgende Funktionen:
bin2dec, dec2base, dec2hex, hex2dec, base2dec
== Zahlenkolonnen ==
Eine Zahlenkolonne (oder ein Vektor) mit gleichen Abständen der Werte kann folgendermaßen erzeugt werden:
% a ... Startwert
% b ... Schrittweite
% c ... Endwert
a = 0;
b = 10;
c = 100;
x = a : b : c;
disp(x);
Ausgabe:
0 10 20 30 40 50 60 70 80 90 100
Ähnliche Resultate lassen sich auch durch Anwendung der linspace-Funktion erhalten, z.B.:
% a ... Startwert
% b ... Endwert
% c ... Anzahl der Werte
a = 0;
b = 100;
c = 11;
v = linspace(a, b, c)
Ausgabe:
v =
0 10 20 30 40 50 60 70 80 90 100
== Verzweigungen ==
=== Die IF-Verzweigung ===
Die IF-Verzweigung ist aus anderen Programmiersprachen bereits bekannt. In Pseudocode lässt sie sich folgendermaßen darstellen:
WENN bedingung TRUE
führe block1 aus
SONST
führe block2 aus
ENDE
Die test1.m-Datei laute also wie folgt:
x = 5;
if x < 4
disp "x ist kleiner als 4";
else
disp "Der else-Zweig wird ausgefuehrt";
disp "x ist groesser oder gleich 4";
end
Ausgabe:
Der else-Zweig wird ausgefuehrt
x ist groesser oder gleich 4
Octave kennt eine Reihe von Vergleichs- und Verknüpfungsoperatoren:
* <, <= ... kleiner (gleich)
* >, >= ... größer (gleich)
* == ... gleich
* ~=, != ... ungleich
* &, && ... AND
* |, || ... OR
* ~, ! ... NOT
Beispielsweise:
a = 5;
b = 9;
if a<=10 & b!=7
disp("OK");
else
disp("Nicht OK");
end
Ausgabe:
OK
=== Die SWITCH-Verzweigung ===
In Pseudocode:
WECHSLE ZU var
FALLS wert1 == var
führe block1 aus
FALLS wert2 == var
führe block2 aus
...
SONST
führe blockn aus
ENDE
Eine Beispielsimplementierung in Octave könnte so aussehen:
x = "g";
switch(x)
case "k"
disp("klein");
case "g"
disp("gross");
otherwise
disp("sonstiges")
end
Ausgabe:
gross
Anmerkungen für C-Programmierer:
* in Octave darf zum Abschluß von ''case'' kein Doppelpunkt folgen (würde einen Syntaxfehler auslösen).
* ein ''break'' als Abschluß eines ''case''-Blocks ist nicht erlaubt (würde in Octave einen parse error auslösen). ''break'' ist Schleifen vorbehalten. ''switch'' hat in Octave keinen "Durchfall" und ähnelt somit eher der Fortran-Anweisung ''select case''.
Mehrere Fälle in einem ''case'' können wie nachfolgend behandelt werden:
x = "K";
switch(x)
case {"k" "K"}
disp("klein");
case {"g" "G"}
disp("gross");
otherwise
disp("sonstiges")
end
Ausgabe:
klein
== Schleifen ==
=== Die WHILE-Schleife ===
Die WHILE-Schleife ist kopfgesteuert. Sie funktioniert wie aus anderen Programmiersprachen bekannt.
In Pseudocode:
SOLANGE bedingung TRUE
führe block aus
ENDE
In Octave:
x = 0;
while x <= 10
disp(x);
x++;
end
Ausgabe:
0
1
2
3
4
5
6
7
8
9
10
=== Die DO-UNTIL-Schleife ===
Die DO-UNTIL-Schleife ist fußgesteuert. Beachte: Diese Schleife ist nicht äquivalent zu der aus anderen Programmiersprachen bekannten DO-WHILE-Schleife. DO-WHILE bedeutet "TUE SOLANGE", DO-UNTIL bedeutet "TUE BIS". Sie wird mindestens einmal ausgeführt.
Pseudocode:
TUE
führe block aus
BIS bedingung TRUE
Mittels Octave:
x = 0;
do
disp(x);
x++;
until(x >= 5)
Ausgabe:
0
1
2
3
4
=== Die FOR-Schleife ===
for x = 0 : 2 : 10
disp(x);
end
Ausgabe:
0
2
4
6
8
10
Der FOR-Schleifenkopf ist in Form einer Zahlenkolonne folgendermaßen aufgebaut:
for variable = startwert : schrittweite : endwert
Man beachte, dass Vektorisierung gegenüber einem Schleifendurchlauf eine erhebliche Zeiteinsparung bewirken kann (man siehe in der [https://docs.octave.org/latest/Vectorization-and-Faster-Code-Execution.html Octave-Dokumentation das Kapitel 19 "Vectorization and Faster Code Execution"]). Folgendes Beispiel ist an genanntes Octave-Kapitel angelehnt. Zuerst wird eine Berechnung mittels Schleifendurchlauf durchgeführt und der Zeitbedarf ausgegeben. Dieser Zeitbedarf hängt natürlich auch von der verwendeten Hardware etc. ab.
Eingabe:
n = m = 500;
a = b = eye(500);
t1 = time();
for i = 1:n
for j = 1:m
c(i,j) = a(i,j) + b(i,j);
endfor
endfor
t2 = time();
t_diff = t2-t1
Ausgabe:
t_diff = 3.7566
Der Zeitverbrauch beträgt hier also ca. 4 Sekunden. Im Gegensatz dazu
Eingabe:
a = b = eye(500);
t1 = time();
c = a + b;
t2 = time();
t_diff = t2-t1
Ausgabe:
t_diff = 1.5974e-05
ist der Zeitverbrauch hier sehr gering. Vektoren und Matrizen werden etwas später in diesem Text detailliert behandelt. Hier nur soviel: Mittels ''eye'' wird eine Einheitsmatrix kreiert.
=== Schleifen abbrechen ===
Zum Abbrechen einer Schleife gibt es den Befehl "break".
for var = 0 : 1 : 100
disp (var);
if var == 5
break;
end
end
Ausgabe:
0
1
2
3
4
5
"continue" setzt mit dem nächsten Schleifendurchlauf fort, z.B.
for var = 0 : 1 : 10
if var == 5
continue;
end
disp (var);
end
Ausgabe:
0
1
2
3
4
6
7
8
9
10
== Aufgaben ==
* Berechnen Sie die Summe der ersten 10000 natürlichen Zahlen (bei 1 beginnend)
** in Form einer WHILE-Schleife
** in Form einer DO-UNTIL-Schleife
** in Form einer FOR-Schleife
** mittels sum-Befehl (siehe dazu auch die von Octave zur Verfügung gestellte Hilfefunktion).
** mittels gaußscher Summenformel (<math>\sum_{i=1}^n{i} = 1+2+...+n = n(n+1) / 2</math>)
* Schreiben Sie für obige Alternativen Programme mit denen der Zeitbedarf der Schleifen, Befehle bzw. Formeln gemessen werden kann. Welche Alternativen sind aus Zeitgründen (minimale Laufzeit) empfehlenswert?
= Grafiken zeichnen =
== 2D ==
=== Graph einer Funktion ===
Es soll die cosh-Funktion im Intervall <math>x\in[-3,3]</math> gezeichnet werden. Der Programmcode lautet in der einfachsten Form:
x = -3 : .1: 3;
y = cosh(x);
plot(x,y);
grid on;
Ausgabe:
[[Datei:octave_cosh.jpg]]
Der Code ist quasi selbsterklärend. x läuft von -3 bis +3. y wird für jeden x-Wert per Formel ausgerechnet. "plot" ist der Zeichenbefehl. "grid on" schaltet ein Zeichengitter ein.
Die Schrittweite 0.1 wurde so gewählt, um einen ausreichend glatten Verlauf des Graphen zu gewährleisten. Das ist immer ein Kompromiss zwischen Berechnungszeit und Ansehnlichkeit. Testen Sie einfach ein paar verschiedene Werte, um ein Gefühl dafür zu zu bekommen.
Sie könnten nun auf die Idee kommen, obiges Script unter Linux mit der Shebang-Zeile zu erweitern, um es direkt als Programm auszuführen.
#!/usr/bin/octave
x = -3 : .1: 3;
y = cosh(x);
plot(x,y);
grid on;
Die Enttäuschung folgt auf dem Fuß. Außer einem kurzen Aufblinken des Grafikfensters ist nicht viel zu sehen. Das Programm läuft einfach durch und wird nach der letzten Anweisung beendet. Abhilfe kann z.B. der <code>input</code>-Befehl schaffen:
#!/usr/bin/octave
x = -3 : .1: 3;
y = cosh(x);
plot(x,y);
grid on;
refresh();
input("Zum Beenden RETURN-Taste drücken");
Das Programm wartet somit, bis Sie im Terminal die RETURN-Taste drücken. <code>refresh()</code> dient dazu, das Grafikfenster unmittelbar zu aktualisieren. Sonst würde das Ausgabefenster leer bleiben, bis es durch externe Anreize aktualisiert wird (z.B. durch Fenster minimieren/maximieren). Gleiches gilt für die <code>octave test1.m</code>-Variante.
Ein etwas komplexeres Beispiel ist Folgendes
x = -3 : .1: 3;
y = cosh(x) + 2.^x;
plot(x,y);
grid on;
Man beachte den Punkt bei 2.^x (2 hoch x). Vergisst man den Punkt, dann erhält man eine Fehlermeldung (ähnlich dieser):
error: for x^y, only square matrix arguments are permitted and one argument must be scalar. Use .^ for elementwise power.
error: called from
test1 at line 2 column 3
Ausgabe:
[[Datei:octave_cosh2.jpg]]
Der Funktionsgraph kann auch als Fläche eingefärbt werden:
x = -3 : .1: 3;
y = cosh(x) + 2.^x;
fill (x, y, "b");
Ausgabe:
[[Datei:octave_cosh3.jpg | 500px]]
=== Graphen mehrerer Funktionen und weiteres ===
Mehrere Graphen lassen sich folgendermaßen in ein Fenster zeichnen:
x = -3 : .1: 3;
y1 = cosh(x) + 2.^x;
y2 = sin(x) .* cos(x);
plot(x,y1, x,y2);
title("Funktionsgraphen");
legend("cosh ...", "sin ...");
xlabel("x");
ylabel("y");
grid on;
[[Bild:octave_cosh14.jpg|600px]]
Um die Linienstile etwas individueller zu gestalten, ist folgender Programmcode gedacht:
x = -3 : .1: 3;
y1 = cosh(x) + 2.^x;
y2 = sin(x) .* cos(x);
plot(x,y1,"*r", x,y2,"ob");
title("Funktionsgraphen");
legend("cosh ...", "sin ...");
xlabel("x");
ylabel("y");
grid on;
[[Datei:octave_cosh4.jpg]]
Bei plot kann auch der Linienstil des jeweiligen Graphen angegeben werden, z.B. steht
* für Sternchenlinie
o für Kreise in der Linie
r für rot
b für blau
Ein ähnliches Resultat liefert der Code:
x = -3 : .1: 3;
y1 = cosh(x) + 2.^x;
y2 = sin(x) .* cos(x);
plot(x,y1, "Color", "red", "*", x,y2, "Color", "blue", "o");
title("Funktionsgraphen");
legend("cosh ...", "sin ...");
xlabel("x");
ylabel("y");
grid on;
Will man mehrere Graphen in ein Fenster zeichnen, aber nicht alles in einen plot-Befehl quetschen, so kann die "hold on"-Anweisung die Lösung des Problems sein:
%Lösche alle benutzerdefinierten Variablen aus der Symboltabelle
clear;
%Schließe alle Fenster
close all;
%Lösche Konsolenfenster und setze Cursor zurück
clc;
x = -3 : .1: 3;
y1 = cosh(x) + 2.^x;
y2 = sin(x) .* cos(x);
plot(x,y1, "Color", "red");
hold on;
plot(x,y2, "Color", "blue");
title("Funktionsgraphen");
legend("cosh ...", "sin ...");
xlabel("x");
ylabel("y");
grid on;
[[Datei:octave_coshsin1.jpg]]
Bei diesem Program wurden auch einige Möglichkeiten (clear, close, clc) gezeigt, um das System aufzuräumen. Ein "hold off" würde natürlich die hold-Funktion wieder ausschalten.
=== Funktion in Parameterdarstellung ===
Es soll die archimedische Spirale <math>x = t \cos(t), y = t \sin(t)</math> im Intervall <math>[0, 6\pi]</math> gezeichnet werden.
clear;
close all;
clc;
t = 0 : .1: 6*pi;
x = t .* cos(t);
y = t .* sin(t);
plot(x,y);
grid on;
[[Datei:octave_spirale1.jpg]]
Diese Darstellung erscheint verzerrt. Will man gleiche Achsenskalierungen, so kann man den axis-Befehl verwenden (axis muss nach plot erscheinen).
t = 0 : .1: 6*pi;
x = t .* cos(t);
y = t .* sin(t);
plot(x,y);
grid on;
axis equal;
[[Datei:octave_spirale222.jpg]]
=== Strichstärke ===
Für manche Zwecke ist es sinnvoll die Strichstärke des Graphen zu erhöhen. Dies kann über den Parameter "LineWidth" der plot-Funktion geschehen.
t = 0 : .1: 6*pi;
x = t .* cos(t);
y = t .* sin(t);
plot(x,y, "LineWidth", 2);
grid on;
axis equal;
Ausgabe:
[[Datei:octave_spirale3.jpg]]
=== Beliebigen Text ausgeben ===
x = -10:0.1:10;
plot (x, sin (x), "LineWidth", 2);
text (2.7, 0.8, "Das ist die sin-Funktion");
Ausgabe:
[[Datei:octave_text1.jpg]]
=== Logarithmische Achseneinteilung ===
x = -3 : .1: 3;
y = cosh(x) + 2.^x;
% Halblogarithmische Darstellung
semilogy(x,y);
grid on;
Ausgabe:
[[Datei:octave_semilog1.jpg]]
Auch die x-Achse kann mit "semilogx" logarithmisch skaliert werden. Mit "loglog" werden beide Achsen logarithmisch skaliert.
=== Aufgaben ===
* Zeichnen Sie die Strophoide <math>x = \frac{a(t^2-1)}{t^2+1}, y = \frac{at(t^2-1)}{t^2+1}, a = 2, -3 \leq t \leq 3</math>. Das Ganze sollte in etwa so aussehen wie folgende Grafik:
[[Datei:octave_strophoide.jpg]]
* Zeichnen Sie die verschlungene Hypozykloide <math>x = (R-r)\cos t + c\cos\frac{R-r}{r}t, y = (R-r)\sin t - c\sin\frac{R-r}{r}t, c = 3, r = 2, R = 6, -15 \leq t \leq 15</math>. Das Ganze sollte in etwa so aussehen wie folgende Grafik:
[[Datei:octave_hypozykloide.jpg]]
* Testen Sie bei den obigen Übungsaufgaben verschiedene Linienstile und Farben (Hinweis: Siehe dazu auch die Octave-Hilfefunktion für den plot-Befehl).
* Testen Sie bei den obigen Übungsaufgaben verschiedene Werte für a, c, r und R.
* Erkunden Sie in der Octave-Hilfe den ezplot-Befehl.
== 3D ==
=== Räumliche Kurven ===
Mittels "plot3" lassen sich Raumkurven zeichnen.
t = 0 : .1 : 9*pi;
x = cos(t);
y = sin(t);
z = 1.3 .^ t;
plot3(x,y,z);
grid on;
[[Datei:octave_raumkurve1.jpg]]
=== Flächen ===
==== ezsurf ====
Die wahrscheinlich einfachste Möglichkeit 3D-Flächen zu erzeugen, besteht in der Verwendung des ezsurf-Befehls. Beachten Sie beim folgenden Beispiel auch wieder den Punkt beim Multiplikationssymbol (elementweise Multiplikation soll verwendet werden, keine Matrizenmultiplikation) in der anonymen Funktion. Was eine anonyme Funktion ist, wird weiter hinten in diesem Text kurz erklärt. Fürs Erste reicht es zu wissen, dass die Funktion f(x, y) jeweils im Intervall [0, 10] gezeichnet werden soll.
clear; close all; clc; clf;
f = @(x, y) sin(x) + 3.*cos(y);
ezsurf (f, [0, 10]);
[[Bild:octave_ezsurf1.jpg|600px]]
Dieses Bild wurde mit der Octave-Version 5.2 erstellt. Es ist im Prinzip identisch zu jenen des folgenden Abschnitts, die mit der Version 3.0.3 erstellt wurden, nur die Farbschattierung ist anders. Ändern lässt sich diese Eigenschaft mit dem colormap-Befehl (siehe auch Octave-Hilfe):
clear; close all; clc; clf;
colormap(hot);
f = @(x, y) sin(x) + 3.*cos(y);
ezsurf (f, [0, 10]);
[[Bild:octave_colormap_hot.jpg|600px]]
==== surf und mesh ====
Für das Zeichnen von Flächen existiert der surf-Befehl. Der meshgrid-Befehl kreiert ein Netz in der xy-Zeichenebene. Beachten Sie beim folgenden Beispiel auch wieder den Punkt beim Multiplikationssymbol der Formel für z.
x = 0 : .1 : 10;
y = 0 : .1 : 10;
[x_grid, y_grid] = meshgrid(x, y);
z = sin(x_grid) + 3.*cos(y_grid);
surf(x_grid, y_grid, z);
[[Datei:octave_flaeche1.jpg]]
Auch ein Farbstreifen kann via "colorbar" zur Grafik hinzugefügt werden.
x = 0 : .1 : 10;
y = 0 : .1 : 10;
[x_grid, y_grid] = meshgrid(x, y);
z = sin(x_grid) + 3.*cos(y_grid);
surf(x_grid, y_grid, z);
colorbar("East");
[[Datei:octave_flaeche2.jpg]]
Das Ganze in Netzdarstellung läßt sich so programmieren:
x = 0 : .2 : 10;
y = 0 : .2 : 10;
[x_grid, y_grid] = meshgrid(x, y);
z = sin(x_grid) + 3.*cos(y_grid);
mesh(x_grid, y_grid, z);
Ausgabe:
[[Datei:octave_mesh1.jpg]]
==== Ellipsoide und Kegel ====
Für das Zeichnen von Kugeln oder Ellipsoiden stellt Octave den "sphere"-Befehl bzw. den "ellipsoid"-Befehl zur Verfügung.
clear; close all; clc;
% Ellipsoiden zeichnen
[x, y, z] = sphere(30);
surf(5*x, 4*y, 3*z);
hold on;
[x, y, z] = ellipsoid(5, 5, 5, 6, 3, 2, 30);
surf(x, y, z);
axis equal;
[[Bild:octave_ellipsoid2.jpg|600px]]
Für Zylinder und Kegel ist der "cylinder"-Befehl zuständig.
clear; close all; clc;
% Kegel und Zylinder zeichnen
[x, y, z] = cylinder([1 2], 100);
surf(x, y, z*3);
hold on;
[x, y, z] = cylinder([0.5 0.5], 50);
surf(x+3, y, z*2);
axis equal;
[[Bild:octave_cylinder2.jpg|600px]]
=== Aufgaben ===
* Zeichnen Sie die räumliche Kurve <math>x = 2 \cdot \cosh(t)</math>, <math>y = 5 \cdot \sin(t)</math>, <math> z = t^{2} - t</math>, <math>0 \leq t \leq 3\pi</math>. Das Ganze sollte etwa wie folgt aussehen:
[[Datei:octave_kurve10.jpg]]
* Zeichnen Sie die Fläche <math>z = \log(x) + \cos(y)</math>. Das Ganze sollte etwa wie folgt aussehen:
[[Datei:octave_flaeche10.jpg]]
== Weiteres ==
=== subplot ===
Zeichnen mit Untergrafiken: Hier wird z.B. ein Fenster mit drei Untergrafiken gezeichnet.
Eingabe:
t = 0 : .5 : 10;
[x_grid, y_grid] = meshgrid(t, t);
subplot(311);
surf(x_grid, y_grid, sin(x_grid) + cos(y_grid) );
subplot(312);
surf(x_grid, y_grid, sin(x_grid) + log(y_grid) );
subplot(313);
surf(x_grid, y_grid, x_grid + cos(y_grid) );
Ausgabe:
[[Datei:octave_subplot2.jpg]]
Die dreistellige Ziffer beim subplot-Befehl bedeutet folgendes:
* Die erste Ziffer ist die Zeilenanzahl
* Die zweite Ziffer ist die Reihenanzahl und
* Die dritte Ziffer ist der Index.
Nun sei ein Beispiel mit 3x2-Untergrafiken angeführt.
clear;
close all;
clc;
x = 0 : .1 : 10;
subplot(321);
plot(x, sin(x));
text(2, -0.5, "Index 1");
subplot(322);
plot(x, tan(x));
text(2, 2, "Index 2");
subplot(323);
plot(x, cosh(x) );
text(2, 3000, "Index 3");
subplot(324);
plot(x, gamma(x) )
text(2, 100000, "Index 4");
subplot(325);
plot(x, log(x) );
text(2, 0, "Index 5");
subplot(326);
plot(x, exp(x) );
text(2, 10000, "Index 6");
Ausgabe:
[[Datei:octave_subplot3.jpg]]
Hier ist sehr gut zu sehen, in welcher Reihenfolge der Index läuft.
=== figure ===
Zeichnen in verschiedene Fenster, z.B.
clear;
close all;
clc;
x = 0 : .1 : 10;
y = 0 : .1 : 10;
[x_grid, y_grid] = meshgrid(x, y);
figure(1)
surf(x_grid, y_grid, sin(x_grid) + cos(y_grid));
figure(2)
surf(x_grid, y_grid, sin(x_grid) + log(y_grid));
Ausgabe:
[[Datei:octave_figure111.jpg|700px]]
=== Linien zeichnen ===
Zeichnen Sie eine Linie von der Koordinate [-15, 0] zu [15, 5]:
clear;
close all;
clc;
x = line([-15 15], [0, 5], "Color", "black", "LineWidth", 2);
Ausgabe:
[[Datei:octave_linie1.jpg]]
Man beachte, dass Octave nicht Punkte P1(x1, y1), P2(x2, y2) erwartet, sondern einen x-Vektor [x1 x2] und einen y-Vektor [y1 y2].
Ein allgemeines Viereck wird z.B. mit folgendem Befehl gezeichnet.
line([-15 15 10 -5, -15], [0, 5, 20, 15, 0], "LineWidth", 2);
[[Datei:octave_viereck2.jpg]]
Auch dreidimensionale Formen lassen sich mit dem line-Befehl zeichnen:
clear; close all; clc;
line([-15 15 10 -5, -15], [0, 5, 20, 15, 0], [10, 20, 30, 40, 50], "LineWidth", 2);
[[Datei:octave_dreidim2.jpg]]
=== Aufgaben ===
* Zeichnen Sie mittels "subplot" die Funktionsgrafen <math>y_1=\tan(x), y_2=\tan(2x), y_3=\tan\sqrt x, y_4=x\cdot \tan(x)</math> in folgender Form in ein Fenster:
** in 2x2-Darstellung
** in 1x4-Darstellung.
* Zeichnen Sie die im obigen Beispiel angegebenen Funktionsgrafen mittels "figure" jeweils in ein eigenes Fenster.
= Vektoren und Matrizen =
== Vektoren ==
Vektoren sollten jedem aus der Linearen Algebra bekannt sein.
=== Zeilen- und Spaltenvektoren ===
% Ein Zeilenvektor
v1 = [1, 2, 3]
% Ein Spaltenvektor
v2 = [6; 7; 8]
Ausgabe:
v1 =
1 2 3
v2 =
6
7
8
Alternative Schreibweisen:
% Ein Zeilenvektor
v1 = [1 2 3]
% Ein Spaltenvektor
v2 = [6
7
8]
Die Ausgabe entspricht der obigen Darstellung.
=== Zugriff auf Vektorelemente ===
Nachfolgend seien einige Zugriffsmöglichkeiten auf die einzelnen Vektorelemente erläutert.
Auf ein einzelnes Element kann via Index zugegriffen werden. Der Index startet bei 1:
v1 = [1 2 4 8 16];
v2 = v1(3)
Ausgabe:
v2 = 4
Mehrere Elemente werden folgendermaßen angesprochen:
v1 = [1 2 4 8 16];
v2 = v1(3:4)
Ausgabe:
v2 =
4 8
Liefere den Teilvektor von einem gegebenen Index bis zum letzten Element:
v1 = [1 2 4 8 16];
v2 = v1(3:end)
Ausgabe:
v2 =
4 8 16
=== Addition und Subtraktion von Vektoren ===
v1 = [1, 2, 3];
v2 = [5, 7, 9];
res = v1 + v2
res = v1 - v2
Ausgabe:
res =
6 9 12
res =
-4 -5 -6
=== Multiplikation mit Skalaren ===
faktor = 3;
v = [1, 2, 3];
res = faktor * v
Ausgabe:
res =
3 6 9
=== Skalarprodukt ===
Das Skalarprodukt ist bekanntermaßen als <math>v_1 \cdot v_2 = |v_1| |v_2| \cos(\angle(v_1, v_2))</math> definiert. In Octave sieht das so aus:
v1 = [1, 2, 3];
v2 = [5, 6, 7];
res = dot(v1, v2)
Ausgabe:
res = 38
=== Vektorprodukt ===
v1 = [1, 2, 3];
v2 = [5, 6, 7];
res = cross(v1, v2)
Ausgabe:
res =
-4 8 -4
Enger an die mathematische Darstellung lehnt sich folgender Code an. Die zu multiplizierenden Vektoren seien in Form von Spaltenvektoren gegeben.
Mathematisch:
<math>a\ast b=\left(\begin{array}{c}
a_{1}\\
a_{2}\\
a_{3}
\end{array}\right)\ast\left(\begin{array}{c}
b_{1}\\
b_{2}\\
b_{3}
\end{array}\right)=\left(\begin{array}{c}
a_{2}b_{3}-a_{3}b_{2}\\
a_{3}b_{1}-a_{1}b_{3}\\
a_{1}b_{2}-a_{2}b_{1}
\end{array}\right)
</math>
Octave-Code:
a = [1
2
3];
b = [5
6
7];
res = cross(a, b)
Ausgabe:
res =
-4
8
-4
=== Transponierter Vektor ===
v1 = [1, 2, 3];
v2 = [5; 6; 7];
res1 = v1'
res2 = v2'
Ausgabe:
res1 =
1
2
3
res2 =
5 6 7
=== Einige weitere Vektorfunktionen ===
Beispiel:
% 1 + 2 + 3
v = [1 2 3];
sum(v)
Ausgabe:
ans = 6
Beispiel:
% 1 * 2 * 3 * 4
v = [1 2 3 4];
prod(v)
Ausgabe:
ans = 24
Beispiel:
% 1^2 + 2^2 + 3^2
v = [1 2 3];
sumsq (v)
Ausgabe:
ans = 14
== Matrizen ==
Gegeben sei folgende 2x3-Matrix <math>m=\left(\begin{array}{ccc}
1 & 2 & 3\\
4 & 5 & 6
\end{array}\right)</math>.
Eingabe:
m = [1, 2, 3; 4, 5, 6]
Ausgabe:
m =
1 2 3
4 5 6
Alternativ und anschaulicher kann diese 2x3-Matrix auch so eingegeben werden:
m = [1 2 3
4 5 6]
Dies ist schon sehr nahe an der mathematischen Darstellungsweise.
=== Zugriff auf Matrizenelemente ===
m = [1 2 3
4 5 6];
% Element aus Zeile 2 und Spalte 3
m(2,3)
Ausgabe:
ans = 6
Eine andere Zugriffsmöglichkeit ist diese:
m = [1 2 3
4 5 6];
% Auf das fünfte Element soll zugegriffen werden
m(5)
Ausgabe:
ans = 3
Die Matrix wird also spaltenweise durchlaufen (nicht zeilenweise). Dies ist vielleicht auf den ersten Blick etwas ungewöhnlich, wird aber z.B. auch in Fortran so gehandhabt.
Auch Teilmatrizen können einfach gebildet werden:
m = [1 2 3
4 5 6];
m(2:end, 2:end)
Ausgabe:
ans =
5 6
Siehe zu diesem Thema auch etwas weiter hinten in diesem Text den Abschnitt "Teilmatrizen".
=== Addition und Subtraktion von Matrizen ===
m1 = [1, 2, 3; 4, 5, 6];
m2 = [-4, -2, 0; 2, 4, 6];
m1 + m2
m1 - m2
Ausgabe:
ans =
-3 0 3
6 9 12
ans =
5 4 3
2 1 0
=== Transponierte Matrix ===
m = [1, 2, 3; 4, 5, 6];
m'
Ausgabe:
ans =
1 4
2 5
3 6
=== Rang einer Matrix ===
Der Rang einer Matrix Rg(M) ist die maximale Anzahl der linear unabhängigen Zeilenvektoren (Spaltenvektoren).
m1 = [1, 2, 3; 4, 5, 6];
m2 = [1, 2; 2, 4];
rank(m1)
rank(m2)
Ausgabe:
ans = 2
ans = 1
Regulär ist eine nxn-Matrix, wenn der Rg(M) = n. D.h. die erste Matrix m1 ist regulär, die zweite m2 singulär.
=== Inverse Matrix ===
m1 = [1, 3; 0, -5 ];
m2 = [1, 2; 2, 4];
inv(m1)
inv(m2)
Ausgabe:
ans =
1.00000 0.60000
0.00000 -0.20000
warning: matrix singular to machine precision
warning: called from
test1 at line 4 column 1
ans =
Inf Inf
Inf Inf
Die Matrix m2 in diesem Beispiel ist singulär (d.h. die Determinante ist 0). Determinanten werden etwas weiter unten in diesem Text behandelt. Inf steht für Infinity (= Unendlich).
=== Multiplikation von Matrizen (falksches Schema) ===
m1 = [1, 3, 4; 0, -5, 1];
m2 = [1, 2; 2, 3; 0, 2];
m1 * m2
Ausgabe:
ans =
7 19
-10 -13
Will man aus irgendwelchen Gründen nicht das falksche Schema ausführen, sondern elementweise Multiplikation, so funktioniert das mit dem Punkt-Operator, z.B.
m1 = [1, 3; 0, -5];
m2 = [1, 2; 4, 2];
% falksches Schema
m1 * m2
% elementweise Multiplikation
m1 .* m2
Ausgabe:
ans =
13 8
-20 -10
ans =
1 6
0 -10
Verifikation, falksches Schema (Zeile*Spalte):
[ 1 3 ] [ 1 2 ] [ 1*1+3*4 1*2+3*2 ] [ 13 8 ]
[ 0 -5 ] [ 4 2 ] = [ 0*1-4*5 0*2-5*2 ] = [ -20 -10 ]
Verifikation, elementweise Multiplikation (homologe Elemente):
[ 1 3 ] [ 1 2 ] [ 1*1 3*2 ] [ 1 6 ]
[ 0 -5 ] [ 4 2 ] = [ 0*4 -5*2 ] = [ 0 -10 ]
=== Determinante einer Matrix ===
m1 = [1, 3; 0, -5 ];
m2 = [1, 2; 2, 4];
det(m1)
det(m2)
Ausgabe:
ans = -5
ans = 0
m1 ist regulär, m2 ist singulär. Determinanten können nur von quadratischen Matrizen gebildet werden.
=== Teilmatrizen ===
m = [1, 2, 3; 0, 5, 1];
% Die Matrix in einen Spaltenvektor umwandeln
m1 = m(:)
% Das Element aus der 1. Zeile und der 2. Spalte extrahieren
m2 = m(1,2)
% Erste Zeile extrahieren
m3 = m(1, 1:3)
m4 = m(1, :)
% Zweite Spalte extrahieren
m5 = m(1:2, 2)
m6 = m(:, 2)
Ausgabe:
m1 =
1
0
2
5
3
1
m2 = 2
m3 =
1 2 3
m4 =
1 2 3
m5 =
2
5
m6 =
2
5
=== Einheitsmatrizen ===
eye(3,2)
Ausgabe:
ans =
1 0
0 1
0 0
=== Nullmatrizen ===
zeros(2,3)
Ausgabe:
ans =
0 0 0
0 0 0
=== Diagonalmatrizen ===
diag([1, 2, 3])
Ausgabe:
ans =
1 0 0
0 2 0
0 0 3
=== Spur einer Matrix ===
trace([1,2,3; 6,9, 0])
Ausgabe:
ans = 10
=== LR-Zerlegung einer Matrix ===
Führen Sie die LR-Faktorisierung (LR ... links/rechts bzw. LU ... left/upper) einer Matrix m aus. l sei die linke Dreiecksmatrix, r die rechte Dreiecksmatrix und p die Permutationsmatrix
m = [1 0 5
-1 1 -2
0 0 3];
[l, r, p] = lu(m)
Ausgabe:
l =
1 0 0
-1 1 0
0 0 1
r =
1 0 5
0 1 3
0 0 3
p =
1 0 0
0 1 0
0 0 1
=== Eigenwerte ===
a = [5 8
1 3];
% Eigenvektoren und Eigenwerte
[ev, ew] = eig(a)
Ausgabe:
ev =
0.9701 -0.8944
0.2425 0.4472
ew =
Diagonal Matrix
7 0
0 1
Die Eigenwerte sind hier <math>\lambda_1 = 7</math> und <math>\lambda_2 = 1</math>. Die Eigenvektoren sind [0.9701 0.2425] bzw. [-0.8944 0.4472]. Da das Gleichungssystem <math>(A - \lambda_i E) x_i = 0</math> singulär ist, sind alle Lösungsvektoren Vielfache dieser Eigenvektoren.
=== Schwach besetzte Matrizen ===
{{Wikipedia | Dünnbesetzte Matrix}}
Gegeben sei die schwach besetzte Matrix
m = [0 1 0 0 0
0 0 0 3 0
4 0 0 2 0
0 0 1 0 0
0 0 0 1 7]
Mittels dem sparse-Befehl kann man einfach die Elemente != 0 nach folgendem Schema eingeben.
sparse ([zeilenindizes] [spaltenindizes] [werte])
also in unserem Fall:
ms = sparse([1 2 3 3 4 5 5], [2 4 1 4 3 4 5], [1 3 4 2 1 1 7])
Ausgabe:
ms =
Compressed Column Sparse (rows = 5, cols = 5, nnz = 7)
(3, 1) -> 4
(1, 2) -> 1
(4, 3) -> 1
(2, 4) -> 3
(3, 4) -> 2
(5, 4) -> 1
(5, 5) -> 7
Die volle Matrix erhält man mit dem Befehl full:
m = full(ms)
Ausgabe:
m =
0 1 0 0 0
0 0 0 3 0
4 0 0 2 0
0 0 1 0 0
0 0 0 1 7
Grafisch anzeigen lassen kann man sich die Besetzung von Matrizen mit dem spy-Befehl:
spy(ms);
oder (für allgemeine Matrizen auch mittels)
spy(m);
Ausgabe:
[[Datei:octave_sparse1.jpg]]
Wirklich interessant ist der spy-Befehl für größere Matrizen, z.B. um die Bandstruktur zu visualisieren.
e = eye(200);
es = sparse(e);
% Auf sparse-Matrizen kann genauso zugegriffen werden wie auf normalen Matrizen
es(100, 15) = 100;
spy(es);
Ausgabe:
[[Datei:octave_sparse2.jpg]]
=== Matrizen mit Zufallswerten ===
Insbesondere für Testzwecke kann es manchmal sinnvoll sein größere Matrizen mit Zufallswerten zu bilden. Dazu stellt Octave u.a. den rand-Befehl zur Verfügung.
m = rand(5, 6)
Ausgabe:
m =
0.86605 0.61108 0.71347 0.97119 0.52428 0.21993
0.74059 0.49062 0.56073 0.68592 0.74737 0.62680
0.20790 0.84874 0.36834 0.31102 0.25813 0.28933
0.84732 0.98777 0.91512 0.42240 0.87891 0.63757
0.76823 0.80367 0.24639 0.78208 0.77170 0.95281
Die Zufallszahlen liegen gleichverteilt zwischen 0 und 1 und werden nach dem Mersenne-Twister-Verfahren mit einer Periode von <math>2^{19937}-1</math> gebildet.
Andere Verfahren sind:
* randn: Normalverteilte Pseudozufallselemente mit Mittelwert=0 und Varianz=1
* rande: Exponentialverteilte Zufallselemente
* randg: Gammaverteilte Zufallselemente
* randp: Poissonverteilte Zufallselemente
Details dazu siehe in der Octave-Hilfefunktion.
== Aufgaben ==
* Berechnen Sie den Winkel zwischen den beiden Vektoren a = [1 2 0] und b = [2 1 1]. Hinweis: Siehe diesbezüglich auch im Oktave-Hilfesystem den Befehl "norm".
* Gegeben seien Vektoren a = [1 2 5], b = [0 0 -1] und c = [-1 -2 2]. Berechnen Sie das Spatprodukt aus diesen drei Vektoren.
* Multiplizieren Sie die beiden Matrizen A und B (mit Octave und zur Kontrolle händisch)
A = [0 0 1
1 2 1]
B = [1 1
1 2
0 4]
* Ist die Matrix C regulär? Wenn ja, dann bilden Sie die inverse Matrix.
C = [-1 0 0 -4
2 0 1 5
7 6 2 0
3 0 2 6]
* Ist die Matrix D regulär? Wenn ja, dann bilden Sie die inverse Matrix.
D = [2 1 0 0
0 0 2 1
0 0 0 2
1 1 0 0]
* Berechnen Sie die Konditionszahl der folgenden Matrix. Hinweis: Siehe diesbezüglich im Oktave-Hilfesystem den Befehl cond
[3 4 -5
6 0 3
1 1 2]
* Berechnen Sie die Eigenwerte und Eigenvektoren der folgenden Matrix
[6 -3 4 0
0 7 -1 1
0 10 -3 -2
0 1 -2 1]
= Komplexe Zahlen =
Die imaginäre Einheit wird in Octave durch den Buchstaben i, j, I oder J symbolisiert. Darstellen kann man eine komplexe Zahl bekannterweise in mehreren Formen:
* Kartesische Darstellung <math>z = \Re(z) + i \cdot \Im(z)</math>
* Polardarstellungen <math>z = r \cdot (\cos(\phi) + i \cdot \sin(\phi)) = r \cdot e^{i\cdot \phi}</math>
Die konjugiert komplexe Zahl ist <math>z^* = \Re(z) - i \cdot \Im(z)</math>
== Mit komplexen Zahlen rechnen ==
z1 = 2 + 5i; % kartesische Darstellung
z2 = 3 * exp(3j); % Polardarstellung
% Addition
res = z1 + z2;
disp("z1 + z2 = "); disp(res);
% Multiplikation
res = z1 * z2;
disp("z1 * z2 = "); disp(res);
% Realteil
res = real(z2);
disp("Realteil von z2 = "); disp(res);
% Imaginärteil
res = imag(z2);
disp("Imaginaerteil von z2 = "); disp(res);
% Betrag
res = abs(z1);
disp("Betrag von z1 = "); disp(res);
% Argument
res = angle(z1);
disp("Argument von z1 = "); disp(res);
% Konjugiert komplexe Zahl
res = conj(z1);
disp("Konjugiert komplexe Zahl von z1 = "); disp(res);
Ausgabe:
z1 + z2 =
-0.96998 + 5.42336i
z1 * z2 =
-8.0568 - 14.0032i
Realteil von z2 =
-2.9700
Imaginaerteil von z2 =
0.42336
Betrag von z1 =
5.3852
Argument von z1 =
1.1903
Konjugiert komplexe Zahl von z1 =
2 - 5i
== Die gaußsche Zahlenebene ==
clear; close all; clc;
z1 = 3 + 5i;
z2 = 5 * exp(0.5i);
hold on;
plot(z1, "*");
compass(z1);
plot(z2, "o");
compass(z2);
grid on;
[[Datei:octave_komplex1.jpg]]
== Aufgaben ==
* Berechnen Sie die Quadratwurzel der komplexen Zahl <math>z = 3 + 2i</math>.
* Verwandeln Sie folgende Zahlen in die Polarkoordinatendarstellung: <math>-11 - 3i</math> und <math>(1+i)^{10}</math>
* Verwandeln Sie folgende Zahlen in die Normaldarstellung: <math>12 \cdot e^{i\cdot \pi / 4}</math> und <math>3 \cdot (\cos(\pi / 3) + i \cdot \sin(\pi / 3))</math>
* Zeichnen Sie die Zahl <math>3 + 5i</math> in der gaußschen Zahlenebene als Zeiger.
= Funktionen =
Um Programme zu strukturieren und einfacher zu gestalten können Programmteile in Funktionen ausgelagert werden. Eingebaute Funktionen haben wir schon kennengelernt (z.B. die Sinus-Funktion sin). Nun wollen wir sehen, wie man selbst solche Funktionen schreiben kann.
== Eine einfache Funktion schreiben ==
Datei addiere.m:
function res = addiere(a, b)
% Addiere zwei Zahlen a + b
res = a + b;
end
Datei test1.m:
addiere(10, 15)
Ausgabe:
ans = 25
* Jede Funktion sollte in einer eigenen m-Datei stehen.
* Der Dateiname sollte mit dem Funktionsnamen (natürlich ohne Dateiendung .m) übereinstimmen.
* Der Kommentar unter dem Funktionskopf wird als Hilfstext angezeigt, wenn die help-Funktion (hier "help addiere") aufgerufen wird.
== Inline-Funktionen ==
Kurze Funktionen können auch als Inline-Funktionen geschrieben werden.
addiere = inline("a + b");
x = 5;
y = 10;
z = addiere(x, y)
Oder in diesem Fall noch kürzer
addiere = inline("a + b");
z = addiere(5, 10)
Ausgabe:
z = 15
Bei neueren Octave-Versionen kann bei der Verwendung von Inline-Funktionen die Warnung
warning: inline is obsolete; use anonymous functions instead
erscheinen. Ein Blick in die Hilfe-Funktion
help inline
zeigt das selbe Ergebnis. Es sollen also anonyme Funktionen (siehe etwas weiter unten in diesem Text) anstelle von Inline-Funktionen verwendet werden.
== Funktionsstring ==
addiere = "a + b";
a = 5;
b = 10;
z = eval(addiere)
Ausgabe:
z = 15
== Anonyme Funktionen ==
{{Wikipedia | Anonyme Funktion}}
addiere = @(a, b) a + b;
x = 10;
y = 20;
z = addiere(x, y)
oder kürzer
addiere = @(a, b) a + b;
z = addiere(10, 20)
Ausgabe:
z = 30
== Nullstellen von Funktionen bestimmen ==
sinh2 = @(x) sinh(x) + 2;
z = fzero(sinh2, 1)
Ausgabe:
z = -1.4436
Zur Kontrolle soll hier der Graph der Funktion dargestellt werden
clear;
close all;
clc;
sinh2 = @(x) sinh(x) + 2;
x = -2 : 0.1 : 0;
y = sinh2(x);
z = fzero(sinh2, 1)
plot(x, y);
hold on;
plot(z, 0, "o", "Color", "red", "LineWidth", 2);
text (-1.8, 0.8, "Nullstelle");
line([z -1.7], [0, .7], "Color", "black");
grid on;
Ausgabe:
[[Datei:octave_funktion5.jpg]]
Weiter unten im Text wird die ähnliche Funktion "fsolve" beschrieben. "fzero" benutzt zwei verschiedene Funktionen zur Problemlösung, darunter eben auch "fsolve".
Für die Nullstellenbestimmung von Polynomen gibt es die Funktion "roots". Näheres dazu folgt im nächsten Kapitel.
== Globale Variablen ==
Datei addiere.m:
function res = addiere()
global a b;
res = a + b;
end
Datei test1.m:
clear;
close all;
clc;
global a b;
a = 5;
b = 3;
addiere()
Ausgabe:
ans = 8
== Aufgaben ==
* Schreiben Sie eine Funktion "ellipse", welche eine Ellipse am Bildschirm darstellt. Zur Erinnerung: Die Parameterdarstellung der Ellipse lautet <math>x = a\cdot\cos(t), y = b\cdot\sin(t), 0 \leq t \leq 2\pi</math>, Funktionsargumente seien a und b.
* Schreiben Sie <math>y = 2\cdot\sin(x) + 3\cdot\cos(x/2)</math>
** als normale Funktion
** als Funktionsstring
** als Inlinefunktion
** als anonyme Funktion
** stellen Sie diese Funktion grafisch am Bildschirm dar.
= Polynome =
== Einzelne Polynomwerte berechnen ==
% y = 2*x^3 + 5*x^2 + 4 für x = 2 berechnen
p = [2, 5, 0, 4];
polyval(p, 2)
Ausgabe:
ans = 40
== Polynome zeichnen ==
% y = 2*x^3 - 5*x^2 + 4 für das Intervall -5 <= x <= 5 grafisch darstellen
x = -5 : .1 : 5;
p = [2, 5, 0, 4];
y = polyval(p, x);
plot(x,y);
grid on;
Ausgabe:
[[Datei:octave_polynom1.jpg]]
== Nullstellen bestimmen ==
Für Polynome existiert die Funktion "roots" zur Nullstellenbestimmung.
% Nullstellen für y = 2*x^3 - 5*x^2 + 4 bestimmen
p = [2, 5, 0, 4];
r = roots(p)
Ausgabe:
r =
-2.76214 + 0.00000i
0.13107 + 0.84077i
0.13107 - 0.84077i
Dieses Polynom hat nur eine reelle Nullstelle. Diese liegt, wie am obigen Grafen zu ersehen ist, in der Nähe von -2.762. Die beiden anderen Nullstellen sind konjugiert komplex zueinander (wie es auch sein sollte).
== Aufgaben ==
* Berechnen Sie den Wert für x = 3 des Polynoms <math>y = 2x^4 - 3x^3 - x + 7</math>.
* Berechnen Sie die Nullstellen von <math>y = 7x^5 - 3x^2 + 12</math>.
* Zeichnen Sie das Polynom <math>y = 12x^4 - 70x</math> im Intervall <math>-5 \leq x \leq 5</math>.
= Lineare Gleichungssysteme =
Sei <math>Ax = b</math> ein lineares Gleichungssystem. <math>A</math> sei die Koeffizientenmatrix, <math>x</math> der Lösungsvektor und <math>b</math> ein bekannter Vektor.
== Einfache Berechnung mittels Gauß-Verfahren ==
{{Wikipedia | Gaußsches Eliminationsverfahren}}
Beispiel:
A = [5 1
0 2];
b = [1
2];
x = A \ b
Ausgabe:
x =
0
1
== Das gmres-Verfahren ==
gmres steht für Generalized Minimal Residual.
{{Wikipedia | GMRES-Verfahren}}
A = [5 1
0 2];
b = [1
2];
x = gmres(A, b)
Ausgabe:
gmres converged at iteration 2 to a solution with relative residual 2.22045e-16
x =
-1.6653e-16
1.0000e+00
Das Ergebnis weicht etwas vom gaußschen Verfahren ab, ist aber trotzdem im Rahmen der Näherung korrekt.
Weiters kennt Octave noch andere iterative Verfahren, z.B. cgs (Conjugate Gradient Squared) oder bicgstab (Bi-Conjugate Gradient Stabilized). Näheres zu diesen Verfahren siehe in der weiterführenden Literatur (z.B. bei Meister: Numerik linearer Gleichungssysteme, Vieweg+Teubner, 2011)
{{Wikipedia | CGS-Verfahren}}
== Aufgabe ==
* Lösen Sie folgendes Gleichungssystem mittels Octave (und zur Kontrolle auch händisch):
5x + 6y - 2z = 12
3x - y - 3z = 6
2x + 2y + 4z = 5
= Nichtlineare Gleichungssysteme =
== fsolve und fzero ==
Löse eine beliebige Gleichung f(x) = 0, z.B. <math> f(x) = x^2 - 5\cos(x) - 10 = 0 </math>:
f = @(x) x^2 - 5*cos(x) - 10;
xstart = 1;
[x, fval, info] = fsolve(f, xstart)
Ausgabe:
x = 2.4681
fval = -1.7764e-015
info = 1
* x ist eine Nullstelle in der Nähe vom Startwert xstart.
* fval ist die Abweichung, den f bei x aufweist.
* info ist ein "Fehlercode": 1 bedeutet, dass der relative Fehler in der spezifizierten Toleranz liegt (wie es sein soll). 3 würde bedeuten, dass der Algorithmus nicht konvergiert (z.B. weil keine Nullstelle existiert).
Zur Kontrolle plotten wir den Funktionsgraphen:
x = - 1 : .1 : 3;
y = x.^2 - 5.*cos(x) - 10;
plot(x,y, "LineWidth", 2);
grid on;
Ausgabe:
[[Datei:octave_nichtlin1.jpg]]
Und siehe da, die gesuchte Nullstelle liegt wie berechnet bei einem Wert nahe 2,5. Die Funktion <math>x^2 - 5\cos(x) - 10</math> hat noch eine zweite Nullstelle, wie in der folgenden Abbildung zu erkennen ist.
[[Datei:octave_nichtlin2.jpg]]
Diese zweite Nullstelle erhalten wir, wenn der Startwert in der Nähe dieser zweiten Nullstelle liegt, also z.B. bei -1. Ändern Sie einfach den entsprechenden Startwert im obigen Programmcode, und das Programm sollte die Nullstelle in der Nähe von -2.5 liefern.
Auch die Funktion ''fzero'' kann zur Lösung einer nichtlinearen Gleichung verwendet werden. Die Hilfe-Funktion von Octave empfiehlt dies sogar eindringlich für den Fall einer nichtlinearen Gleichung in einer Variablen. Für das gleiche Beispiel wie oben kann der Programmcode folgendermaßen aussehen:
Eingabe:
f = @(x) x^2 - 5*cos(x) - 10;
[x0, y0] = fzero (f, [0, 3])
Ausgabe:
x0 = 2.4681
y0 = -1.2434e-14
== Gleichungssysteme ==
Folgende Aufgabe ist dem Buch "Knorrenschild: Numerische Mathematik, Hanser, 2017, Seite 72" entnommen. Zu lösen ist das nichtlineare Gleichungssystem
<math>f_1 = 2x_1 + 4x_2 = 0 </math>
<math>f_2 = 4x_1 + 8x_2^3 = 0</math>
Lösung:
f.m:
function y = f(x)
y(1) = 2*x(1) + 4*x(2);
y(2) = 4*x(1) + 8*x(2)^3;
end
test1.m:
clear;
close all;
clc;
[x, fval, info] = fsolve (@f, [0, 1])
[x, fval, info] = fsolve (@f, [0, -1])
[x, fval, info] = fsolve (@f, [0, 0])
Ausgabe:
x =
-2 1
fval =
0 7.4930e-09
info = 1
x =
2 -1
fval =
0 -7.4930e-09
info = 1
x =
0 0
fval =
0 0
info = 1
== Aufgaben ==
* Bestimmen Sie die Nullstellen von <math>f(x) = x^2 - 3</math>. Plotten Sie den Grafen.
* Bestimmen Sie die Nullstelle von <math>f(x) = sin(x) - x - 1</math>. Plotten Sie den Grafen.
* Lösen Sie das folgende Gleichungssystem (und stellen Sie das Ganze grafisch am Bildschirm dar): <math> f_1 = x_1 + x_2 = 0; f_2 = x_1 + \sin{x_2} = 0</math>
= Interpolation =
== Eindimensionale Interpolation ==
{{Wikipedia | Interpolation (Mathematik)}}
Bezüglich eindimensionaler Interpolation sei auf die [https://docs.octave.org/v11.1.0/One_002ddimensional-Interpolation.html Octave-Dokumentation und Hilfefunktion zum Befehl " interp1"] verwiesen. Dort findet sich auch ein Programmbeispiel, das als Grundlage des folgenden Plots dient:
[[Datei:octave_interpol1.jpg]]
== Mehrdimensionale Interpolation ==
Bezüglich mehrdimensionaler Interpolation siehe die [https://docs.octave.org/v11.1.0/Multi_002ddimensional-Interpolation.html Hilfefunktion zu "interp2", "interp3" und "interpn"].
== Aufgabe ==
* Gegeben seinen die fünf Stützpunkte p1 = [1, 0], p2 = [2, -5], p3 = [3, 2], p4 = [4, 7], p5 = [5, 6]. Legen Sie eine Funktion (die Interpolierende) durch diese Stützpunkte. Eine Lösungsmöglichkeit:
xp = [1 2 3 4 5];
yp = [0, -5, 2, 7, 6];
xf = 1 : .1 : 5;
spl = interp1(xp, yp, xf, "spline");
pch = interp1(xp, yp, xf, "pchip");
plot(xp, yp, "or", "LineWidth", 2, xf, spl, "LineWidth", 2, ...
xf, pch, "LineWidth", 2);
legend("stuetzpunkte", "spline", "pchip", "location", "southeast");
[[Datei:octave_interpol3.jpg]]
= Differenzialrechnung =
== Polynome differenzieren ==
Es soll das Polynom <math>y = 2x^3 - 5x^2 + 7</math> differenziert werden.
% Differenzieren des Polynoms y = 2*x^3 - 5*x^2 + 7
p = [2, -5, 0, 7];
polyder(p)
Ausgabe:
ans =
6 -10 0
D.h. also, die Ableitung von <math>y = 2x^3 - 5x^2 + 7</math> ist <math>y' = 6x^2 - 10x</math>.
== Sonstige Funktionen differenzieren ==
Als Beispiel differenzieren wir <math>y = 5x\sin{x}</math> und stellen das Ganze grafisch dar.
clear;
close all;
clc;
x = 0 : 0.01 : 10;
y = 5 .* x .* sin(x);
y_strich = diff(y) / 0.01;
plot(x, y, "Color", "red", "LineWidth", 2);
hold on;
plot(x(1:length(x)-1), y_strich, "Color", "blue", "LineWidth", 2);
legend("y", "y'");
grid on;
Ausgabe:
[[Datei:octave_diff1.jpg]]
diff(y) ist der Vektor aus den Differenzen y(2)-y(1), ..., y(n)-y(n-1). Für die genaue Arbeitsweise der diff-Funktion siehe "help diff".
== Aufgaben ==
* Differenzieren Sie das Polynom <math>y = 5y^5 - y^4 + 6y - 4</math>.
* Differenzieren Sie die Funktion <math>y = \log(x) + 10x</math> und stellen Sie y, sowie y' grafisch am Bildschirm dar.
* Differenzieren Sie die Funktion <math>y = \frac{\sinh(x)}{(1+x)}</math> und stellen Sie y, sowie y' grafisch am Bildschirm dar.
= Integralrechnung =
== Polynome integrieren ==
Berechnen Sie das unbestimmte Integral von <math>y = 2x^3 - 7x^2 + 7</math>
p = [2, -7, 0, 7];
p_int = polyint(p)
Ausgabe:
p_int =
0.50000 -2.33333 0.00000 7.00000 0.00000
Das Ergebnis lautet also <math>\int{y dx} = 0.5x^4 - 2.33333x^3 + 7x + C</math> (auf die Integrationskonstante C darf nicht vergessen werden!).
== Gauß-Quadratur ==
{{Wikipedia | Gauß-Quadratur}}
Berechnen Sie das Integral <math>\int_{0}^{3}x^2 dx</math> mittels Gauß-Quadratur.
Datei f.m:
function y = f(x)
y = x^2;
end
Datei test1.m:
[v, ier, nfun, err] = quad ("f", 0, 3)
Ausgabe:
v = 9.0000
ier = 0
nfun = 21
err = 9.9920e-014
Erläuterung zur Ausgabe:
* v ... Resultat der Integration
* ier ... integer error code
* nfun ... Anzahl der Funktionsaufrufe
* err ... Fehler in der Lösung
== Quadratur mittels adaptiver Lobatto-Regel ==
Berechnen Sie diesmal das Integral <math>\int_{0}^{3}x^2 dx</math> mittels Lobatto-Quadratur.
f = inline("x.^2");
v = quadl (f, 0, 3)
Ausgabe:
v = 9
Wie weiter oben bereits angesprochen kann bei der Ausgabe eine Warnung erfolgen. Inline-Funktionen sind inzwischen als obsolet erklärt und es sollen stattdessen anonyme Funktionen verwendet werden.
Zwecks Übung sei nachfolgend nochmals dieses Beispiel berechnet. Diesmal wird aber eine anonyme Funktion verwendet.
v = quadl (@(x) x.^2, 0, 3)
== Aufgaben ==
* Integrieren Sie das Polynom <math>y = 5y^5 - y4 + 6y - 4</math>.
* Integrieren Sie die Funktion <math>y = \log(x) + 10x</math> von -5 bis 5.
* Integrieren Sie die Funktion <math>y = x^3</math> von 0 bis 4. Verwenden Sie hierzu die Simpsonregel (siehe dazu in der Hilfefunktion den Befehl "quadv").
= Gewöhnliche Differenzialgleichungen =
== ode23, ode45 und lsode ==
Für die Lösung von Differenzialgleichungen stehen die Funktionen
* ode23
bzw.
* ode45
zur Verfügung. Diese Funktionen implementieren das Runge-Kutta-Verfahren. "ode" steht für "Ordinary Differential Equation" (also auf Deutsch für "Gewöhnliche Differentialgleichung"). Die Zahlen bei ode23 oder ode45 stehen für die Ordnung.
{{Wikipedia | Runge-Kutta-Verfahren}}
Beispiel <math>y' = x^2 + y^3</math>:
clear;
close all;
clc;
[x, y] = ode45(@(x,y) (x^2+y^3), [0 1], 0);
plot(x, y, "LineWidth", 2);
Ausgabe:
[[Datei:octave_ode1.jpg]]
Bezüglich der genauen Funktionsweise von "ode45" (oder "ode23") siehe die Octave-Hilfe.
Auch die Funktion "lsode" steht zur Lösung von ODEs zur Verfügung.
Beispiel <math>y' = x + y</math>:
clear;
close all;
clc;
t = 0 : .1 : 5;
[y2, istate, msg] = lsode(@(x,y) (x + y), 1, t);
istate
msg
plot(t, y2);
Ausgabe:
istate = 2
msg = successful exit
[[Datei:octave_lsode1.jpg]]
Bezüglich der genauen Funktionsweise von "lsode" siehe die Octave-Hilfe.
== Aufgaben ==
* Lösen Sie die Differenzialgleichung <math>y' = \frac{1}{x\cdot y}</math> mit Octave. Kontrollieren Sie das Ergebnis, indem Sie die DGl händisch lösen.
* Lösen Sie die Differenzialgleichung <math>m' = -k\cdot m</math>. Kontrollieren Sie das Ergebnis, indem Sie die DGl händisch lösen.
* Lösen Sie die Differenzialgleichung <math>y' = \sqrt{|y|}</math>.
= Die Fast-Fourier-Transformation =
{{Wikipedia | Schnelle Fourier-Transformation}}
Für die Funktion "fft" siehe das Octave-Hilfesystem.
= Mengenrechnung =
== Vereinigungsmenge ==
v1 = [1 2 3 4];
v2 = [2 4 6];
union(v1, v2)
Ausgabe:
ans =
1 2 3 4 6
== Schnittmenge ==
v1 = [1 2 3 4];
v2 = [2 4 6];
intersect(v1, v2)
Ausgabe:
ans =
2 4
= Logik =
Logische Operatoren werden oft benötigt, z.B. bei Schleifen und Verzweigungen.
Octave kennt die logischen Operatoren <code>or, and, not</code> und <code>xor</code>. Als Beispiel sei die Wahrheitstabelle für den Operator <code>or</code> dargestellt.
A B A or B
--------------------
true true true
true false true
false true true
false false false
In Octave kann das so ausgedrückt werden:
or( true, true )
or( true, false )
or( false, true )
or( false, false )
Ausgabe:
ans = 1
ans = 1
ans = 1
ans = 0
Zahlen ungleich 0 stehen für true, 0 für false. Z.B.:
or( 22, 0)
Ausgabe:
ans = 1
Äquivalent zu <code>or</code> ist der Operator <code>|</code>:
22 | 0
Ausgabe:
ans = 1
Zwecks näheren Informationen zu den Operatoren <code>and (&, &&), not (~, !)</code> und <code>xor</code> bemühe man Octaves Help-Funktion.
Bitweise logische Funktionen kennt Octave auch, so kann man z.B. zwei Zahlen mit dem bitweisen OR-Operator verknüpfen:
0b1100101
0b0110001
---------
0b1110101
Oder in Dezimalzahlen:
101
49
---
117
In Octave:
bitor( 0b1100101, 0b0110001 )
dec2bin( ans )
Ausgabe:
ans = 117
ans = 1110101
Zu <code>bitand, bitxor</code> usw. siehe die Octave-Hilfe-Funktion.
= Stochastik =
==Deskriptive Statistik ==
=== Lageparameter ===
Arithmetischer Mittelwert:
vec = [1 2 3 4 5 12 13];
mw = mean(vec)
Ausgabe:
mw = 5.7143
Der Median oder Zentralwert läßt sich folgendermaßen berechnen:
vec = [1 2 3 4 5 12 13];
median(vec)
Ausgabe:
ans = 4
Der Modus oder häufigste Wert läßt sich mittels "mode"-Funktion eruieren:
vec = [1 2 1 3 5 1 2 7];
[m, f, c] = mode (vec);
disp(m);
disp(f);
disp(c);
Ausgabe:
1
3
{
[1,1] = 1
}
m (erste Zeile der Ausgabe) ist der Modus. f (zweite Zeile) ist die Häufigkeit. Näheres dazu siehe im Octave-Hilfesystem.
=== Streuungsparameter ===
Varianz:
vec = [1 2 3 1 1 6 7];
v = var(vec)
Ausgabe:
v = 6.3333
Standardabweichung:
vec = [1 2 3 1 1 6 7];
s = std(vec)
Ausgabe:
s = 2.5166
=== Grafiken erzeugen ===
Histogramme:
v = [1 1 2 3 1 6 7 6 1 1 1 2];
hist(v, max(v));
Ausgabe:
[[Datei:octave_histo2.jpg]]
Balkendiagramme:
v = [1 1 2 3 1 6 7 6];
bar(v);
Ausgabe:
[[Datei:octave_bar111.jpg]]
Treppendiagramm:
v = [1 1 2 3 1 6 7 6];
stairs(v);
Ausgabe:
[[Datei:octave_stairs1.jpg]]
Stabdiagramm:
v = [1 1 2 3 1 6 7 6];
stem(v);
Ausgabe:
[[Datei:octave_stem1.jpg]]
=== Aufgaben ===
Gegeben sei folgende Datentabelle mit den Werten:
v1 = [3 4 1 1 7 2 1 9 2 5 9 7 2 2 9 2 2 1 2 8]
v2 = [1 1 0 2 3 4 1 2 7 0 2 1 5 5 5 4 5 2 5 0]
* Berechnen Sie die Lageparameter und Streuungsparameter des Vektors v1.
* Berechnen Sie Kovarianz und Korrelationskoeffizient der beiden zugeordneten Vektoren v1 und v2.
* Zeichnen Sie das Histogramm des Vektors v1.
== Wahrscheinlichkeitsrechnung ==
=== Kombinatorik ===
Der Binomialkoeffizient:
<math>\binom{n}{k}=\frac{n!}{k!(n-k)!}</math>
In Octave z.B.:
n = 30;
k = 4;
n_ueber_k = nchoosek (n, k)
Ausgabe:
n_ueber_k = 27405
Permutationen sind die verschiedenen Anordnungsmöglichkeiten mit der Anzahl n! = n * (n-1) * ... * 2 * 1.
Beispiel:
v = [1, 2, 3];
p = perms(v)
Ausgabe:
p =
1 2 3
2 1 3
1 3 2
2 3 1
3 1 2
3 2 1
n! (n-Fakultät) selbst kann so berechnet werden:
% 10!
n = 10;
factorial (n)
Ausgabe:
ans = 3628800
=== Verteilungen ===
Octave kennt eine ganze Reihe von Dichte- und Verteilungsfunktionen und zwar
* Probability Density Functions (PDF, Dichtefunktionen)
* Cumulative Distribution Functions (CDF, Verteilungsfunktionen)
Z.B.:
* Binomialverteilung:
** binopdf
** binocdf
* Hypergeometrische Verteilung:
** hygepdf
** hygecdf
* Normalverteilung:
** normpdf
** normcdf
* Studentverteilung:
** tpdf
** tcdf
* Weibullverteilung:
** wblpdf
** wblcdf
Ein Codebeispiel zur Binomialverteilung:
clear;
close all;
clc;
x = 0 : 1 : 10;
n = 10;
p = 0.1;
b1 = binopdf (x, n, p);
b2 = binocdf (x, n, p);
subplot(221);
bar(x, b1);
title("binopdf");
text(1, 0.1, "n=10; p=0.1");
subplot(222);
bar(x, b2);
title("binocdf");
text(1, 0.5, "n=10; p=0.1");
n = 10;
p = 0.5;
b1 = binopdf (x, n, p);
b2 = binocdf (x, n, p);
subplot(223);
bar(x, b1);
text(1, 0.1, "n=10; p=0.5");
subplot(224);
bar(x, b2);
text(1, 0.1, "n=10; p=0.5");
Ausgabe:
[[Datei:octave_bino3.jpg]]
Möglicherweise erhalten Sie bei diesem Beispiel eine Fehlermeldung in der Form
error: 'binopdf' undefined near line 8, column 6
The 'binopdf' function belongs to the statistics package from Octave
Forge which you have installed but not loaded. To load the package, run
'pkg load statistics' from the Octave prompt.
Laden Sie einfach das Paket für die Statistikfunktionen, wie in der Fehlermeldung beschrieben.
Ein Codebeispiel zur Normalverteilung:
clear;
close all;
clc;
x = -4 : .1 : 4;
b1 = normpdf(x);
b2 = normcdf(x);
subplot(121);
plot(x, b1);
title("normpdf");
grid on;
subplot(122);
plot(x, b2);
title("normcdf");
grid on;
Ausgabe:
[[Datei:octave_norm111.jpg]]
== Zufallszahlengeneratoren ==
Octave kann Zufallszahlen aus einer großen Anzahl von Verteilungen generieren, z.B.
* Chi-Quadrat-Verteilung: chi2rnd
* Log-Normal-Verteilung: lognrnd
* Normalverteilung: normrnd
Codebeispiel:
mean = 0;
standardabweichung = 1;
zufallszahl = normrnd (mean, standardabweichung)
Ausgabe (gibt eine Zufallszahl rund um den Mittelwert 0 aus), z.B.
zufallszahl = 1.0451
Auch Zufallsvektoren (oder Zufallsmatrizen) können erstellt werden:
mean = [0 0 0 0 0];
standardabweichung = 1;
zufallsvektor = normrnd (mean, standardabweichung)
Ausgabe, z.B.:
zufallsvektor =
1.47108 -0.51280 0.52726 0.31730 -1.04422
= Einfache Benutzeroberflächen erstellen=
== Input ==
fflush (stdout);
x = input("Gib eine Zahl ein: ");
disp(2 * x);
Ein-/Ausgabe:
Gib eine Zahl ein: 12
24
Der "fflush"-Befehl sollte immer vor dem Aufruf des input-Befehls aufgerufen werden. Näheres zu "fflush" siehe im Octave-Hilfesystem.
== Diverse einfache vorgefertigte Dialoge ==
Fehlermeldung:
errordlg("Fehlermeldung");
[[Bild:octave_fehlermeldung1.jpg]]
Warnung:
warndlg("Warnung");
[[Bild:octave_warnung1.jpg]]
Hilfedialog:
helpdlg
[[Bild:octave_hilfe1.jpg]]
Abfragedialog:
button = questdlg ("Frage")
[[Bild:octave_abfrage1.jpg]]
Eingabedialog:
in = inputdlg("Eingabe")
[[Bild:octave_eingabe1.jpg]]
Messagebox:
h = msgbox ("Eine Mitteilung!");
[[Bild:octave_messagebox1.jpg]]
== Komplexere vorgefertigte Dialogboxen ==
=== Menübox ===
auswahl = menu("Auswahl", "Affe", "Elefant", "Loewe", "Sonstiges");
switch(auswahl)
case 1
disp "Affe quietscht"
case 2
disp "Elefant trompetet"
case 3
disp "Loewe bruellt"
otherwise
disp "Sonstiges"
end
Ausgabe:
[[Bild:octave_menu1.jpg]]
Es werde beispielsweise die Nummer 2 gewählt.
Ausgabe:
Elefant trompetet
=== Dialogliste ===
clear;
close all;
clc;
opt = {"Eins", "Zwei", "Drei"};
[sel, ok] = listdlg ("ListString", opt, "SelectionMode", "Multiple");
if (ok == 1)
for i = 1 : numel(sel)
disp(opt{sel(i)});
end
else
disp("Cancel");
end
[[Bild:octave_dialog1.jpg]]
Es werden beispielsweise alle Optionen ausgewählt.
Ausgabe:
Eins
Zwei
Drei
=== Fortschrittsbalken ===
h = waitbar ([0.5])
[[Bild:octave_fortschritt1.jpg]]
=== Datei- und Verzeichnisdialoge ===
Dateidialog:
[fname, fpath, fltidx] = uigetfile ()
[[Bild:octave_dateidialog2.jpg]]
Ähnlich sind die Befehle "uiputfile" und "uigetdir". Dazu sei auf die Octave-Hilfe verwiesen.
== Eigene Dialoge kreieren ==
Dieses Thema sei hier nur kurz angerissen.
Programmcode:
d = dialog("Position", [300, 300, 250, 150], "Name", "Dialog");
txt = uicontrol("Parent", d, ...
"Style", "text", ...
"Position", [20, 80, 210, 40], ...
"String", "Hallo Welt");
btn_servus = uicontrol("Parent", d, ...
"Position", [30, 20, 80, 30], ...
"String", "Servus", ...
"Callback", "disp('Servus angeklickt!');");
btn_hallo = uicontrol("Parent", d, ...
"Position", [140, 20, 80, 30], ...
"String", "Hallo", ...
"Callback", "disp('Hallo angeklickt!');");
uiwait(d);
Ausgegebenes Dialogfenster:
[[Bild:octave_dialog100.jpg]]
Ausgabe auf der Konsole (je nach gedrücktem Button), z.B.:
Servus angeklickt!
Die Position wird als [links, unten, breite, höhe] angegeben. Der Koordinatennullpunkt liegt, bezogen auf das Elternfenster, links unten. Es sind auch negative Koordinatenwerte möglich. Sinnvoll ist das z.B. bei einem dynamischen Ausblenden ohne zu löschen, oder für Animationen.
[[Bild:Cartesian-coordinate-system.svg | 150px]]
Wer mehr dazu wissen will, sei auf die Octave-Dokumentation verwiesen. Insbesondere siehe
* dialog
* uicontrol
* uipanel
* uibuttongroup
* uitable
* uimenu
* uitoolbar
== Aufgaben ==
=== Aufgabe 1 ===
Erzeugen Sie ein Dialogfenster mit einem Texteingabefeld und einem Button. Beim Klicken auf den Button soll der Eingabetext auf der Konsole ausgegeben werden. Das Dialogfenster soll also in etwa so aussehen:
[[Bild:octave_dialog105.jpg]]
Da dies etwas komplizierter als das oben gezeigte Beispiel ist, werden nachfolgend ein paar Codefragmente zwecks Lösung angegeben:
Datei button_callback.m:
function button_callback(editHandle)
eingegText = get(editHandle, "String");
disp(eingegText);
end
Codefragement in test1.m:
% ...
edit = uicontrol(% ...
"Style", "edit", ...
%, ...
"HorizontalAlignment", "left");
btn = uicontrol(% ...
"Callback", @(src, event) button_callback(edit));
% ...
Aufruf mit:
octave test1.m
Eingabe von z.B. "Hallo Welt!":
[[Bild:octave_dialog106.jpg]]
Ausgabe auf der Konsole nach dem Drücken des Buttons:
Hallo Welt!
=== Aufgabe 2 ===
Erzeugen Sie ein Dialogfenster mit zwei Eingabefeldern und einem Button. Eingegeben in diese zwei Eingabefelder werden vom Benutzer Zahlen. Auf der Konsole ausgegeben werden soll, nach Drücken des Buttons, das Produkt dieser zwei Zahlen.
Auch hier werden wieder Codefragemente angegeben.
Datei button_callback.m:
function button_callback(edit1, edit2)
zahl1 = str2double(get(edit1, 'String'));
zahl2 = str2double(get(edit2, 'String'));
disp(zahl1 * zahl2);
end
Codefragment Datei test1.m:
% ...
btn = uicontrol("Parent", d, ...
% ...
"Callback", @(src, event) button_callback(edit1, edit2));
% ...
Was passiert, wenn der Benutzer keine Zahlen, sondern beliebige Strings eingibt?
= Fehlerhandling mit try/catch =
Die try/catch-Anweisung entspricht weitgehend jener, die aus höheren Programmiersprachen wie C++ oder Java bekannt sind. Aufgebaut ist diese Anweisungsfolge so:
try
BODY
catch
CLEANUP
end
Beispiel:
clear;
close all;
clc;
try
a = 10 / "zahl";
disp(a);
disp("Weiter im try-Block");
catch
disp("Catch: Kann nicht durch einen String dividieren");
end
Ausgabe:
Catch: Kann nicht durch einen String dividieren
Sinnvoll ist die try/catch-Folge, wenn z.B. auch in einem Fehlerfall Dateien wieder geschlossen werden sollen.
= Ein- und Ausgabe =
== Formatierte Ausgabe am Bildschirm, formatiertes Lesen von der Tastatur ==
Folgendes Beispiel ist der Octave-Hilfe (von Octave 3.0.3) entnommen:
pct = 37;
filename = "foo.txt";
printf ("Processed %d%% of `%s'.\nPlease be patient.\n", pct, filename);
Ausgabe:
Processed 37% of `foo.txt'.
Please be patient.
"printf" gibt einen formatierten String am Bildschirm (genauer in den Stream stdout) aus. Wie man sieht, orientiert sich das Format an der Programmiersprache C.
Für das formatierte Lesen vom Stream stdin (normalerweise also von der Tastatur) steht das Pendant "scanf" bereit.
== Von einem String lesen bzw. in einen String schreiben ==
Bezüglich der Funktionen
* sprintf
und
* sscanf
sei auf die Octave-Hilfefunktion verwiesen.
== Lesen und Schreiben von einer Datei ==
=== Datei schreiben ===
% Datei c:\tmp\datei.test zum Schreiben öffnen
datei = fopen ("c:/tmp/datei.test", "w");
% Etwas in die Datei schreiben
fprintf(datei, "Hallo, Welt!");
% Datei schließen
fclose(datei);
=== Datei lesen ===
% Datei c:\tmp\datei.test zum Lesen öffnen
datei = fopen ("c:/tmp/datei.test", "r");
% Etwas aus der Datei lesen
[string] = fscanf(datei, "%s");
disp(string);
% Datei schließen
fclose(datei);
Ausgabe:
Hallo,Welt!
=== Dateiende prüfen ===
Mittels des Befehls
feof(FID);
kann das Dateiende geprüft werden. Wenn die EOF-Bedingung zutrifft, dann wird 1 zurückgegeben, wenn nicht dann 0. Ein Beispiel folgt später als Lösung einer Aufgabe.
=== warning und error ===
Eine Warnung kann man am stderr-Stream ausgeben. Die warning-Funktion entspricht ansonsten der printf-Funktion. Nach Ausgabe der Warnung wird das Programm normal fortgesetzt.
m = [1 2
3 6];
if(det(m) == 0)
warning("Matrix ist singulaer");
end
disp("Weiter geht's");
Ausgabe:
warning: Matrix ist singulaer
warning: called from
test1 at line 5 column 3
Weiter geht's
Schärfer ist der error-Befehl. Die Fehlermeldung wird am stderr-Stream ausgegeben. Vom Format her entspricht diese Funktion dem printf-Befehl. Nach Ausgabe der Fehlermeldung wird das Programm beendet.
m = [1 2
3 6];
if(det(m) == 0)
error("Matrix ist singulaer");
end
disp("Weiter geht's");
Ausgabe:
error: Matrix ist singulaer
error: called from
test1 at line 5 column 3
== Aufgaben ==
* Schreiben Sie ein Programm, das die Zahlen 1 bis 10 zeilenweise in eine Datei ausgibt.
* Lesen Sie diese Zeilen wieder von der Datei ein und geben Sie sie am Bildschirm aus.
* Gegeben sei eine Datei. Lesen Sie die Daten aus dieser Datei ein und rechnen Sie per Octave-Programm den Gesamtpreis für alle Tiere aus. Die Anzahl der Zeilen und der genaue Dateinhalt sei Ihnen vorab nicht bekannt. Bekannt ist nur das Datenformat wie folgt:
Nr. Name Einzelpreis Stueck
1 Affe 15000.50 2
2 Loewe 11000.90 1
3 Nashorn 45000.10 1
4 Elefant 51245.90 3
5 Tiger 9000.70 2
6 Maus 34.90 12
Eine einfache Lösung ohne Schnickschnack (Fehlerüberprüfungen etc.) für dieses Beispiel könnte wie folgt aussehen:
clear;
close all;
clc;
datei = fopen ("c:/tmp/daten1.txt", "r");
gesamtpreis = 0;
% Kopfzeile einlesen
[nr, name, preis, stk] = fscanf(datei, "%s %s %s %s", "C");
while(feof(datei) == 0)
% Datensätze einlesen
[nr, name, preis, stk] = fscanf(datei, "%d %s %f %d", "C");
gesamtpreis += preis*stk;
end
fclose(datei);
disp("Gesamtpreis = ");
format long;
disp(gesamtpreis);
Ausgabe:
Gesamtpreis =
258159.900000000
= Datencontainer =
== Datenstrukturen ==
Pseudocode:
STRUKTUR s
ZAHL a
VEKTOR b
STRING c
END
Octave-Code:
s.a = 45.9;
s.b = [1 2 3 4 5];
s.c = "Hallo!";
s
Ausgabe:
s =
scalar structure containing the fields:
a = 45.90000000000000
b =
1 2 3 4 5
c = Hallo!
Um ein paar weitere Möglichkeiten zum Handling mit Datenstrukturen aufzuzeigen, sei folgender Code aufgeführt.
Datei addsub.m
function res = addsub(a, b)
res.x = a + b;
res.y = a - b;
end
Datei test1.m
clear;
clc;
addsub(10, 50)
r = addsub(30, 70)
r.x
r.y
++r.x
Ausgabe:
ans =
scalar structure containing the fields:
x = 60
y = -40
r =
scalar structure containing the fields:
x = 100
y = -40
ans = 100
ans = -40
ans = 101
Die Funktion "addsub" liefert die Struktur res mit zwei Zahlenwerten. Die Elemente der Datenstruktur können auch außerhalb der Funktion angesprochen werden. Auch gerechnet werden kann mit diesen Elementen.
== Cell Arrays ==
Manchmal kann es sinnvoll sein mehrere Variablen verschiedenen Typs und Größe in einer Variablen zu speichern. Dies funktioniert ähnlich wie bei Vektoren. Es werden aber geschweifte Klammern verwendet.
Eingabe:
c = {"Hallo Welt!", [2 2], 44}
c{1}
c{1:2}
Ausgabe:
c =
{
[1,1] = Hallo Welt!
[1,2] =
2 2
[1,3] = 44
}
ans = Hallo Welt!
ans = Hallo Welt!
ans =
2 2
Elemente des Cell Arrays können auch wieder mit Variablen anderen Typs überschrieben werden.
c = {"Hallo Welt!", [2 2], 44};
c{1} = 5;
c
Ausgabe:
c =
{
[1,1] = 5
[1,2] =
2 2
[1,3] = 44
}
= Objektorientierte Programmierung =
Octave unterstützt auch objektorientierte Programmierung mit dem Schlüsselwort <code>classdef</code> (ab Version 4.0). Dieses Thema ist aber etwas für fortgeschrittene Anwender und wird hier nicht behandelt. Wen es trotzdem interessiert, der sei auf die [https://docs.octave.org/latest/Object-Oriented-Programming.html Octave-Dokumentation] verwiesen.
= Octave im Zusammenspiel mit anderen Programmiersprachen =
== .oct-Dateien ==
Eine .oct-Datei in GNU Octave ist eine kompilierte C/C++-Datei, die als dynamisch ladbares Objekt direkt in Octave ausgeführt werden kann. oct-Dateien sind meist schneller als nativer Octave-Code.
1. Schritt: Erstelle z.B. eine C++-Datei ''quadrat.cc'' (es soll das Quadrat einer Zahl berechnet werden)
#include <octave/oct.h>
DEFUN_DLD(quadrat, args, nargout, "Quadrat einer Zahl berechnen")
{
double x = args(0).double_value();
double res = x*x;
return octave_value(res);
}
* <code>DEFUN_DLD</code> ist ein Makro. Damit wird angezeigt, dass es sich um eine dynamisch ladbare Funktion handelt.
* <code>args</code>: Argumente die beim Aufruf in Octave übergeben werden.
2. Schritt: ''quadrat.cc'' kompilieren
# Terminal öffnen
# In das quadrat.cc-Verzeichnis wechseln
# Octave aufrufen
# cc-Datei zu einer oct-Datei kompilieren: <code>mkoctfile quadrat.cc</code>
# Wenn das ohne Fehlermeldung durchläuft, so sollte im Anschluss eine (relativ große) ''quadrat.oct''-Datei im entsprechenden Verzeichnis zu finden sein.
3. Schritt: Funktion <code>quadrat()</code> in Octave aufrufen, z.B.:
y = quadrat(5)
Es ergibt sich folgende Ausgabe:
y = 25
Damit das funktioniert, müssen natürlich die entsprechenden Werkzeuge (Compiler etc.) installiert sein. Darauf wird hier aber nicht näher eingegangen.
== Andere Möglichkeiten ==
* .mex-Dateien ('''M'''ATLAB '''Ex'''ecutables): Wenn man kompatibel zu MATLAB bleiben muss
* Java- oder Python-Schnittstelle (Nachteil: langsamer als .oct-Dateien)
Bevor man aber diese Möglichkeiten in Anspruch nimmt, sollte man vektorisieren. Damit lassen sich oft schon höhere Geschwindigkeiten erzielen. Dieses Thema wurde früher schon kurz behandelt.
= Octave GUI =
Das GUI-Programm ('''G'''raphical '''U'''ser '''I'''nterface) von Octave entspricht im Wesentlichen anderen Programmier-Benutzeroberflächen (IDEs ... '''I'''ntegrated '''D'''evelopment '''E'''nvironments), wie z.B. Eclipse (Java), Code::Blocks (C/C++) oder Spyder (Python). Nachfolgend ist ein Screenshot des Octave-GUI mit einigen Anmerkungen dargestellt.
[[Bild:octave_gui2.jpg|600px]]
Probieren Sie einfach die Möglichkeiten der zur Verfügung gestellten GUI/IDE aus.
= Komplexere Aufgaben =
* Berechnen Sie die Fläche, den Umfang, die Seitenlängen, den Inkreis und den Umkreis eines Dreiecks. Stellen Sie das Dreieck inklusive In- und Umkreis grafisch dar. Speichern Sie die Daten in einer Datei. Die drei Eckpunkte dieses Dreiecks sollen vom Benutzer beliebig vorgegeben werden.
* Die Werte einer beliebig großen quadratischen Matrix seien in einer Datei gespeichert. Lesen Sie diese Datei ein und berechnen Sie daraus die Determinante der Matrix, die inverse Matrix, die Eigenvektoren und -werte, die Spur. Führen Sie die LR-Zerlegung durch. Geben Sie diese Werte am Bildschirm aus.
= Ausblick =
Dies war eine kurze Einführung in die Berechnungs- und Darstellungsmöglichkeiten mit Octave. Es sollten etliche relevante Themen behandelt, oder zumindest kurz angesprochen worden sein. Wem dieser Text nicht ausreichend ist, der sei auf die entsprechende weiterführende Literatur, die Octave-Hilfefunktion und die Octave-Dokumentation verwiesen. Octave kennt noch viel mehr Befehle, als hier dargestellt wurden. Aber auch Octave selbst ist erweiterbar. Man siehe z.B. Octave Packages (https://gnu-octave.github.io/packages/) oder man schreibt selbst Erweiterungen.
{{Navigation_zurückhochvor_buch|
zurücktext=Maxima|
zurücklink=Ing Mathematik: Computeralgebrasysteme am Beispiel von Maxima|
hochtext=Gesamtinhaltsverzeichnis|
hochlink=Ing:_Mathematik_für_Ingenieure|
vortext=Julia für Ingenieure|
vorlink=Ing Mathematik: Julia}}
mi0n9ycid72c2eaz87bay0mb0voxc8d
1091090
1091089
2026-09-19T14:44:44Z
Intruder
1513
/* .oct-Dateien */
1091090
wikitext
text/x-wiki
{{Navigation_zurückhochvor_buch|
zurücktext=Maxima|
zurücklink=Ing Mathematik: Computeralgebrasysteme am Beispiel von Maxima|
hochtext=Gesamtinhaltsverzeichnis|
hochlink=Ing:_Mathematik_für_Ingenieure|
vortext=Julia für Ingenieure|
vorlink=Ing Mathematik: Julia}}
= Hallo Welt und allgemeine Hinweise =
== Was ist Octave ==
* Octave ist eine Software zur numerischen Lösung mathematischer Probleme.
* Octave ist Open-Source (GPL-Lizenz).
* Octave ist für viele Betriebssysteme erhältlich (z.B. für Linux, MS Windows, macOS).
* Octave ist weitgehend kompatibel zum Numerik-Standardprogramm {{W|Matlab|MATLAB}}.
* Octave ist ein Interpreter.
* Octave als Programmiersprache ist case-sensitive - d.h. Groß- und Kleinschreibung ist relevant bei der Eingabe von Befehlen.
{{Wikipedia | GNU Octave}}
== Octave installieren ==
=== MS Windows ===
Laden Sie das aktuelle Octave-Paket von der Webseite [https://octave.org/download] herunter. Weiter geht es wie bei jedem anderen größeren zu installierenden Programm. Einfach das Installationsprogramm im Explorer doppelklicken und den Anweisungen des Setup-Programmes folgen.
=== Linux ===
Entweder ist Octave bereits standardmäßig installiert, ansonsten ist die Installation mittels Paketmanagementsystem einfach möglich. Dazu gehen Sie auf die Seite [https://wiki.octave.org/Category:Installation], wählen die vorhandene Linux-Variante und folgen der angegebenen Beschreibung (z.B. <code>zypper ... </code> für openSUSE. Oder Sie benutzen unter openSUSE Tumbleweed direkt das Setup-Programm {{W|YaST}}).
== Octave starten ==
=== MS Windows ===
Das Icon für das Octave-Programm doppelklicken (für das Konsolenprogramm ... CLI, für die grafische Benutzeroberfläche ... GUI). Und schon startet das Programm.
[[Datei:octavestart1.jpg]]
=== Linux ===
In einer Linux-Konsole den Befehl "octave" eintippen, mit der RETURN-Taste bestätigen, und das Programm (CLI) startet:
GNU Octave (x86_64-suse-linux-gnu) version 11.1.0
Copyright (C) 1993-2026 The Octave Project Developers.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>
This is free software; see the source code for copying conditions.
There is NO WARRANTY, to the extent permitted by law. For details, type 'warranty'.
Home page: <https://octave.org>
Support resources: <https://octave.org/support>
Improve Octave: <https://octave.org/get-involved>
For changes from previous versions, type 'news'.
octave:1>
Um Octave mit der eingebauten GUI zu starten, kann der Befehl <code>octave --force-gui</code> verwendet werden:
[[File:Gnu_Octave_IDE.png|600px]]
Alternativ kann, z.B. unter openSUSE Tumbleweed (mit {{W|KDE Plasma 6|KDE-Plasma}}), die Octave-IDE auch über den Application Launcher im Menü ''Education -> GNU Octave'' gestartet werden.
== Ein paar Worte zur Erklärung ==
Im Folgenden wird immer das Konsolenprogramm (CLI ... Command Line Interface) für die Eingabe von Befehlen benutzt. Erst gegen Ende dieses Textes wird auch kurz auf das GUI von Octave eingegangen.
Teilweise werden Ergebnisse der älteren Octave-Version 3.0.3 dargestellt. Die dargestellten Grafiken und Ausgabetexte können je nach Version leicht voneinander abweichen. Der Text wurde ursprünglich mit der Octave-Version 3.0.3 erstellt und anschließend auf die Versionen 5.2 bis 11.1.0 aktualisiert. Dieser Mischmasch sollte aber kein Problem darstellen.
Getestet wurden die Beispiele ursprünglich unter dem Betriebssystem MS Windows 10, später auch mit MS Windows 11, bzw. mit openSUSE Leap 15.6 (Octave 6.4.0, nur vereinzelt) und ab März 2026 auch mit openSUSE Tumbleweed (ab Octave 10.3.0, nur vereinzelt).
== Ein erstes Programm ==
Kommentare werden in Octave mit dem Prozentzeichen (%) oder alternativ mit der Raute (#) eingeleitet. Sie werden vom Octave-Interpreter ignoriert. Will man kompatibel mit MATLAB bleiben, so ist die Version mit dem %-Zeichen vorzuziehen. Text kann mit der disp-Funktion ausgegeben werden. Starten Sie Octave und geben sie folgende Anweisungen zeilenweise ein
octave-3.0.3.exe:1> % Das ist ein Kommentar
octave-3.0.3.exe:2> # und das auch
octave-3.0.3.exe:3> disp "Hallo Welt!"
Als Ergebnis erhalten Sie
Hallo Welt!
Der Prompt (z.B. octave-3.0.3.exe:1>) ist natürlich abhängig von der Octave-Version und den schon eingegebenen Zeilen. Er ist selbstverständlich nicht einzutippen, sondern wird vom Octave-System geliefert.
Strings können in Octave entweder in Anführungszeichen (") gesetzt werden oder in Hochkommatas('). In diesem Text wird die erste Variante bevorzugt eingesetzt.
= Octave als Taschenrechner =
== Allgemeines ==
Wir wollen 3 * 5 berechnen. Dazu starten wir Octave. Geben Sie dann die Formel
octave-3.0.3.exe:1> 3 * 5
ein, drücken die Taste ENTER/RETURN und erhalten als Ergebnis
ans = 15
Auch kompliziertere Ausdrücke sind möglich. Beispielsweise mit Winkelfunktionen, Quadratwurzeln etc. Wir wollen nun den Ausdruck <math>\sin\sqrt{15}</math> berechnen :
octave-3.0.3.exe:2> sin(sqrt(15))
ans = -0.6679
Octave kennt eine Handvoll von Konstanten, z.B.:
Zeilenweise Eingabe:
% Die Kreiszahl PI
pi
% Die Eulersche Zahl
e
% Zur Maschinengenauigkeit
eps
Ausgabe:
ans = 3.1416
ans = 2.7183
ans = 2.2204e-016
"ans" steht übrigens für den Begriff "answer" (auf Deutsch "Antwort"). Mit "ans" kann wie mit jeder anderen Variable oder Konstanten weitergerechnet werden, z.B.:
Eingabe:
% Der Kreisradius sei 10
10
% Der Kreis-Umfang mit diesem Radius sei folgendes
2 * pi * ans
Ausgabe:
ans = 10
ans = 62.832
Die Ausgabe eines Befehls am Bildschirm (das "Echo") kann übrigens durch Anwendung des Semikolons (;) unterdrückt werden. Gezeigt werden soll dies nun mit Hilfe des obigen Beispiels. Es soll nur der Umfang ausgegeben werden, nicht der Radius.
Eingabe:
% Der Kreisradius sei 10
10;
% Der Kreis-Umfang mit diesem Radius sei folgendes
2 * pi * ans
Ausgabe:
ans = 62.832
Vielleicht ist manchem die Genauigkeit, mit der Echo bzw. der Befehl disp Werte ausgibt, nicht ausreichend. Dem kann Abhilfe verschafft werden und zwar so:
Eingabe:
format short
pi
format long
pi
format longe
pi
% usw.
Ausgabe:
ans = 3.1416
ans = 3.14159265358979
ans = 3.14159265358979e+00
Beenden lässt sich das Octave-Programm durch Eingabe von quit oder exit (und natürlich zur Bestätigung die RETURN-Taste drücken).
== Die Hilfefunktion von Octave ==
Die Eingabe von help mit Angabe eines Funktionsnamens liefert detaillierte Infos zu der gesuchten Funktion.
Eingabe:
help sin
Ausgabe:
'sin' is a built-in function from the file libinterp/corefcn/mappers.cc
-- Y = sin (X)
Compute the sine for each element of X in radians.
See also: asin, sind, sinh.
Additional help for built-in functions and operators is
available in the online version of the manual. Use the command
'doc <topic>' to search the manual index.
Help and information about Octave is also available on the WWW
at https://www.octave.org and via the help@octave.org
mailing list.
Auch gibt es die doc-Funktion für eine vollständige Dokumentation des Octave-Systems, z.B.:
Eingabe:
doc
Ausgabe:
[[Datei:Octave_730_doc_screenshot.jpg]]
== Sonstige einfache Berechnungen ==
In octave gibt es eine "umgekehrte" Division:
11 / 2 % normale Division (Rechtsdivision)
11 \ 2 % umgekehrte Division (Linksdivision)
Ausgabe:
ans = 5.5000
ans = 0.1818
Potenzieren kann man so:
12^5
Ausgabe:
ans = 248832
Den Modulo-Operator % wie in C/C++, Java oder Python gibt es in Octave '''nicht'''. Das Prozentzeichen ist dem Kommentar vorbehalten. Man kann aber eine Funktion hierfür benutzen
y = mod(20, 3)
Ausgabe:
y = 2
Runden mit und auf Ganzzahlen kann man in Octave so:
a = int32(10);
b = int32(3);
x = a / b
y = int32(15) / int32(4)
Ausgabe:
x = 3
y = 4
Siehe dazu aber auch die Funktionen <code>floor</code>, <code>ceil</code> und <code>idivide</code>.
Mittels <code>int32()</code> werden Zahlen als 32-Bit-Ganzzahlen dargestellt. Standardmäßig ist der Datentyp nämlich <code>double</code>. Das ist zu beachten, es ergeben sich unterschiedliche Ergebnisse.
Beispiel:
clear();
a = int32(10);
b = int32(3);
x = a / b
c = 10;
d = 3;
y = c / d
whos()
Ausgabe:
x = 3
y = 3.3333
Variables visible from the current scope:
variables in scope: top scope
Attr Name Size Bytes Class
==== ==== ==== ===== =====
a 1x1 4 int32
b 1x1 4 int32
c 1x1 8 double
d 1x1 8 double
x 1x1 4 int32
y 1x1 8 double
Total is 6 elements using 36 bytes
Ist der Wertebereich von <code>int32</code> zu klein (4 Bytes, <math>-2^{31}</math> bis <math>2^{31} - 1</math>), so gibt es auch <code>int64</code> (8 Bytes, <math>-2^{63}</math> bis <math>2^{63} - 1</math>).
<code>clear</code> löscht Namen und gibt den Speicherplatz wieder frei. <code>whos()</code> liefert detaillierte Informationen der aktuell definierten Variablen.
== Aufgaben ==
* Berechnen Sie mit Octave den Ausdruck <math>\frac{1}{2}\cdot e^2 \cdot \tan(\pi/3)</math>.
* Berechnen Sie mit Octave den Ausdruck <math>2\; \text{cosd}(60) - 3\sin(\pi/5)</math>. Anmerkung: cosd erwartet den Parameter im Gradmaß (d für "degree"), sin erwartet den Parameter im Bogenmaß.
* Erkunden Sie die Fehlerfunktion "erf" mittels Octave-Hilfe.
* Welche Zahl ergibt sich durch <code>3 / 4 \ 2</code>?
* Welche Zahlen werden durch die folgenden Anweisungen ausgegeben?
idivide(int32(10), int32(3), "fix")
idivide(int32(10), int32(3), "round")
idivide(int32(10), int32(3), "floor")
idivide(int32(10), int32(3), "ceil")
floor(10.3)
ceil(10.3)
= Octave als Scriptsprache =
Häufig wird man aber kompliziertere Anweisungsfolgen verarbeiten müssen. Diese will man normalerweise nicht jedesmal neu eingeben, sondern in einer Datei speichern und diese Datei dann zur Ausführung bringen. Speichern Sie dazu folgenden Code in einer Textdatei, z.B. unter MS Windows als c:\tmp\test1.m
% Das ist ein Kommentar
# und das auch
disp "Hallo Welt!"
Skriptdateien müssen mit der Dateiendung .m versehen werden. In der Octave-Konsole fügen Sie den Dateipfad mittels
octave-3.0.3.exe:1> addpath("c:/tmp")
hinzu (es ist der UNIX-spezifische Slash (/) zu benutzen). Alternativ können Sie zumindest unter MS Windows auch einen Doppel-Backslash (\\) einsetzen. Oder Sie wechseln mittels <code>cd c:/tmp</code> direkt ins Verzeichnis <code>c:/tmp</code>.
Danach bringen Sie die Skriptdatei test1.m (sozusagen das Hauptprogramm) zur Ausführung
octave-3.0.3.exe:2> test1
Achtung: Die Datei (die Funktion oder das Hauptprogramm) ist in der Octave-Kommandozeile ohne .m-Dateiendung anzugeben. Wie erwartet ergibt sich folgende Ausgabe am Bildschirm
Hallo Welt!
Zumindest unter Linux können Sie z.B. auch komfortabel den {{W|Shebang|Shebang}} (<code>#!</code>) nutzen. Gegeben sei das Octave-Script
#!/usr/bin/octave
disp("Hallo Welt!");
Gepeichert sei es ebenfalls als <code>test1.m</code>. Starten Sie ein Terminal, wechseln Sie in das entsprechende Arbeitsverzeichnis und geben Sie
./test1.m
ein, so erhalten Sie wieder
Hallo Welt!
als Ausgabe auf dem Terminal. Die Zugriffsberechtigung muss natürlich mittels <code>chmod</code> richtig gesetzt werden. Oder Sie führen direkt Octave mit der Datei <code>test1.m</code> aus:
octave test1.m
Sie sehen, mehrere Wege führen zum Ziel.
== Blockkommentare ==
In neueren Octave-Versionen ab dem Jahr 2009 sind auch Blockkommentare möglich. Blockkommentare werden wie normale Kommentare vom Octave-Interpreter ignoriert.
%{
Das ist ein
Blockkommentar
%}
#{
und das auch
#}
== Variablen ==
Variablenbezeichner können aus Buchstaben (A-Za-z), Ziffern (0-9) und Underscores (_) bestehen, dürfen aber nicht mit einer Zahl beginnen.
Gültige Variablenbezeichner wären also:
xyz
x1
_wert
name_anzahl
Da Octave case-sensitiv ist, repräsentieren folgende Bezeichner verschiedene Variablen:
xyz
XYZ
xYz
Werte werden an Variablen mittels Gleich-Zeichen (=) zugewiesen. Im Folgenden wird der Code immer in der Datei c:\tmp\test1.m gespeichert.
x = 5
y = 10
z = x*y
Bringen Sie die Datei test1.m zur Ausführung, so erhalten Sie folgende Bildschirmausgabe
x = 5
y = 10
z = 50
Normalerweise will man aber nur z anzeigen, die Werte von x und y sind ja bereits bekannt. Dazu fügen Sie an den Anweisungsenden, wie bereits weiter oben erwähnt, bei x und y jeweils ein Semikolon (;) an, um das Anweisungsende explizit zu markieren.
x = 5;
y = 10;
z = x*y
Nun erhalten Sie als Ergebnis nur noch
z = 50
Sie können auch mehrere Anweisungen in einer Zeile durch Semikolon getrennt schreiben.
x = 5; y = 10; z = x*y
Ausgabe:
z = 50
Auch aus der Programmiersprache C/C++ oder Java bekannte Konstrukte können Sie verwenden, z.B.
x = 5;
% inkrementiere x
++x
% x = x - 2
x -= 2
Bildschirmausgabe:
ans = 6
x = 4
Beachten Sie, dass mit dem =-Zeichen eine Wertezuweisung durchgeführt wird. Dies ist nicht äquivalent zum mathematischen =-Zeichen, wie am vorigen Beispiel zu ersehen ist.
Soll eine Anweisung auf mehrere Zeilen verteilt werden, z.B. weil sie zu lang ist, so kann dies durch Verwendung von drei Punkten (...) geschehen, wie nachfolgend dargestellt.
x = 5;
y = 1000 * x + ...
sin(x/2)
Ausgabe:
y = 5000.6
Diese Drei-Punkte-Methode soll nicht für in Anführungszeichen (") eingeschlossene Strings verwendet werden. Diese Methode ist seit geraumer Zeit "deprecated" und funktioniert mit der Version 9.1.0 gar nicht mehr. Benutzen Sie statt dessen den Backslash (\):
txt = "xxxxxxxxxxxxxxxxxxxx\
yyyyyyyyyyyyyyyyy"
Ausgabe:
txt = xxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyy
Variablen sind nicht an einen bestimmten Datentyp gebunden, folgendes ist in Octave problemlos möglich:
wert = 10
wert = 35.5
wert = "Hallo"
wert = pi
Ausgabe:
wert = 10
wert = 35.500
wert = Hallo
wert = 3.1416
Der Befehl <code>who</code>, bzw. <code>whos</code> listet die gegenwärtig definierten Variablen, z.B.:
clear;
a = 10.5;
v = [1 2 3 4 5 12 13];
m = ["s1", "s2"; "s3", "s4"];
disp "***** Der Befehl who *****"
who
disp "***** Der Befehl whos *****"
whos
Ausgabe:
***** Der Befehl who *****
Variables visible from the current scope:
a m v
***** Der Befehl whos *****
Variables visible from the current scope:
variables in scope: top scope
Attr Name Size Bytes Class
==== ==== ==== ===== =====
a 1x1 8 double
m 2x4 8 char
v 1x7 56 double
Total is 16 elements using 72 bytes
==Hexadezimale und binäre Zahlen==
% Hexadezimale Zahl
disp( 0xABC )
% Binäre Zahl
disp( 0b1000011 )
Ausgabe (als Dezimalzahlen):
2748
67
Octave kann auch dezimale in binäre Zahlen etc. umwandeln:
dec2bin( 214 )
Ausgabe:
ans = 11010110
Siehe dazu in der Octave-Hilfe auch folgende Funktionen:
bin2dec, dec2base, dec2hex, hex2dec, base2dec
== Zahlenkolonnen ==
Eine Zahlenkolonne (oder ein Vektor) mit gleichen Abständen der Werte kann folgendermaßen erzeugt werden:
% a ... Startwert
% b ... Schrittweite
% c ... Endwert
a = 0;
b = 10;
c = 100;
x = a : b : c;
disp(x);
Ausgabe:
0 10 20 30 40 50 60 70 80 90 100
Ähnliche Resultate lassen sich auch durch Anwendung der linspace-Funktion erhalten, z.B.:
% a ... Startwert
% b ... Endwert
% c ... Anzahl der Werte
a = 0;
b = 100;
c = 11;
v = linspace(a, b, c)
Ausgabe:
v =
0 10 20 30 40 50 60 70 80 90 100
== Verzweigungen ==
=== Die IF-Verzweigung ===
Die IF-Verzweigung ist aus anderen Programmiersprachen bereits bekannt. In Pseudocode lässt sie sich folgendermaßen darstellen:
WENN bedingung TRUE
führe block1 aus
SONST
führe block2 aus
ENDE
Die test1.m-Datei laute also wie folgt:
x = 5;
if x < 4
disp "x ist kleiner als 4";
else
disp "Der else-Zweig wird ausgefuehrt";
disp "x ist groesser oder gleich 4";
end
Ausgabe:
Der else-Zweig wird ausgefuehrt
x ist groesser oder gleich 4
Octave kennt eine Reihe von Vergleichs- und Verknüpfungsoperatoren:
* <, <= ... kleiner (gleich)
* >, >= ... größer (gleich)
* == ... gleich
* ~=, != ... ungleich
* &, && ... AND
* |, || ... OR
* ~, ! ... NOT
Beispielsweise:
a = 5;
b = 9;
if a<=10 & b!=7
disp("OK");
else
disp("Nicht OK");
end
Ausgabe:
OK
=== Die SWITCH-Verzweigung ===
In Pseudocode:
WECHSLE ZU var
FALLS wert1 == var
führe block1 aus
FALLS wert2 == var
führe block2 aus
...
SONST
führe blockn aus
ENDE
Eine Beispielsimplementierung in Octave könnte so aussehen:
x = "g";
switch(x)
case "k"
disp("klein");
case "g"
disp("gross");
otherwise
disp("sonstiges")
end
Ausgabe:
gross
Anmerkungen für C-Programmierer:
* in Octave darf zum Abschluß von ''case'' kein Doppelpunkt folgen (würde einen Syntaxfehler auslösen).
* ein ''break'' als Abschluß eines ''case''-Blocks ist nicht erlaubt (würde in Octave einen parse error auslösen). ''break'' ist Schleifen vorbehalten. ''switch'' hat in Octave keinen "Durchfall" und ähnelt somit eher der Fortran-Anweisung ''select case''.
Mehrere Fälle in einem ''case'' können wie nachfolgend behandelt werden:
x = "K";
switch(x)
case {"k" "K"}
disp("klein");
case {"g" "G"}
disp("gross");
otherwise
disp("sonstiges")
end
Ausgabe:
klein
== Schleifen ==
=== Die WHILE-Schleife ===
Die WHILE-Schleife ist kopfgesteuert. Sie funktioniert wie aus anderen Programmiersprachen bekannt.
In Pseudocode:
SOLANGE bedingung TRUE
führe block aus
ENDE
In Octave:
x = 0;
while x <= 10
disp(x);
x++;
end
Ausgabe:
0
1
2
3
4
5
6
7
8
9
10
=== Die DO-UNTIL-Schleife ===
Die DO-UNTIL-Schleife ist fußgesteuert. Beachte: Diese Schleife ist nicht äquivalent zu der aus anderen Programmiersprachen bekannten DO-WHILE-Schleife. DO-WHILE bedeutet "TUE SOLANGE", DO-UNTIL bedeutet "TUE BIS". Sie wird mindestens einmal ausgeführt.
Pseudocode:
TUE
führe block aus
BIS bedingung TRUE
Mittels Octave:
x = 0;
do
disp(x);
x++;
until(x >= 5)
Ausgabe:
0
1
2
3
4
=== Die FOR-Schleife ===
for x = 0 : 2 : 10
disp(x);
end
Ausgabe:
0
2
4
6
8
10
Der FOR-Schleifenkopf ist in Form einer Zahlenkolonne folgendermaßen aufgebaut:
for variable = startwert : schrittweite : endwert
Man beachte, dass Vektorisierung gegenüber einem Schleifendurchlauf eine erhebliche Zeiteinsparung bewirken kann (man siehe in der [https://docs.octave.org/latest/Vectorization-and-Faster-Code-Execution.html Octave-Dokumentation das Kapitel 19 "Vectorization and Faster Code Execution"]). Folgendes Beispiel ist an genanntes Octave-Kapitel angelehnt. Zuerst wird eine Berechnung mittels Schleifendurchlauf durchgeführt und der Zeitbedarf ausgegeben. Dieser Zeitbedarf hängt natürlich auch von der verwendeten Hardware etc. ab.
Eingabe:
n = m = 500;
a = b = eye(500);
t1 = time();
for i = 1:n
for j = 1:m
c(i,j) = a(i,j) + b(i,j);
endfor
endfor
t2 = time();
t_diff = t2-t1
Ausgabe:
t_diff = 3.7566
Der Zeitverbrauch beträgt hier also ca. 4 Sekunden. Im Gegensatz dazu
Eingabe:
a = b = eye(500);
t1 = time();
c = a + b;
t2 = time();
t_diff = t2-t1
Ausgabe:
t_diff = 1.5974e-05
ist der Zeitverbrauch hier sehr gering. Vektoren und Matrizen werden etwas später in diesem Text detailliert behandelt. Hier nur soviel: Mittels ''eye'' wird eine Einheitsmatrix kreiert.
=== Schleifen abbrechen ===
Zum Abbrechen einer Schleife gibt es den Befehl "break".
for var = 0 : 1 : 100
disp (var);
if var == 5
break;
end
end
Ausgabe:
0
1
2
3
4
5
"continue" setzt mit dem nächsten Schleifendurchlauf fort, z.B.
for var = 0 : 1 : 10
if var == 5
continue;
end
disp (var);
end
Ausgabe:
0
1
2
3
4
6
7
8
9
10
== Aufgaben ==
* Berechnen Sie die Summe der ersten 10000 natürlichen Zahlen (bei 1 beginnend)
** in Form einer WHILE-Schleife
** in Form einer DO-UNTIL-Schleife
** in Form einer FOR-Schleife
** mittels sum-Befehl (siehe dazu auch die von Octave zur Verfügung gestellte Hilfefunktion).
** mittels gaußscher Summenformel (<math>\sum_{i=1}^n{i} = 1+2+...+n = n(n+1) / 2</math>)
* Schreiben Sie für obige Alternativen Programme mit denen der Zeitbedarf der Schleifen, Befehle bzw. Formeln gemessen werden kann. Welche Alternativen sind aus Zeitgründen (minimale Laufzeit) empfehlenswert?
= Grafiken zeichnen =
== 2D ==
=== Graph einer Funktion ===
Es soll die cosh-Funktion im Intervall <math>x\in[-3,3]</math> gezeichnet werden. Der Programmcode lautet in der einfachsten Form:
x = -3 : .1: 3;
y = cosh(x);
plot(x,y);
grid on;
Ausgabe:
[[Datei:octave_cosh.jpg]]
Der Code ist quasi selbsterklärend. x läuft von -3 bis +3. y wird für jeden x-Wert per Formel ausgerechnet. "plot" ist der Zeichenbefehl. "grid on" schaltet ein Zeichengitter ein.
Die Schrittweite 0.1 wurde so gewählt, um einen ausreichend glatten Verlauf des Graphen zu gewährleisten. Das ist immer ein Kompromiss zwischen Berechnungszeit und Ansehnlichkeit. Testen Sie einfach ein paar verschiedene Werte, um ein Gefühl dafür zu zu bekommen.
Sie könnten nun auf die Idee kommen, obiges Script unter Linux mit der Shebang-Zeile zu erweitern, um es direkt als Programm auszuführen.
#!/usr/bin/octave
x = -3 : .1: 3;
y = cosh(x);
plot(x,y);
grid on;
Die Enttäuschung folgt auf dem Fuß. Außer einem kurzen Aufblinken des Grafikfensters ist nicht viel zu sehen. Das Programm läuft einfach durch und wird nach der letzten Anweisung beendet. Abhilfe kann z.B. der <code>input</code>-Befehl schaffen:
#!/usr/bin/octave
x = -3 : .1: 3;
y = cosh(x);
plot(x,y);
grid on;
refresh();
input("Zum Beenden RETURN-Taste drücken");
Das Programm wartet somit, bis Sie im Terminal die RETURN-Taste drücken. <code>refresh()</code> dient dazu, das Grafikfenster unmittelbar zu aktualisieren. Sonst würde das Ausgabefenster leer bleiben, bis es durch externe Anreize aktualisiert wird (z.B. durch Fenster minimieren/maximieren). Gleiches gilt für die <code>octave test1.m</code>-Variante.
Ein etwas komplexeres Beispiel ist Folgendes
x = -3 : .1: 3;
y = cosh(x) + 2.^x;
plot(x,y);
grid on;
Man beachte den Punkt bei 2.^x (2 hoch x). Vergisst man den Punkt, dann erhält man eine Fehlermeldung (ähnlich dieser):
error: for x^y, only square matrix arguments are permitted and one argument must be scalar. Use .^ for elementwise power.
error: called from
test1 at line 2 column 3
Ausgabe:
[[Datei:octave_cosh2.jpg]]
Der Funktionsgraph kann auch als Fläche eingefärbt werden:
x = -3 : .1: 3;
y = cosh(x) + 2.^x;
fill (x, y, "b");
Ausgabe:
[[Datei:octave_cosh3.jpg | 500px]]
=== Graphen mehrerer Funktionen und weiteres ===
Mehrere Graphen lassen sich folgendermaßen in ein Fenster zeichnen:
x = -3 : .1: 3;
y1 = cosh(x) + 2.^x;
y2 = sin(x) .* cos(x);
plot(x,y1, x,y2);
title("Funktionsgraphen");
legend("cosh ...", "sin ...");
xlabel("x");
ylabel("y");
grid on;
[[Bild:octave_cosh14.jpg|600px]]
Um die Linienstile etwas individueller zu gestalten, ist folgender Programmcode gedacht:
x = -3 : .1: 3;
y1 = cosh(x) + 2.^x;
y2 = sin(x) .* cos(x);
plot(x,y1,"*r", x,y2,"ob");
title("Funktionsgraphen");
legend("cosh ...", "sin ...");
xlabel("x");
ylabel("y");
grid on;
[[Datei:octave_cosh4.jpg]]
Bei plot kann auch der Linienstil des jeweiligen Graphen angegeben werden, z.B. steht
* für Sternchenlinie
o für Kreise in der Linie
r für rot
b für blau
Ein ähnliches Resultat liefert der Code:
x = -3 : .1: 3;
y1 = cosh(x) + 2.^x;
y2 = sin(x) .* cos(x);
plot(x,y1, "Color", "red", "*", x,y2, "Color", "blue", "o");
title("Funktionsgraphen");
legend("cosh ...", "sin ...");
xlabel("x");
ylabel("y");
grid on;
Will man mehrere Graphen in ein Fenster zeichnen, aber nicht alles in einen plot-Befehl quetschen, so kann die "hold on"-Anweisung die Lösung des Problems sein:
%Lösche alle benutzerdefinierten Variablen aus der Symboltabelle
clear;
%Schließe alle Fenster
close all;
%Lösche Konsolenfenster und setze Cursor zurück
clc;
x = -3 : .1: 3;
y1 = cosh(x) + 2.^x;
y2 = sin(x) .* cos(x);
plot(x,y1, "Color", "red");
hold on;
plot(x,y2, "Color", "blue");
title("Funktionsgraphen");
legend("cosh ...", "sin ...");
xlabel("x");
ylabel("y");
grid on;
[[Datei:octave_coshsin1.jpg]]
Bei diesem Program wurden auch einige Möglichkeiten (clear, close, clc) gezeigt, um das System aufzuräumen. Ein "hold off" würde natürlich die hold-Funktion wieder ausschalten.
=== Funktion in Parameterdarstellung ===
Es soll die archimedische Spirale <math>x = t \cos(t), y = t \sin(t)</math> im Intervall <math>[0, 6\pi]</math> gezeichnet werden.
clear;
close all;
clc;
t = 0 : .1: 6*pi;
x = t .* cos(t);
y = t .* sin(t);
plot(x,y);
grid on;
[[Datei:octave_spirale1.jpg]]
Diese Darstellung erscheint verzerrt. Will man gleiche Achsenskalierungen, so kann man den axis-Befehl verwenden (axis muss nach plot erscheinen).
t = 0 : .1: 6*pi;
x = t .* cos(t);
y = t .* sin(t);
plot(x,y);
grid on;
axis equal;
[[Datei:octave_spirale222.jpg]]
=== Strichstärke ===
Für manche Zwecke ist es sinnvoll die Strichstärke des Graphen zu erhöhen. Dies kann über den Parameter "LineWidth" der plot-Funktion geschehen.
t = 0 : .1: 6*pi;
x = t .* cos(t);
y = t .* sin(t);
plot(x,y, "LineWidth", 2);
grid on;
axis equal;
Ausgabe:
[[Datei:octave_spirale3.jpg]]
=== Beliebigen Text ausgeben ===
x = -10:0.1:10;
plot (x, sin (x), "LineWidth", 2);
text (2.7, 0.8, "Das ist die sin-Funktion");
Ausgabe:
[[Datei:octave_text1.jpg]]
=== Logarithmische Achseneinteilung ===
x = -3 : .1: 3;
y = cosh(x) + 2.^x;
% Halblogarithmische Darstellung
semilogy(x,y);
grid on;
Ausgabe:
[[Datei:octave_semilog1.jpg]]
Auch die x-Achse kann mit "semilogx" logarithmisch skaliert werden. Mit "loglog" werden beide Achsen logarithmisch skaliert.
=== Aufgaben ===
* Zeichnen Sie die Strophoide <math>x = \frac{a(t^2-1)}{t^2+1}, y = \frac{at(t^2-1)}{t^2+1}, a = 2, -3 \leq t \leq 3</math>. Das Ganze sollte in etwa so aussehen wie folgende Grafik:
[[Datei:octave_strophoide.jpg]]
* Zeichnen Sie die verschlungene Hypozykloide <math>x = (R-r)\cos t + c\cos\frac{R-r}{r}t, y = (R-r)\sin t - c\sin\frac{R-r}{r}t, c = 3, r = 2, R = 6, -15 \leq t \leq 15</math>. Das Ganze sollte in etwa so aussehen wie folgende Grafik:
[[Datei:octave_hypozykloide.jpg]]
* Testen Sie bei den obigen Übungsaufgaben verschiedene Linienstile und Farben (Hinweis: Siehe dazu auch die Octave-Hilfefunktion für den plot-Befehl).
* Testen Sie bei den obigen Übungsaufgaben verschiedene Werte für a, c, r und R.
* Erkunden Sie in der Octave-Hilfe den ezplot-Befehl.
== 3D ==
=== Räumliche Kurven ===
Mittels "plot3" lassen sich Raumkurven zeichnen.
t = 0 : .1 : 9*pi;
x = cos(t);
y = sin(t);
z = 1.3 .^ t;
plot3(x,y,z);
grid on;
[[Datei:octave_raumkurve1.jpg]]
=== Flächen ===
==== ezsurf ====
Die wahrscheinlich einfachste Möglichkeit 3D-Flächen zu erzeugen, besteht in der Verwendung des ezsurf-Befehls. Beachten Sie beim folgenden Beispiel auch wieder den Punkt beim Multiplikationssymbol (elementweise Multiplikation soll verwendet werden, keine Matrizenmultiplikation) in der anonymen Funktion. Was eine anonyme Funktion ist, wird weiter hinten in diesem Text kurz erklärt. Fürs Erste reicht es zu wissen, dass die Funktion f(x, y) jeweils im Intervall [0, 10] gezeichnet werden soll.
clear; close all; clc; clf;
f = @(x, y) sin(x) + 3.*cos(y);
ezsurf (f, [0, 10]);
[[Bild:octave_ezsurf1.jpg|600px]]
Dieses Bild wurde mit der Octave-Version 5.2 erstellt. Es ist im Prinzip identisch zu jenen des folgenden Abschnitts, die mit der Version 3.0.3 erstellt wurden, nur die Farbschattierung ist anders. Ändern lässt sich diese Eigenschaft mit dem colormap-Befehl (siehe auch Octave-Hilfe):
clear; close all; clc; clf;
colormap(hot);
f = @(x, y) sin(x) + 3.*cos(y);
ezsurf (f, [0, 10]);
[[Bild:octave_colormap_hot.jpg|600px]]
==== surf und mesh ====
Für das Zeichnen von Flächen existiert der surf-Befehl. Der meshgrid-Befehl kreiert ein Netz in der xy-Zeichenebene. Beachten Sie beim folgenden Beispiel auch wieder den Punkt beim Multiplikationssymbol der Formel für z.
x = 0 : .1 : 10;
y = 0 : .1 : 10;
[x_grid, y_grid] = meshgrid(x, y);
z = sin(x_grid) + 3.*cos(y_grid);
surf(x_grid, y_grid, z);
[[Datei:octave_flaeche1.jpg]]
Auch ein Farbstreifen kann via "colorbar" zur Grafik hinzugefügt werden.
x = 0 : .1 : 10;
y = 0 : .1 : 10;
[x_grid, y_grid] = meshgrid(x, y);
z = sin(x_grid) + 3.*cos(y_grid);
surf(x_grid, y_grid, z);
colorbar("East");
[[Datei:octave_flaeche2.jpg]]
Das Ganze in Netzdarstellung läßt sich so programmieren:
x = 0 : .2 : 10;
y = 0 : .2 : 10;
[x_grid, y_grid] = meshgrid(x, y);
z = sin(x_grid) + 3.*cos(y_grid);
mesh(x_grid, y_grid, z);
Ausgabe:
[[Datei:octave_mesh1.jpg]]
==== Ellipsoide und Kegel ====
Für das Zeichnen von Kugeln oder Ellipsoiden stellt Octave den "sphere"-Befehl bzw. den "ellipsoid"-Befehl zur Verfügung.
clear; close all; clc;
% Ellipsoiden zeichnen
[x, y, z] = sphere(30);
surf(5*x, 4*y, 3*z);
hold on;
[x, y, z] = ellipsoid(5, 5, 5, 6, 3, 2, 30);
surf(x, y, z);
axis equal;
[[Bild:octave_ellipsoid2.jpg|600px]]
Für Zylinder und Kegel ist der "cylinder"-Befehl zuständig.
clear; close all; clc;
% Kegel und Zylinder zeichnen
[x, y, z] = cylinder([1 2], 100);
surf(x, y, z*3);
hold on;
[x, y, z] = cylinder([0.5 0.5], 50);
surf(x+3, y, z*2);
axis equal;
[[Bild:octave_cylinder2.jpg|600px]]
=== Aufgaben ===
* Zeichnen Sie die räumliche Kurve <math>x = 2 \cdot \cosh(t)</math>, <math>y = 5 \cdot \sin(t)</math>, <math> z = t^{2} - t</math>, <math>0 \leq t \leq 3\pi</math>. Das Ganze sollte etwa wie folgt aussehen:
[[Datei:octave_kurve10.jpg]]
* Zeichnen Sie die Fläche <math>z = \log(x) + \cos(y)</math>. Das Ganze sollte etwa wie folgt aussehen:
[[Datei:octave_flaeche10.jpg]]
== Weiteres ==
=== subplot ===
Zeichnen mit Untergrafiken: Hier wird z.B. ein Fenster mit drei Untergrafiken gezeichnet.
Eingabe:
t = 0 : .5 : 10;
[x_grid, y_grid] = meshgrid(t, t);
subplot(311);
surf(x_grid, y_grid, sin(x_grid) + cos(y_grid) );
subplot(312);
surf(x_grid, y_grid, sin(x_grid) + log(y_grid) );
subplot(313);
surf(x_grid, y_grid, x_grid + cos(y_grid) );
Ausgabe:
[[Datei:octave_subplot2.jpg]]
Die dreistellige Ziffer beim subplot-Befehl bedeutet folgendes:
* Die erste Ziffer ist die Zeilenanzahl
* Die zweite Ziffer ist die Reihenanzahl und
* Die dritte Ziffer ist der Index.
Nun sei ein Beispiel mit 3x2-Untergrafiken angeführt.
clear;
close all;
clc;
x = 0 : .1 : 10;
subplot(321);
plot(x, sin(x));
text(2, -0.5, "Index 1");
subplot(322);
plot(x, tan(x));
text(2, 2, "Index 2");
subplot(323);
plot(x, cosh(x) );
text(2, 3000, "Index 3");
subplot(324);
plot(x, gamma(x) )
text(2, 100000, "Index 4");
subplot(325);
plot(x, log(x) );
text(2, 0, "Index 5");
subplot(326);
plot(x, exp(x) );
text(2, 10000, "Index 6");
Ausgabe:
[[Datei:octave_subplot3.jpg]]
Hier ist sehr gut zu sehen, in welcher Reihenfolge der Index läuft.
=== figure ===
Zeichnen in verschiedene Fenster, z.B.
clear;
close all;
clc;
x = 0 : .1 : 10;
y = 0 : .1 : 10;
[x_grid, y_grid] = meshgrid(x, y);
figure(1)
surf(x_grid, y_grid, sin(x_grid) + cos(y_grid));
figure(2)
surf(x_grid, y_grid, sin(x_grid) + log(y_grid));
Ausgabe:
[[Datei:octave_figure111.jpg|700px]]
=== Linien zeichnen ===
Zeichnen Sie eine Linie von der Koordinate [-15, 0] zu [15, 5]:
clear;
close all;
clc;
x = line([-15 15], [0, 5], "Color", "black", "LineWidth", 2);
Ausgabe:
[[Datei:octave_linie1.jpg]]
Man beachte, dass Octave nicht Punkte P1(x1, y1), P2(x2, y2) erwartet, sondern einen x-Vektor [x1 x2] und einen y-Vektor [y1 y2].
Ein allgemeines Viereck wird z.B. mit folgendem Befehl gezeichnet.
line([-15 15 10 -5, -15], [0, 5, 20, 15, 0], "LineWidth", 2);
[[Datei:octave_viereck2.jpg]]
Auch dreidimensionale Formen lassen sich mit dem line-Befehl zeichnen:
clear; close all; clc;
line([-15 15 10 -5, -15], [0, 5, 20, 15, 0], [10, 20, 30, 40, 50], "LineWidth", 2);
[[Datei:octave_dreidim2.jpg]]
=== Aufgaben ===
* Zeichnen Sie mittels "subplot" die Funktionsgrafen <math>y_1=\tan(x), y_2=\tan(2x), y_3=\tan\sqrt x, y_4=x\cdot \tan(x)</math> in folgender Form in ein Fenster:
** in 2x2-Darstellung
** in 1x4-Darstellung.
* Zeichnen Sie die im obigen Beispiel angegebenen Funktionsgrafen mittels "figure" jeweils in ein eigenes Fenster.
= Vektoren und Matrizen =
== Vektoren ==
Vektoren sollten jedem aus der Linearen Algebra bekannt sein.
=== Zeilen- und Spaltenvektoren ===
% Ein Zeilenvektor
v1 = [1, 2, 3]
% Ein Spaltenvektor
v2 = [6; 7; 8]
Ausgabe:
v1 =
1 2 3
v2 =
6
7
8
Alternative Schreibweisen:
% Ein Zeilenvektor
v1 = [1 2 3]
% Ein Spaltenvektor
v2 = [6
7
8]
Die Ausgabe entspricht der obigen Darstellung.
=== Zugriff auf Vektorelemente ===
Nachfolgend seien einige Zugriffsmöglichkeiten auf die einzelnen Vektorelemente erläutert.
Auf ein einzelnes Element kann via Index zugegriffen werden. Der Index startet bei 1:
v1 = [1 2 4 8 16];
v2 = v1(3)
Ausgabe:
v2 = 4
Mehrere Elemente werden folgendermaßen angesprochen:
v1 = [1 2 4 8 16];
v2 = v1(3:4)
Ausgabe:
v2 =
4 8
Liefere den Teilvektor von einem gegebenen Index bis zum letzten Element:
v1 = [1 2 4 8 16];
v2 = v1(3:end)
Ausgabe:
v2 =
4 8 16
=== Addition und Subtraktion von Vektoren ===
v1 = [1, 2, 3];
v2 = [5, 7, 9];
res = v1 + v2
res = v1 - v2
Ausgabe:
res =
6 9 12
res =
-4 -5 -6
=== Multiplikation mit Skalaren ===
faktor = 3;
v = [1, 2, 3];
res = faktor * v
Ausgabe:
res =
3 6 9
=== Skalarprodukt ===
Das Skalarprodukt ist bekanntermaßen als <math>v_1 \cdot v_2 = |v_1| |v_2| \cos(\angle(v_1, v_2))</math> definiert. In Octave sieht das so aus:
v1 = [1, 2, 3];
v2 = [5, 6, 7];
res = dot(v1, v2)
Ausgabe:
res = 38
=== Vektorprodukt ===
v1 = [1, 2, 3];
v2 = [5, 6, 7];
res = cross(v1, v2)
Ausgabe:
res =
-4 8 -4
Enger an die mathematische Darstellung lehnt sich folgender Code an. Die zu multiplizierenden Vektoren seien in Form von Spaltenvektoren gegeben.
Mathematisch:
<math>a\ast b=\left(\begin{array}{c}
a_{1}\\
a_{2}\\
a_{3}
\end{array}\right)\ast\left(\begin{array}{c}
b_{1}\\
b_{2}\\
b_{3}
\end{array}\right)=\left(\begin{array}{c}
a_{2}b_{3}-a_{3}b_{2}\\
a_{3}b_{1}-a_{1}b_{3}\\
a_{1}b_{2}-a_{2}b_{1}
\end{array}\right)
</math>
Octave-Code:
a = [1
2
3];
b = [5
6
7];
res = cross(a, b)
Ausgabe:
res =
-4
8
-4
=== Transponierter Vektor ===
v1 = [1, 2, 3];
v2 = [5; 6; 7];
res1 = v1'
res2 = v2'
Ausgabe:
res1 =
1
2
3
res2 =
5 6 7
=== Einige weitere Vektorfunktionen ===
Beispiel:
% 1 + 2 + 3
v = [1 2 3];
sum(v)
Ausgabe:
ans = 6
Beispiel:
% 1 * 2 * 3 * 4
v = [1 2 3 4];
prod(v)
Ausgabe:
ans = 24
Beispiel:
% 1^2 + 2^2 + 3^2
v = [1 2 3];
sumsq (v)
Ausgabe:
ans = 14
== Matrizen ==
Gegeben sei folgende 2x3-Matrix <math>m=\left(\begin{array}{ccc}
1 & 2 & 3\\
4 & 5 & 6
\end{array}\right)</math>.
Eingabe:
m = [1, 2, 3; 4, 5, 6]
Ausgabe:
m =
1 2 3
4 5 6
Alternativ und anschaulicher kann diese 2x3-Matrix auch so eingegeben werden:
m = [1 2 3
4 5 6]
Dies ist schon sehr nahe an der mathematischen Darstellungsweise.
=== Zugriff auf Matrizenelemente ===
m = [1 2 3
4 5 6];
% Element aus Zeile 2 und Spalte 3
m(2,3)
Ausgabe:
ans = 6
Eine andere Zugriffsmöglichkeit ist diese:
m = [1 2 3
4 5 6];
% Auf das fünfte Element soll zugegriffen werden
m(5)
Ausgabe:
ans = 3
Die Matrix wird also spaltenweise durchlaufen (nicht zeilenweise). Dies ist vielleicht auf den ersten Blick etwas ungewöhnlich, wird aber z.B. auch in Fortran so gehandhabt.
Auch Teilmatrizen können einfach gebildet werden:
m = [1 2 3
4 5 6];
m(2:end, 2:end)
Ausgabe:
ans =
5 6
Siehe zu diesem Thema auch etwas weiter hinten in diesem Text den Abschnitt "Teilmatrizen".
=== Addition und Subtraktion von Matrizen ===
m1 = [1, 2, 3; 4, 5, 6];
m2 = [-4, -2, 0; 2, 4, 6];
m1 + m2
m1 - m2
Ausgabe:
ans =
-3 0 3
6 9 12
ans =
5 4 3
2 1 0
=== Transponierte Matrix ===
m = [1, 2, 3; 4, 5, 6];
m'
Ausgabe:
ans =
1 4
2 5
3 6
=== Rang einer Matrix ===
Der Rang einer Matrix Rg(M) ist die maximale Anzahl der linear unabhängigen Zeilenvektoren (Spaltenvektoren).
m1 = [1, 2, 3; 4, 5, 6];
m2 = [1, 2; 2, 4];
rank(m1)
rank(m2)
Ausgabe:
ans = 2
ans = 1
Regulär ist eine nxn-Matrix, wenn der Rg(M) = n. D.h. die erste Matrix m1 ist regulär, die zweite m2 singulär.
=== Inverse Matrix ===
m1 = [1, 3; 0, -5 ];
m2 = [1, 2; 2, 4];
inv(m1)
inv(m2)
Ausgabe:
ans =
1.00000 0.60000
0.00000 -0.20000
warning: matrix singular to machine precision
warning: called from
test1 at line 4 column 1
ans =
Inf Inf
Inf Inf
Die Matrix m2 in diesem Beispiel ist singulär (d.h. die Determinante ist 0). Determinanten werden etwas weiter unten in diesem Text behandelt. Inf steht für Infinity (= Unendlich).
=== Multiplikation von Matrizen (falksches Schema) ===
m1 = [1, 3, 4; 0, -5, 1];
m2 = [1, 2; 2, 3; 0, 2];
m1 * m2
Ausgabe:
ans =
7 19
-10 -13
Will man aus irgendwelchen Gründen nicht das falksche Schema ausführen, sondern elementweise Multiplikation, so funktioniert das mit dem Punkt-Operator, z.B.
m1 = [1, 3; 0, -5];
m2 = [1, 2; 4, 2];
% falksches Schema
m1 * m2
% elementweise Multiplikation
m1 .* m2
Ausgabe:
ans =
13 8
-20 -10
ans =
1 6
0 -10
Verifikation, falksches Schema (Zeile*Spalte):
[ 1 3 ] [ 1 2 ] [ 1*1+3*4 1*2+3*2 ] [ 13 8 ]
[ 0 -5 ] [ 4 2 ] = [ 0*1-4*5 0*2-5*2 ] = [ -20 -10 ]
Verifikation, elementweise Multiplikation (homologe Elemente):
[ 1 3 ] [ 1 2 ] [ 1*1 3*2 ] [ 1 6 ]
[ 0 -5 ] [ 4 2 ] = [ 0*4 -5*2 ] = [ 0 -10 ]
=== Determinante einer Matrix ===
m1 = [1, 3; 0, -5 ];
m2 = [1, 2; 2, 4];
det(m1)
det(m2)
Ausgabe:
ans = -5
ans = 0
m1 ist regulär, m2 ist singulär. Determinanten können nur von quadratischen Matrizen gebildet werden.
=== Teilmatrizen ===
m = [1, 2, 3; 0, 5, 1];
% Die Matrix in einen Spaltenvektor umwandeln
m1 = m(:)
% Das Element aus der 1. Zeile und der 2. Spalte extrahieren
m2 = m(1,2)
% Erste Zeile extrahieren
m3 = m(1, 1:3)
m4 = m(1, :)
% Zweite Spalte extrahieren
m5 = m(1:2, 2)
m6 = m(:, 2)
Ausgabe:
m1 =
1
0
2
5
3
1
m2 = 2
m3 =
1 2 3
m4 =
1 2 3
m5 =
2
5
m6 =
2
5
=== Einheitsmatrizen ===
eye(3,2)
Ausgabe:
ans =
1 0
0 1
0 0
=== Nullmatrizen ===
zeros(2,3)
Ausgabe:
ans =
0 0 0
0 0 0
=== Diagonalmatrizen ===
diag([1, 2, 3])
Ausgabe:
ans =
1 0 0
0 2 0
0 0 3
=== Spur einer Matrix ===
trace([1,2,3; 6,9, 0])
Ausgabe:
ans = 10
=== LR-Zerlegung einer Matrix ===
Führen Sie die LR-Faktorisierung (LR ... links/rechts bzw. LU ... left/upper) einer Matrix m aus. l sei die linke Dreiecksmatrix, r die rechte Dreiecksmatrix und p die Permutationsmatrix
m = [1 0 5
-1 1 -2
0 0 3];
[l, r, p] = lu(m)
Ausgabe:
l =
1 0 0
-1 1 0
0 0 1
r =
1 0 5
0 1 3
0 0 3
p =
1 0 0
0 1 0
0 0 1
=== Eigenwerte ===
a = [5 8
1 3];
% Eigenvektoren und Eigenwerte
[ev, ew] = eig(a)
Ausgabe:
ev =
0.9701 -0.8944
0.2425 0.4472
ew =
Diagonal Matrix
7 0
0 1
Die Eigenwerte sind hier <math>\lambda_1 = 7</math> und <math>\lambda_2 = 1</math>. Die Eigenvektoren sind [0.9701 0.2425] bzw. [-0.8944 0.4472]. Da das Gleichungssystem <math>(A - \lambda_i E) x_i = 0</math> singulär ist, sind alle Lösungsvektoren Vielfache dieser Eigenvektoren.
=== Schwach besetzte Matrizen ===
{{Wikipedia | Dünnbesetzte Matrix}}
Gegeben sei die schwach besetzte Matrix
m = [0 1 0 0 0
0 0 0 3 0
4 0 0 2 0
0 0 1 0 0
0 0 0 1 7]
Mittels dem sparse-Befehl kann man einfach die Elemente != 0 nach folgendem Schema eingeben.
sparse ([zeilenindizes] [spaltenindizes] [werte])
also in unserem Fall:
ms = sparse([1 2 3 3 4 5 5], [2 4 1 4 3 4 5], [1 3 4 2 1 1 7])
Ausgabe:
ms =
Compressed Column Sparse (rows = 5, cols = 5, nnz = 7)
(3, 1) -> 4
(1, 2) -> 1
(4, 3) -> 1
(2, 4) -> 3
(3, 4) -> 2
(5, 4) -> 1
(5, 5) -> 7
Die volle Matrix erhält man mit dem Befehl full:
m = full(ms)
Ausgabe:
m =
0 1 0 0 0
0 0 0 3 0
4 0 0 2 0
0 0 1 0 0
0 0 0 1 7
Grafisch anzeigen lassen kann man sich die Besetzung von Matrizen mit dem spy-Befehl:
spy(ms);
oder (für allgemeine Matrizen auch mittels)
spy(m);
Ausgabe:
[[Datei:octave_sparse1.jpg]]
Wirklich interessant ist der spy-Befehl für größere Matrizen, z.B. um die Bandstruktur zu visualisieren.
e = eye(200);
es = sparse(e);
% Auf sparse-Matrizen kann genauso zugegriffen werden wie auf normalen Matrizen
es(100, 15) = 100;
spy(es);
Ausgabe:
[[Datei:octave_sparse2.jpg]]
=== Matrizen mit Zufallswerten ===
Insbesondere für Testzwecke kann es manchmal sinnvoll sein größere Matrizen mit Zufallswerten zu bilden. Dazu stellt Octave u.a. den rand-Befehl zur Verfügung.
m = rand(5, 6)
Ausgabe:
m =
0.86605 0.61108 0.71347 0.97119 0.52428 0.21993
0.74059 0.49062 0.56073 0.68592 0.74737 0.62680
0.20790 0.84874 0.36834 0.31102 0.25813 0.28933
0.84732 0.98777 0.91512 0.42240 0.87891 0.63757
0.76823 0.80367 0.24639 0.78208 0.77170 0.95281
Die Zufallszahlen liegen gleichverteilt zwischen 0 und 1 und werden nach dem Mersenne-Twister-Verfahren mit einer Periode von <math>2^{19937}-1</math> gebildet.
Andere Verfahren sind:
* randn: Normalverteilte Pseudozufallselemente mit Mittelwert=0 und Varianz=1
* rande: Exponentialverteilte Zufallselemente
* randg: Gammaverteilte Zufallselemente
* randp: Poissonverteilte Zufallselemente
Details dazu siehe in der Octave-Hilfefunktion.
== Aufgaben ==
* Berechnen Sie den Winkel zwischen den beiden Vektoren a = [1 2 0] und b = [2 1 1]. Hinweis: Siehe diesbezüglich auch im Oktave-Hilfesystem den Befehl "norm".
* Gegeben seien Vektoren a = [1 2 5], b = [0 0 -1] und c = [-1 -2 2]. Berechnen Sie das Spatprodukt aus diesen drei Vektoren.
* Multiplizieren Sie die beiden Matrizen A und B (mit Octave und zur Kontrolle händisch)
A = [0 0 1
1 2 1]
B = [1 1
1 2
0 4]
* Ist die Matrix C regulär? Wenn ja, dann bilden Sie die inverse Matrix.
C = [-1 0 0 -4
2 0 1 5
7 6 2 0
3 0 2 6]
* Ist die Matrix D regulär? Wenn ja, dann bilden Sie die inverse Matrix.
D = [2 1 0 0
0 0 2 1
0 0 0 2
1 1 0 0]
* Berechnen Sie die Konditionszahl der folgenden Matrix. Hinweis: Siehe diesbezüglich im Oktave-Hilfesystem den Befehl cond
[3 4 -5
6 0 3
1 1 2]
* Berechnen Sie die Eigenwerte und Eigenvektoren der folgenden Matrix
[6 -3 4 0
0 7 -1 1
0 10 -3 -2
0 1 -2 1]
= Komplexe Zahlen =
Die imaginäre Einheit wird in Octave durch den Buchstaben i, j, I oder J symbolisiert. Darstellen kann man eine komplexe Zahl bekannterweise in mehreren Formen:
* Kartesische Darstellung <math>z = \Re(z) + i \cdot \Im(z)</math>
* Polardarstellungen <math>z = r \cdot (\cos(\phi) + i \cdot \sin(\phi)) = r \cdot e^{i\cdot \phi}</math>
Die konjugiert komplexe Zahl ist <math>z^* = \Re(z) - i \cdot \Im(z)</math>
== Mit komplexen Zahlen rechnen ==
z1 = 2 + 5i; % kartesische Darstellung
z2 = 3 * exp(3j); % Polardarstellung
% Addition
res = z1 + z2;
disp("z1 + z2 = "); disp(res);
% Multiplikation
res = z1 * z2;
disp("z1 * z2 = "); disp(res);
% Realteil
res = real(z2);
disp("Realteil von z2 = "); disp(res);
% Imaginärteil
res = imag(z2);
disp("Imaginaerteil von z2 = "); disp(res);
% Betrag
res = abs(z1);
disp("Betrag von z1 = "); disp(res);
% Argument
res = angle(z1);
disp("Argument von z1 = "); disp(res);
% Konjugiert komplexe Zahl
res = conj(z1);
disp("Konjugiert komplexe Zahl von z1 = "); disp(res);
Ausgabe:
z1 + z2 =
-0.96998 + 5.42336i
z1 * z2 =
-8.0568 - 14.0032i
Realteil von z2 =
-2.9700
Imaginaerteil von z2 =
0.42336
Betrag von z1 =
5.3852
Argument von z1 =
1.1903
Konjugiert komplexe Zahl von z1 =
2 - 5i
== Die gaußsche Zahlenebene ==
clear; close all; clc;
z1 = 3 + 5i;
z2 = 5 * exp(0.5i);
hold on;
plot(z1, "*");
compass(z1);
plot(z2, "o");
compass(z2);
grid on;
[[Datei:octave_komplex1.jpg]]
== Aufgaben ==
* Berechnen Sie die Quadratwurzel der komplexen Zahl <math>z = 3 + 2i</math>.
* Verwandeln Sie folgende Zahlen in die Polarkoordinatendarstellung: <math>-11 - 3i</math> und <math>(1+i)^{10}</math>
* Verwandeln Sie folgende Zahlen in die Normaldarstellung: <math>12 \cdot e^{i\cdot \pi / 4}</math> und <math>3 \cdot (\cos(\pi / 3) + i \cdot \sin(\pi / 3))</math>
* Zeichnen Sie die Zahl <math>3 + 5i</math> in der gaußschen Zahlenebene als Zeiger.
= Funktionen =
Um Programme zu strukturieren und einfacher zu gestalten können Programmteile in Funktionen ausgelagert werden. Eingebaute Funktionen haben wir schon kennengelernt (z.B. die Sinus-Funktion sin). Nun wollen wir sehen, wie man selbst solche Funktionen schreiben kann.
== Eine einfache Funktion schreiben ==
Datei addiere.m:
function res = addiere(a, b)
% Addiere zwei Zahlen a + b
res = a + b;
end
Datei test1.m:
addiere(10, 15)
Ausgabe:
ans = 25
* Jede Funktion sollte in einer eigenen m-Datei stehen.
* Der Dateiname sollte mit dem Funktionsnamen (natürlich ohne Dateiendung .m) übereinstimmen.
* Der Kommentar unter dem Funktionskopf wird als Hilfstext angezeigt, wenn die help-Funktion (hier "help addiere") aufgerufen wird.
== Inline-Funktionen ==
Kurze Funktionen können auch als Inline-Funktionen geschrieben werden.
addiere = inline("a + b");
x = 5;
y = 10;
z = addiere(x, y)
Oder in diesem Fall noch kürzer
addiere = inline("a + b");
z = addiere(5, 10)
Ausgabe:
z = 15
Bei neueren Octave-Versionen kann bei der Verwendung von Inline-Funktionen die Warnung
warning: inline is obsolete; use anonymous functions instead
erscheinen. Ein Blick in die Hilfe-Funktion
help inline
zeigt das selbe Ergebnis. Es sollen also anonyme Funktionen (siehe etwas weiter unten in diesem Text) anstelle von Inline-Funktionen verwendet werden.
== Funktionsstring ==
addiere = "a + b";
a = 5;
b = 10;
z = eval(addiere)
Ausgabe:
z = 15
== Anonyme Funktionen ==
{{Wikipedia | Anonyme Funktion}}
addiere = @(a, b) a + b;
x = 10;
y = 20;
z = addiere(x, y)
oder kürzer
addiere = @(a, b) a + b;
z = addiere(10, 20)
Ausgabe:
z = 30
== Nullstellen von Funktionen bestimmen ==
sinh2 = @(x) sinh(x) + 2;
z = fzero(sinh2, 1)
Ausgabe:
z = -1.4436
Zur Kontrolle soll hier der Graph der Funktion dargestellt werden
clear;
close all;
clc;
sinh2 = @(x) sinh(x) + 2;
x = -2 : 0.1 : 0;
y = sinh2(x);
z = fzero(sinh2, 1)
plot(x, y);
hold on;
plot(z, 0, "o", "Color", "red", "LineWidth", 2);
text (-1.8, 0.8, "Nullstelle");
line([z -1.7], [0, .7], "Color", "black");
grid on;
Ausgabe:
[[Datei:octave_funktion5.jpg]]
Weiter unten im Text wird die ähnliche Funktion "fsolve" beschrieben. "fzero" benutzt zwei verschiedene Funktionen zur Problemlösung, darunter eben auch "fsolve".
Für die Nullstellenbestimmung von Polynomen gibt es die Funktion "roots". Näheres dazu folgt im nächsten Kapitel.
== Globale Variablen ==
Datei addiere.m:
function res = addiere()
global a b;
res = a + b;
end
Datei test1.m:
clear;
close all;
clc;
global a b;
a = 5;
b = 3;
addiere()
Ausgabe:
ans = 8
== Aufgaben ==
* Schreiben Sie eine Funktion "ellipse", welche eine Ellipse am Bildschirm darstellt. Zur Erinnerung: Die Parameterdarstellung der Ellipse lautet <math>x = a\cdot\cos(t), y = b\cdot\sin(t), 0 \leq t \leq 2\pi</math>, Funktionsargumente seien a und b.
* Schreiben Sie <math>y = 2\cdot\sin(x) + 3\cdot\cos(x/2)</math>
** als normale Funktion
** als Funktionsstring
** als Inlinefunktion
** als anonyme Funktion
** stellen Sie diese Funktion grafisch am Bildschirm dar.
= Polynome =
== Einzelne Polynomwerte berechnen ==
% y = 2*x^3 + 5*x^2 + 4 für x = 2 berechnen
p = [2, 5, 0, 4];
polyval(p, 2)
Ausgabe:
ans = 40
== Polynome zeichnen ==
% y = 2*x^3 - 5*x^2 + 4 für das Intervall -5 <= x <= 5 grafisch darstellen
x = -5 : .1 : 5;
p = [2, 5, 0, 4];
y = polyval(p, x);
plot(x,y);
grid on;
Ausgabe:
[[Datei:octave_polynom1.jpg]]
== Nullstellen bestimmen ==
Für Polynome existiert die Funktion "roots" zur Nullstellenbestimmung.
% Nullstellen für y = 2*x^3 - 5*x^2 + 4 bestimmen
p = [2, 5, 0, 4];
r = roots(p)
Ausgabe:
r =
-2.76214 + 0.00000i
0.13107 + 0.84077i
0.13107 - 0.84077i
Dieses Polynom hat nur eine reelle Nullstelle. Diese liegt, wie am obigen Grafen zu ersehen ist, in der Nähe von -2.762. Die beiden anderen Nullstellen sind konjugiert komplex zueinander (wie es auch sein sollte).
== Aufgaben ==
* Berechnen Sie den Wert für x = 3 des Polynoms <math>y = 2x^4 - 3x^3 - x + 7</math>.
* Berechnen Sie die Nullstellen von <math>y = 7x^5 - 3x^2 + 12</math>.
* Zeichnen Sie das Polynom <math>y = 12x^4 - 70x</math> im Intervall <math>-5 \leq x \leq 5</math>.
= Lineare Gleichungssysteme =
Sei <math>Ax = b</math> ein lineares Gleichungssystem. <math>A</math> sei die Koeffizientenmatrix, <math>x</math> der Lösungsvektor und <math>b</math> ein bekannter Vektor.
== Einfache Berechnung mittels Gauß-Verfahren ==
{{Wikipedia | Gaußsches Eliminationsverfahren}}
Beispiel:
A = [5 1
0 2];
b = [1
2];
x = A \ b
Ausgabe:
x =
0
1
== Das gmres-Verfahren ==
gmres steht für Generalized Minimal Residual.
{{Wikipedia | GMRES-Verfahren}}
A = [5 1
0 2];
b = [1
2];
x = gmres(A, b)
Ausgabe:
gmres converged at iteration 2 to a solution with relative residual 2.22045e-16
x =
-1.6653e-16
1.0000e+00
Das Ergebnis weicht etwas vom gaußschen Verfahren ab, ist aber trotzdem im Rahmen der Näherung korrekt.
Weiters kennt Octave noch andere iterative Verfahren, z.B. cgs (Conjugate Gradient Squared) oder bicgstab (Bi-Conjugate Gradient Stabilized). Näheres zu diesen Verfahren siehe in der weiterführenden Literatur (z.B. bei Meister: Numerik linearer Gleichungssysteme, Vieweg+Teubner, 2011)
{{Wikipedia | CGS-Verfahren}}
== Aufgabe ==
* Lösen Sie folgendes Gleichungssystem mittels Octave (und zur Kontrolle auch händisch):
5x + 6y - 2z = 12
3x - y - 3z = 6
2x + 2y + 4z = 5
= Nichtlineare Gleichungssysteme =
== fsolve und fzero ==
Löse eine beliebige Gleichung f(x) = 0, z.B. <math> f(x) = x^2 - 5\cos(x) - 10 = 0 </math>:
f = @(x) x^2 - 5*cos(x) - 10;
xstart = 1;
[x, fval, info] = fsolve(f, xstart)
Ausgabe:
x = 2.4681
fval = -1.7764e-015
info = 1
* x ist eine Nullstelle in der Nähe vom Startwert xstart.
* fval ist die Abweichung, den f bei x aufweist.
* info ist ein "Fehlercode": 1 bedeutet, dass der relative Fehler in der spezifizierten Toleranz liegt (wie es sein soll). 3 würde bedeuten, dass der Algorithmus nicht konvergiert (z.B. weil keine Nullstelle existiert).
Zur Kontrolle plotten wir den Funktionsgraphen:
x = - 1 : .1 : 3;
y = x.^2 - 5.*cos(x) - 10;
plot(x,y, "LineWidth", 2);
grid on;
Ausgabe:
[[Datei:octave_nichtlin1.jpg]]
Und siehe da, die gesuchte Nullstelle liegt wie berechnet bei einem Wert nahe 2,5. Die Funktion <math>x^2 - 5\cos(x) - 10</math> hat noch eine zweite Nullstelle, wie in der folgenden Abbildung zu erkennen ist.
[[Datei:octave_nichtlin2.jpg]]
Diese zweite Nullstelle erhalten wir, wenn der Startwert in der Nähe dieser zweiten Nullstelle liegt, also z.B. bei -1. Ändern Sie einfach den entsprechenden Startwert im obigen Programmcode, und das Programm sollte die Nullstelle in der Nähe von -2.5 liefern.
Auch die Funktion ''fzero'' kann zur Lösung einer nichtlinearen Gleichung verwendet werden. Die Hilfe-Funktion von Octave empfiehlt dies sogar eindringlich für den Fall einer nichtlinearen Gleichung in einer Variablen. Für das gleiche Beispiel wie oben kann der Programmcode folgendermaßen aussehen:
Eingabe:
f = @(x) x^2 - 5*cos(x) - 10;
[x0, y0] = fzero (f, [0, 3])
Ausgabe:
x0 = 2.4681
y0 = -1.2434e-14
== Gleichungssysteme ==
Folgende Aufgabe ist dem Buch "Knorrenschild: Numerische Mathematik, Hanser, 2017, Seite 72" entnommen. Zu lösen ist das nichtlineare Gleichungssystem
<math>f_1 = 2x_1 + 4x_2 = 0 </math>
<math>f_2 = 4x_1 + 8x_2^3 = 0</math>
Lösung:
f.m:
function y = f(x)
y(1) = 2*x(1) + 4*x(2);
y(2) = 4*x(1) + 8*x(2)^3;
end
test1.m:
clear;
close all;
clc;
[x, fval, info] = fsolve (@f, [0, 1])
[x, fval, info] = fsolve (@f, [0, -1])
[x, fval, info] = fsolve (@f, [0, 0])
Ausgabe:
x =
-2 1
fval =
0 7.4930e-09
info = 1
x =
2 -1
fval =
0 -7.4930e-09
info = 1
x =
0 0
fval =
0 0
info = 1
== Aufgaben ==
* Bestimmen Sie die Nullstellen von <math>f(x) = x^2 - 3</math>. Plotten Sie den Grafen.
* Bestimmen Sie die Nullstelle von <math>f(x) = sin(x) - x - 1</math>. Plotten Sie den Grafen.
* Lösen Sie das folgende Gleichungssystem (und stellen Sie das Ganze grafisch am Bildschirm dar): <math> f_1 = x_1 + x_2 = 0; f_2 = x_1 + \sin{x_2} = 0</math>
= Interpolation =
== Eindimensionale Interpolation ==
{{Wikipedia | Interpolation (Mathematik)}}
Bezüglich eindimensionaler Interpolation sei auf die [https://docs.octave.org/v11.1.0/One_002ddimensional-Interpolation.html Octave-Dokumentation und Hilfefunktion zum Befehl " interp1"] verwiesen. Dort findet sich auch ein Programmbeispiel, das als Grundlage des folgenden Plots dient:
[[Datei:octave_interpol1.jpg]]
== Mehrdimensionale Interpolation ==
Bezüglich mehrdimensionaler Interpolation siehe die [https://docs.octave.org/v11.1.0/Multi_002ddimensional-Interpolation.html Hilfefunktion zu "interp2", "interp3" und "interpn"].
== Aufgabe ==
* Gegeben seinen die fünf Stützpunkte p1 = [1, 0], p2 = [2, -5], p3 = [3, 2], p4 = [4, 7], p5 = [5, 6]. Legen Sie eine Funktion (die Interpolierende) durch diese Stützpunkte. Eine Lösungsmöglichkeit:
xp = [1 2 3 4 5];
yp = [0, -5, 2, 7, 6];
xf = 1 : .1 : 5;
spl = interp1(xp, yp, xf, "spline");
pch = interp1(xp, yp, xf, "pchip");
plot(xp, yp, "or", "LineWidth", 2, xf, spl, "LineWidth", 2, ...
xf, pch, "LineWidth", 2);
legend("stuetzpunkte", "spline", "pchip", "location", "southeast");
[[Datei:octave_interpol3.jpg]]
= Differenzialrechnung =
== Polynome differenzieren ==
Es soll das Polynom <math>y = 2x^3 - 5x^2 + 7</math> differenziert werden.
% Differenzieren des Polynoms y = 2*x^3 - 5*x^2 + 7
p = [2, -5, 0, 7];
polyder(p)
Ausgabe:
ans =
6 -10 0
D.h. also, die Ableitung von <math>y = 2x^3 - 5x^2 + 7</math> ist <math>y' = 6x^2 - 10x</math>.
== Sonstige Funktionen differenzieren ==
Als Beispiel differenzieren wir <math>y = 5x\sin{x}</math> und stellen das Ganze grafisch dar.
clear;
close all;
clc;
x = 0 : 0.01 : 10;
y = 5 .* x .* sin(x);
y_strich = diff(y) / 0.01;
plot(x, y, "Color", "red", "LineWidth", 2);
hold on;
plot(x(1:length(x)-1), y_strich, "Color", "blue", "LineWidth", 2);
legend("y", "y'");
grid on;
Ausgabe:
[[Datei:octave_diff1.jpg]]
diff(y) ist der Vektor aus den Differenzen y(2)-y(1), ..., y(n)-y(n-1). Für die genaue Arbeitsweise der diff-Funktion siehe "help diff".
== Aufgaben ==
* Differenzieren Sie das Polynom <math>y = 5y^5 - y^4 + 6y - 4</math>.
* Differenzieren Sie die Funktion <math>y = \log(x) + 10x</math> und stellen Sie y, sowie y' grafisch am Bildschirm dar.
* Differenzieren Sie die Funktion <math>y = \frac{\sinh(x)}{(1+x)}</math> und stellen Sie y, sowie y' grafisch am Bildschirm dar.
= Integralrechnung =
== Polynome integrieren ==
Berechnen Sie das unbestimmte Integral von <math>y = 2x^3 - 7x^2 + 7</math>
p = [2, -7, 0, 7];
p_int = polyint(p)
Ausgabe:
p_int =
0.50000 -2.33333 0.00000 7.00000 0.00000
Das Ergebnis lautet also <math>\int{y dx} = 0.5x^4 - 2.33333x^3 + 7x + C</math> (auf die Integrationskonstante C darf nicht vergessen werden!).
== Gauß-Quadratur ==
{{Wikipedia | Gauß-Quadratur}}
Berechnen Sie das Integral <math>\int_{0}^{3}x^2 dx</math> mittels Gauß-Quadratur.
Datei f.m:
function y = f(x)
y = x^2;
end
Datei test1.m:
[v, ier, nfun, err] = quad ("f", 0, 3)
Ausgabe:
v = 9.0000
ier = 0
nfun = 21
err = 9.9920e-014
Erläuterung zur Ausgabe:
* v ... Resultat der Integration
* ier ... integer error code
* nfun ... Anzahl der Funktionsaufrufe
* err ... Fehler in der Lösung
== Quadratur mittels adaptiver Lobatto-Regel ==
Berechnen Sie diesmal das Integral <math>\int_{0}^{3}x^2 dx</math> mittels Lobatto-Quadratur.
f = inline("x.^2");
v = quadl (f, 0, 3)
Ausgabe:
v = 9
Wie weiter oben bereits angesprochen kann bei der Ausgabe eine Warnung erfolgen. Inline-Funktionen sind inzwischen als obsolet erklärt und es sollen stattdessen anonyme Funktionen verwendet werden.
Zwecks Übung sei nachfolgend nochmals dieses Beispiel berechnet. Diesmal wird aber eine anonyme Funktion verwendet.
v = quadl (@(x) x.^2, 0, 3)
== Aufgaben ==
* Integrieren Sie das Polynom <math>y = 5y^5 - y4 + 6y - 4</math>.
* Integrieren Sie die Funktion <math>y = \log(x) + 10x</math> von -5 bis 5.
* Integrieren Sie die Funktion <math>y = x^3</math> von 0 bis 4. Verwenden Sie hierzu die Simpsonregel (siehe dazu in der Hilfefunktion den Befehl "quadv").
= Gewöhnliche Differenzialgleichungen =
== ode23, ode45 und lsode ==
Für die Lösung von Differenzialgleichungen stehen die Funktionen
* ode23
bzw.
* ode45
zur Verfügung. Diese Funktionen implementieren das Runge-Kutta-Verfahren. "ode" steht für "Ordinary Differential Equation" (also auf Deutsch für "Gewöhnliche Differentialgleichung"). Die Zahlen bei ode23 oder ode45 stehen für die Ordnung.
{{Wikipedia | Runge-Kutta-Verfahren}}
Beispiel <math>y' = x^2 + y^3</math>:
clear;
close all;
clc;
[x, y] = ode45(@(x,y) (x^2+y^3), [0 1], 0);
plot(x, y, "LineWidth", 2);
Ausgabe:
[[Datei:octave_ode1.jpg]]
Bezüglich der genauen Funktionsweise von "ode45" (oder "ode23") siehe die Octave-Hilfe.
Auch die Funktion "lsode" steht zur Lösung von ODEs zur Verfügung.
Beispiel <math>y' = x + y</math>:
clear;
close all;
clc;
t = 0 : .1 : 5;
[y2, istate, msg] = lsode(@(x,y) (x + y), 1, t);
istate
msg
plot(t, y2);
Ausgabe:
istate = 2
msg = successful exit
[[Datei:octave_lsode1.jpg]]
Bezüglich der genauen Funktionsweise von "lsode" siehe die Octave-Hilfe.
== Aufgaben ==
* Lösen Sie die Differenzialgleichung <math>y' = \frac{1}{x\cdot y}</math> mit Octave. Kontrollieren Sie das Ergebnis, indem Sie die DGl händisch lösen.
* Lösen Sie die Differenzialgleichung <math>m' = -k\cdot m</math>. Kontrollieren Sie das Ergebnis, indem Sie die DGl händisch lösen.
* Lösen Sie die Differenzialgleichung <math>y' = \sqrt{|y|}</math>.
= Die Fast-Fourier-Transformation =
{{Wikipedia | Schnelle Fourier-Transformation}}
Für die Funktion "fft" siehe das Octave-Hilfesystem.
= Mengenrechnung =
== Vereinigungsmenge ==
v1 = [1 2 3 4];
v2 = [2 4 6];
union(v1, v2)
Ausgabe:
ans =
1 2 3 4 6
== Schnittmenge ==
v1 = [1 2 3 4];
v2 = [2 4 6];
intersect(v1, v2)
Ausgabe:
ans =
2 4
= Logik =
Logische Operatoren werden oft benötigt, z.B. bei Schleifen und Verzweigungen.
Octave kennt die logischen Operatoren <code>or, and, not</code> und <code>xor</code>. Als Beispiel sei die Wahrheitstabelle für den Operator <code>or</code> dargestellt.
A B A or B
--------------------
true true true
true false true
false true true
false false false
In Octave kann das so ausgedrückt werden:
or( true, true )
or( true, false )
or( false, true )
or( false, false )
Ausgabe:
ans = 1
ans = 1
ans = 1
ans = 0
Zahlen ungleich 0 stehen für true, 0 für false. Z.B.:
or( 22, 0)
Ausgabe:
ans = 1
Äquivalent zu <code>or</code> ist der Operator <code>|</code>:
22 | 0
Ausgabe:
ans = 1
Zwecks näheren Informationen zu den Operatoren <code>and (&, &&), not (~, !)</code> und <code>xor</code> bemühe man Octaves Help-Funktion.
Bitweise logische Funktionen kennt Octave auch, so kann man z.B. zwei Zahlen mit dem bitweisen OR-Operator verknüpfen:
0b1100101
0b0110001
---------
0b1110101
Oder in Dezimalzahlen:
101
49
---
117
In Octave:
bitor( 0b1100101, 0b0110001 )
dec2bin( ans )
Ausgabe:
ans = 117
ans = 1110101
Zu <code>bitand, bitxor</code> usw. siehe die Octave-Hilfe-Funktion.
= Stochastik =
==Deskriptive Statistik ==
=== Lageparameter ===
Arithmetischer Mittelwert:
vec = [1 2 3 4 5 12 13];
mw = mean(vec)
Ausgabe:
mw = 5.7143
Der Median oder Zentralwert läßt sich folgendermaßen berechnen:
vec = [1 2 3 4 5 12 13];
median(vec)
Ausgabe:
ans = 4
Der Modus oder häufigste Wert läßt sich mittels "mode"-Funktion eruieren:
vec = [1 2 1 3 5 1 2 7];
[m, f, c] = mode (vec);
disp(m);
disp(f);
disp(c);
Ausgabe:
1
3
{
[1,1] = 1
}
m (erste Zeile der Ausgabe) ist der Modus. f (zweite Zeile) ist die Häufigkeit. Näheres dazu siehe im Octave-Hilfesystem.
=== Streuungsparameter ===
Varianz:
vec = [1 2 3 1 1 6 7];
v = var(vec)
Ausgabe:
v = 6.3333
Standardabweichung:
vec = [1 2 3 1 1 6 7];
s = std(vec)
Ausgabe:
s = 2.5166
=== Grafiken erzeugen ===
Histogramme:
v = [1 1 2 3 1 6 7 6 1 1 1 2];
hist(v, max(v));
Ausgabe:
[[Datei:octave_histo2.jpg]]
Balkendiagramme:
v = [1 1 2 3 1 6 7 6];
bar(v);
Ausgabe:
[[Datei:octave_bar111.jpg]]
Treppendiagramm:
v = [1 1 2 3 1 6 7 6];
stairs(v);
Ausgabe:
[[Datei:octave_stairs1.jpg]]
Stabdiagramm:
v = [1 1 2 3 1 6 7 6];
stem(v);
Ausgabe:
[[Datei:octave_stem1.jpg]]
=== Aufgaben ===
Gegeben sei folgende Datentabelle mit den Werten:
v1 = [3 4 1 1 7 2 1 9 2 5 9 7 2 2 9 2 2 1 2 8]
v2 = [1 1 0 2 3 4 1 2 7 0 2 1 5 5 5 4 5 2 5 0]
* Berechnen Sie die Lageparameter und Streuungsparameter des Vektors v1.
* Berechnen Sie Kovarianz und Korrelationskoeffizient der beiden zugeordneten Vektoren v1 und v2.
* Zeichnen Sie das Histogramm des Vektors v1.
== Wahrscheinlichkeitsrechnung ==
=== Kombinatorik ===
Der Binomialkoeffizient:
<math>\binom{n}{k}=\frac{n!}{k!(n-k)!}</math>
In Octave z.B.:
n = 30;
k = 4;
n_ueber_k = nchoosek (n, k)
Ausgabe:
n_ueber_k = 27405
Permutationen sind die verschiedenen Anordnungsmöglichkeiten mit der Anzahl n! = n * (n-1) * ... * 2 * 1.
Beispiel:
v = [1, 2, 3];
p = perms(v)
Ausgabe:
p =
1 2 3
2 1 3
1 3 2
2 3 1
3 1 2
3 2 1
n! (n-Fakultät) selbst kann so berechnet werden:
% 10!
n = 10;
factorial (n)
Ausgabe:
ans = 3628800
=== Verteilungen ===
Octave kennt eine ganze Reihe von Dichte- und Verteilungsfunktionen und zwar
* Probability Density Functions (PDF, Dichtefunktionen)
* Cumulative Distribution Functions (CDF, Verteilungsfunktionen)
Z.B.:
* Binomialverteilung:
** binopdf
** binocdf
* Hypergeometrische Verteilung:
** hygepdf
** hygecdf
* Normalverteilung:
** normpdf
** normcdf
* Studentverteilung:
** tpdf
** tcdf
* Weibullverteilung:
** wblpdf
** wblcdf
Ein Codebeispiel zur Binomialverteilung:
clear;
close all;
clc;
x = 0 : 1 : 10;
n = 10;
p = 0.1;
b1 = binopdf (x, n, p);
b2 = binocdf (x, n, p);
subplot(221);
bar(x, b1);
title("binopdf");
text(1, 0.1, "n=10; p=0.1");
subplot(222);
bar(x, b2);
title("binocdf");
text(1, 0.5, "n=10; p=0.1");
n = 10;
p = 0.5;
b1 = binopdf (x, n, p);
b2 = binocdf (x, n, p);
subplot(223);
bar(x, b1);
text(1, 0.1, "n=10; p=0.5");
subplot(224);
bar(x, b2);
text(1, 0.1, "n=10; p=0.5");
Ausgabe:
[[Datei:octave_bino3.jpg]]
Möglicherweise erhalten Sie bei diesem Beispiel eine Fehlermeldung in der Form
error: 'binopdf' undefined near line 8, column 6
The 'binopdf' function belongs to the statistics package from Octave
Forge which you have installed but not loaded. To load the package, run
'pkg load statistics' from the Octave prompt.
Laden Sie einfach das Paket für die Statistikfunktionen, wie in der Fehlermeldung beschrieben.
Ein Codebeispiel zur Normalverteilung:
clear;
close all;
clc;
x = -4 : .1 : 4;
b1 = normpdf(x);
b2 = normcdf(x);
subplot(121);
plot(x, b1);
title("normpdf");
grid on;
subplot(122);
plot(x, b2);
title("normcdf");
grid on;
Ausgabe:
[[Datei:octave_norm111.jpg]]
== Zufallszahlengeneratoren ==
Octave kann Zufallszahlen aus einer großen Anzahl von Verteilungen generieren, z.B.
* Chi-Quadrat-Verteilung: chi2rnd
* Log-Normal-Verteilung: lognrnd
* Normalverteilung: normrnd
Codebeispiel:
mean = 0;
standardabweichung = 1;
zufallszahl = normrnd (mean, standardabweichung)
Ausgabe (gibt eine Zufallszahl rund um den Mittelwert 0 aus), z.B.
zufallszahl = 1.0451
Auch Zufallsvektoren (oder Zufallsmatrizen) können erstellt werden:
mean = [0 0 0 0 0];
standardabweichung = 1;
zufallsvektor = normrnd (mean, standardabweichung)
Ausgabe, z.B.:
zufallsvektor =
1.47108 -0.51280 0.52726 0.31730 -1.04422
= Einfache Benutzeroberflächen erstellen=
== Input ==
fflush (stdout);
x = input("Gib eine Zahl ein: ");
disp(2 * x);
Ein-/Ausgabe:
Gib eine Zahl ein: 12
24
Der "fflush"-Befehl sollte immer vor dem Aufruf des input-Befehls aufgerufen werden. Näheres zu "fflush" siehe im Octave-Hilfesystem.
== Diverse einfache vorgefertigte Dialoge ==
Fehlermeldung:
errordlg("Fehlermeldung");
[[Bild:octave_fehlermeldung1.jpg]]
Warnung:
warndlg("Warnung");
[[Bild:octave_warnung1.jpg]]
Hilfedialog:
helpdlg
[[Bild:octave_hilfe1.jpg]]
Abfragedialog:
button = questdlg ("Frage")
[[Bild:octave_abfrage1.jpg]]
Eingabedialog:
in = inputdlg("Eingabe")
[[Bild:octave_eingabe1.jpg]]
Messagebox:
h = msgbox ("Eine Mitteilung!");
[[Bild:octave_messagebox1.jpg]]
== Komplexere vorgefertigte Dialogboxen ==
=== Menübox ===
auswahl = menu("Auswahl", "Affe", "Elefant", "Loewe", "Sonstiges");
switch(auswahl)
case 1
disp "Affe quietscht"
case 2
disp "Elefant trompetet"
case 3
disp "Loewe bruellt"
otherwise
disp "Sonstiges"
end
Ausgabe:
[[Bild:octave_menu1.jpg]]
Es werde beispielsweise die Nummer 2 gewählt.
Ausgabe:
Elefant trompetet
=== Dialogliste ===
clear;
close all;
clc;
opt = {"Eins", "Zwei", "Drei"};
[sel, ok] = listdlg ("ListString", opt, "SelectionMode", "Multiple");
if (ok == 1)
for i = 1 : numel(sel)
disp(opt{sel(i)});
end
else
disp("Cancel");
end
[[Bild:octave_dialog1.jpg]]
Es werden beispielsweise alle Optionen ausgewählt.
Ausgabe:
Eins
Zwei
Drei
=== Fortschrittsbalken ===
h = waitbar ([0.5])
[[Bild:octave_fortschritt1.jpg]]
=== Datei- und Verzeichnisdialoge ===
Dateidialog:
[fname, fpath, fltidx] = uigetfile ()
[[Bild:octave_dateidialog2.jpg]]
Ähnlich sind die Befehle "uiputfile" und "uigetdir". Dazu sei auf die Octave-Hilfe verwiesen.
== Eigene Dialoge kreieren ==
Dieses Thema sei hier nur kurz angerissen.
Programmcode:
d = dialog("Position", [300, 300, 250, 150], "Name", "Dialog");
txt = uicontrol("Parent", d, ...
"Style", "text", ...
"Position", [20, 80, 210, 40], ...
"String", "Hallo Welt");
btn_servus = uicontrol("Parent", d, ...
"Position", [30, 20, 80, 30], ...
"String", "Servus", ...
"Callback", "disp('Servus angeklickt!');");
btn_hallo = uicontrol("Parent", d, ...
"Position", [140, 20, 80, 30], ...
"String", "Hallo", ...
"Callback", "disp('Hallo angeklickt!');");
uiwait(d);
Ausgegebenes Dialogfenster:
[[Bild:octave_dialog100.jpg]]
Ausgabe auf der Konsole (je nach gedrücktem Button), z.B.:
Servus angeklickt!
Die Position wird als [links, unten, breite, höhe] angegeben. Der Koordinatennullpunkt liegt, bezogen auf das Elternfenster, links unten. Es sind auch negative Koordinatenwerte möglich. Sinnvoll ist das z.B. bei einem dynamischen Ausblenden ohne zu löschen, oder für Animationen.
[[Bild:Cartesian-coordinate-system.svg | 150px]]
Wer mehr dazu wissen will, sei auf die Octave-Dokumentation verwiesen. Insbesondere siehe
* dialog
* uicontrol
* uipanel
* uibuttongroup
* uitable
* uimenu
* uitoolbar
== Aufgaben ==
=== Aufgabe 1 ===
Erzeugen Sie ein Dialogfenster mit einem Texteingabefeld und einem Button. Beim Klicken auf den Button soll der Eingabetext auf der Konsole ausgegeben werden. Das Dialogfenster soll also in etwa so aussehen:
[[Bild:octave_dialog105.jpg]]
Da dies etwas komplizierter als das oben gezeigte Beispiel ist, werden nachfolgend ein paar Codefragmente zwecks Lösung angegeben:
Datei button_callback.m:
function button_callback(editHandle)
eingegText = get(editHandle, "String");
disp(eingegText);
end
Codefragement in test1.m:
% ...
edit = uicontrol(% ...
"Style", "edit", ...
%, ...
"HorizontalAlignment", "left");
btn = uicontrol(% ...
"Callback", @(src, event) button_callback(edit));
% ...
Aufruf mit:
octave test1.m
Eingabe von z.B. "Hallo Welt!":
[[Bild:octave_dialog106.jpg]]
Ausgabe auf der Konsole nach dem Drücken des Buttons:
Hallo Welt!
=== Aufgabe 2 ===
Erzeugen Sie ein Dialogfenster mit zwei Eingabefeldern und einem Button. Eingegeben in diese zwei Eingabefelder werden vom Benutzer Zahlen. Auf der Konsole ausgegeben werden soll, nach Drücken des Buttons, das Produkt dieser zwei Zahlen.
Auch hier werden wieder Codefragemente angegeben.
Datei button_callback.m:
function button_callback(edit1, edit2)
zahl1 = str2double(get(edit1, 'String'));
zahl2 = str2double(get(edit2, 'String'));
disp(zahl1 * zahl2);
end
Codefragment Datei test1.m:
% ...
btn = uicontrol("Parent", d, ...
% ...
"Callback", @(src, event) button_callback(edit1, edit2));
% ...
Was passiert, wenn der Benutzer keine Zahlen, sondern beliebige Strings eingibt?
= Fehlerhandling mit try/catch =
Die try/catch-Anweisung entspricht weitgehend jener, die aus höheren Programmiersprachen wie C++ oder Java bekannt sind. Aufgebaut ist diese Anweisungsfolge so:
try
BODY
catch
CLEANUP
end
Beispiel:
clear;
close all;
clc;
try
a = 10 / "zahl";
disp(a);
disp("Weiter im try-Block");
catch
disp("Catch: Kann nicht durch einen String dividieren");
end
Ausgabe:
Catch: Kann nicht durch einen String dividieren
Sinnvoll ist die try/catch-Folge, wenn z.B. auch in einem Fehlerfall Dateien wieder geschlossen werden sollen.
= Ein- und Ausgabe =
== Formatierte Ausgabe am Bildschirm, formatiertes Lesen von der Tastatur ==
Folgendes Beispiel ist der Octave-Hilfe (von Octave 3.0.3) entnommen:
pct = 37;
filename = "foo.txt";
printf ("Processed %d%% of `%s'.\nPlease be patient.\n", pct, filename);
Ausgabe:
Processed 37% of `foo.txt'.
Please be patient.
"printf" gibt einen formatierten String am Bildschirm (genauer in den Stream stdout) aus. Wie man sieht, orientiert sich das Format an der Programmiersprache C.
Für das formatierte Lesen vom Stream stdin (normalerweise also von der Tastatur) steht das Pendant "scanf" bereit.
== Von einem String lesen bzw. in einen String schreiben ==
Bezüglich der Funktionen
* sprintf
und
* sscanf
sei auf die Octave-Hilfefunktion verwiesen.
== Lesen und Schreiben von einer Datei ==
=== Datei schreiben ===
% Datei c:\tmp\datei.test zum Schreiben öffnen
datei = fopen ("c:/tmp/datei.test", "w");
% Etwas in die Datei schreiben
fprintf(datei, "Hallo, Welt!");
% Datei schließen
fclose(datei);
=== Datei lesen ===
% Datei c:\tmp\datei.test zum Lesen öffnen
datei = fopen ("c:/tmp/datei.test", "r");
% Etwas aus der Datei lesen
[string] = fscanf(datei, "%s");
disp(string);
% Datei schließen
fclose(datei);
Ausgabe:
Hallo,Welt!
=== Dateiende prüfen ===
Mittels des Befehls
feof(FID);
kann das Dateiende geprüft werden. Wenn die EOF-Bedingung zutrifft, dann wird 1 zurückgegeben, wenn nicht dann 0. Ein Beispiel folgt später als Lösung einer Aufgabe.
=== warning und error ===
Eine Warnung kann man am stderr-Stream ausgeben. Die warning-Funktion entspricht ansonsten der printf-Funktion. Nach Ausgabe der Warnung wird das Programm normal fortgesetzt.
m = [1 2
3 6];
if(det(m) == 0)
warning("Matrix ist singulaer");
end
disp("Weiter geht's");
Ausgabe:
warning: Matrix ist singulaer
warning: called from
test1 at line 5 column 3
Weiter geht's
Schärfer ist der error-Befehl. Die Fehlermeldung wird am stderr-Stream ausgegeben. Vom Format her entspricht diese Funktion dem printf-Befehl. Nach Ausgabe der Fehlermeldung wird das Programm beendet.
m = [1 2
3 6];
if(det(m) == 0)
error("Matrix ist singulaer");
end
disp("Weiter geht's");
Ausgabe:
error: Matrix ist singulaer
error: called from
test1 at line 5 column 3
== Aufgaben ==
* Schreiben Sie ein Programm, das die Zahlen 1 bis 10 zeilenweise in eine Datei ausgibt.
* Lesen Sie diese Zeilen wieder von der Datei ein und geben Sie sie am Bildschirm aus.
* Gegeben sei eine Datei. Lesen Sie die Daten aus dieser Datei ein und rechnen Sie per Octave-Programm den Gesamtpreis für alle Tiere aus. Die Anzahl der Zeilen und der genaue Dateinhalt sei Ihnen vorab nicht bekannt. Bekannt ist nur das Datenformat wie folgt:
Nr. Name Einzelpreis Stueck
1 Affe 15000.50 2
2 Loewe 11000.90 1
3 Nashorn 45000.10 1
4 Elefant 51245.90 3
5 Tiger 9000.70 2
6 Maus 34.90 12
Eine einfache Lösung ohne Schnickschnack (Fehlerüberprüfungen etc.) für dieses Beispiel könnte wie folgt aussehen:
clear;
close all;
clc;
datei = fopen ("c:/tmp/daten1.txt", "r");
gesamtpreis = 0;
% Kopfzeile einlesen
[nr, name, preis, stk] = fscanf(datei, "%s %s %s %s", "C");
while(feof(datei) == 0)
% Datensätze einlesen
[nr, name, preis, stk] = fscanf(datei, "%d %s %f %d", "C");
gesamtpreis += preis*stk;
end
fclose(datei);
disp("Gesamtpreis = ");
format long;
disp(gesamtpreis);
Ausgabe:
Gesamtpreis =
258159.900000000
= Datencontainer =
== Datenstrukturen ==
Pseudocode:
STRUKTUR s
ZAHL a
VEKTOR b
STRING c
END
Octave-Code:
s.a = 45.9;
s.b = [1 2 3 4 5];
s.c = "Hallo!";
s
Ausgabe:
s =
scalar structure containing the fields:
a = 45.90000000000000
b =
1 2 3 4 5
c = Hallo!
Um ein paar weitere Möglichkeiten zum Handling mit Datenstrukturen aufzuzeigen, sei folgender Code aufgeführt.
Datei addsub.m
function res = addsub(a, b)
res.x = a + b;
res.y = a - b;
end
Datei test1.m
clear;
clc;
addsub(10, 50)
r = addsub(30, 70)
r.x
r.y
++r.x
Ausgabe:
ans =
scalar structure containing the fields:
x = 60
y = -40
r =
scalar structure containing the fields:
x = 100
y = -40
ans = 100
ans = -40
ans = 101
Die Funktion "addsub" liefert die Struktur res mit zwei Zahlenwerten. Die Elemente der Datenstruktur können auch außerhalb der Funktion angesprochen werden. Auch gerechnet werden kann mit diesen Elementen.
== Cell Arrays ==
Manchmal kann es sinnvoll sein mehrere Variablen verschiedenen Typs und Größe in einer Variablen zu speichern. Dies funktioniert ähnlich wie bei Vektoren. Es werden aber geschweifte Klammern verwendet.
Eingabe:
c = {"Hallo Welt!", [2 2], 44}
c{1}
c{1:2}
Ausgabe:
c =
{
[1,1] = Hallo Welt!
[1,2] =
2 2
[1,3] = 44
}
ans = Hallo Welt!
ans = Hallo Welt!
ans =
2 2
Elemente des Cell Arrays können auch wieder mit Variablen anderen Typs überschrieben werden.
c = {"Hallo Welt!", [2 2], 44};
c{1} = 5;
c
Ausgabe:
c =
{
[1,1] = 5
[1,2] =
2 2
[1,3] = 44
}
= Objektorientierte Programmierung =
Octave unterstützt auch objektorientierte Programmierung mit dem Schlüsselwort <code>classdef</code> (ab Version 4.0). Dieses Thema ist aber etwas für fortgeschrittene Anwender und wird hier nicht behandelt. Wen es trotzdem interessiert, der sei auf die [https://docs.octave.org/latest/Object-Oriented-Programming.html Octave-Dokumentation] verwiesen.
= Octave im Zusammenspiel mit anderen Programmiersprachen =
== .oct-Dateien ==
Eine .oct-Datei in GNU Octave ist eine kompilierte C/C++-Datei, die als dynamisch ladbares Objekt direkt in Octave ausgeführt werden kann. oct-Dateien sind meist schneller als nativer Octave-Code.
1. Schritt: Erstelle z.B. eine C++-Datei ''quadrat.cc'' (es soll das Quadrat einer Zahl berechnet werden)
#include <octave/oct.h>
DEFUN_DLD(quadrat, args, nargout, "Quadrat einer Zahl berechnen")
{
double x = args(0).double_value();
double res = x*x;
return octave_value(res);
}
* <code>DEFUN_DLD</code> ist ein Makro. Damit wird angezeigt, dass es sich um eine dynamisch ladbare Funktion handelt.
* <code>args</code>: Argumente die beim Aufruf in Octave übergeben werden.
2. Schritt: ''quadrat.cc'' kompilieren
# Terminal öffnen
# In das quadrat.cc-Verzeichnis wechseln
# Octave aufrufen
# cc-Datei zu einer oct-Datei kompilieren: <code>mkoctfile quadrat.cc</code>
# Wenn das ohne Fehlermeldung durchläuft, so sollte im Anschluss eine (relativ große) ''quadrat.oct''-Datei im entsprechenden Verzeichnis zu finden sein.
3. Schritt: Funktion <code>quadrat()</code> in Octave aufrufen, z.B.:
y = quadrat(5)
Es ergibt sich folgende Ausgabe:
y = 25
Damit das funktioniert, müssen natürlich die entsprechenden Werkzeuge (Compiler etc.) installiert sein. Darauf wird hier aber nicht näher eingegangen.
Die Dokumentation zu den .oct-Dateien findet sich auf [https://docs.octave.org/v11.1.0/Oct_002dFiles.html].
== Andere Möglichkeiten ==
* .mex-Dateien ('''M'''ATLAB '''Ex'''ecutables): Wenn man kompatibel zu MATLAB bleiben muss
* Java- oder Python-Schnittstelle (Nachteil: langsamer als .oct-Dateien)
Bevor man aber diese Möglichkeiten in Anspruch nimmt, sollte man vektorisieren. Damit lassen sich oft schon höhere Geschwindigkeiten erzielen. Dieses Thema wurde früher schon kurz behandelt.
= Octave GUI =
Das GUI-Programm ('''G'''raphical '''U'''ser '''I'''nterface) von Octave entspricht im Wesentlichen anderen Programmier-Benutzeroberflächen (IDEs ... '''I'''ntegrated '''D'''evelopment '''E'''nvironments), wie z.B. Eclipse (Java), Code::Blocks (C/C++) oder Spyder (Python). Nachfolgend ist ein Screenshot des Octave-GUI mit einigen Anmerkungen dargestellt.
[[Bild:octave_gui2.jpg|600px]]
Probieren Sie einfach die Möglichkeiten der zur Verfügung gestellten GUI/IDE aus.
= Komplexere Aufgaben =
* Berechnen Sie die Fläche, den Umfang, die Seitenlängen, den Inkreis und den Umkreis eines Dreiecks. Stellen Sie das Dreieck inklusive In- und Umkreis grafisch dar. Speichern Sie die Daten in einer Datei. Die drei Eckpunkte dieses Dreiecks sollen vom Benutzer beliebig vorgegeben werden.
* Die Werte einer beliebig großen quadratischen Matrix seien in einer Datei gespeichert. Lesen Sie diese Datei ein und berechnen Sie daraus die Determinante der Matrix, die inverse Matrix, die Eigenvektoren und -werte, die Spur. Führen Sie die LR-Zerlegung durch. Geben Sie diese Werte am Bildschirm aus.
= Ausblick =
Dies war eine kurze Einführung in die Berechnungs- und Darstellungsmöglichkeiten mit Octave. Es sollten etliche relevante Themen behandelt, oder zumindest kurz angesprochen worden sein. Wem dieser Text nicht ausreichend ist, der sei auf die entsprechende weiterführende Literatur, die Octave-Hilfefunktion und die Octave-Dokumentation verwiesen. Octave kennt noch viel mehr Befehle, als hier dargestellt wurden. Aber auch Octave selbst ist erweiterbar. Man siehe z.B. Octave Packages (https://gnu-octave.github.io/packages/) oder man schreibt selbst Erweiterungen.
{{Navigation_zurückhochvor_buch|
zurücktext=Maxima|
zurücklink=Ing Mathematik: Computeralgebrasysteme am Beispiel von Maxima|
hochtext=Gesamtinhaltsverzeichnis|
hochlink=Ing:_Mathematik_für_Ingenieure|
vortext=Julia für Ingenieure|
vorlink=Ing Mathematik: Julia}}
cykecfvxg3zhb8vz4v743ztrj43pwe9
1091094
1091090
2026-09-19T15:27:06Z
Intruder
1513
/* .oct-Dateien */
1091094
wikitext
text/x-wiki
{{Navigation_zurückhochvor_buch|
zurücktext=Maxima|
zurücklink=Ing Mathematik: Computeralgebrasysteme am Beispiel von Maxima|
hochtext=Gesamtinhaltsverzeichnis|
hochlink=Ing:_Mathematik_für_Ingenieure|
vortext=Julia für Ingenieure|
vorlink=Ing Mathematik: Julia}}
= Hallo Welt und allgemeine Hinweise =
== Was ist Octave ==
* Octave ist eine Software zur numerischen Lösung mathematischer Probleme.
* Octave ist Open-Source (GPL-Lizenz).
* Octave ist für viele Betriebssysteme erhältlich (z.B. für Linux, MS Windows, macOS).
* Octave ist weitgehend kompatibel zum Numerik-Standardprogramm {{W|Matlab|MATLAB}}.
* Octave ist ein Interpreter.
* Octave als Programmiersprache ist case-sensitive - d.h. Groß- und Kleinschreibung ist relevant bei der Eingabe von Befehlen.
{{Wikipedia | GNU Octave}}
== Octave installieren ==
=== MS Windows ===
Laden Sie das aktuelle Octave-Paket von der Webseite [https://octave.org/download] herunter. Weiter geht es wie bei jedem anderen größeren zu installierenden Programm. Einfach das Installationsprogramm im Explorer doppelklicken und den Anweisungen des Setup-Programmes folgen.
=== Linux ===
Entweder ist Octave bereits standardmäßig installiert, ansonsten ist die Installation mittels Paketmanagementsystem einfach möglich. Dazu gehen Sie auf die Seite [https://wiki.octave.org/Category:Installation], wählen die vorhandene Linux-Variante und folgen der angegebenen Beschreibung (z.B. <code>zypper ... </code> für openSUSE. Oder Sie benutzen unter openSUSE Tumbleweed direkt das Setup-Programm {{W|YaST}}).
== Octave starten ==
=== MS Windows ===
Das Icon für das Octave-Programm doppelklicken (für das Konsolenprogramm ... CLI, für die grafische Benutzeroberfläche ... GUI). Und schon startet das Programm.
[[Datei:octavestart1.jpg]]
=== Linux ===
In einer Linux-Konsole den Befehl "octave" eintippen, mit der RETURN-Taste bestätigen, und das Programm (CLI) startet:
GNU Octave (x86_64-suse-linux-gnu) version 11.1.0
Copyright (C) 1993-2026 The Octave Project Developers.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>
This is free software; see the source code for copying conditions.
There is NO WARRANTY, to the extent permitted by law. For details, type 'warranty'.
Home page: <https://octave.org>
Support resources: <https://octave.org/support>
Improve Octave: <https://octave.org/get-involved>
For changes from previous versions, type 'news'.
octave:1>
Um Octave mit der eingebauten GUI zu starten, kann der Befehl <code>octave --force-gui</code> verwendet werden:
[[File:Gnu_Octave_IDE.png|600px]]
Alternativ kann, z.B. unter openSUSE Tumbleweed (mit {{W|KDE Plasma 6|KDE-Plasma}}), die Octave-IDE auch über den Application Launcher im Menü ''Education -> GNU Octave'' gestartet werden.
== Ein paar Worte zur Erklärung ==
Im Folgenden wird immer das Konsolenprogramm (CLI ... Command Line Interface) für die Eingabe von Befehlen benutzt. Erst gegen Ende dieses Textes wird auch kurz auf das GUI von Octave eingegangen.
Teilweise werden Ergebnisse der älteren Octave-Version 3.0.3 dargestellt. Die dargestellten Grafiken und Ausgabetexte können je nach Version leicht voneinander abweichen. Der Text wurde ursprünglich mit der Octave-Version 3.0.3 erstellt und anschließend auf die Versionen 5.2 bis 11.1.0 aktualisiert. Dieser Mischmasch sollte aber kein Problem darstellen.
Getestet wurden die Beispiele ursprünglich unter dem Betriebssystem MS Windows 10, später auch mit MS Windows 11, bzw. mit openSUSE Leap 15.6 (Octave 6.4.0, nur vereinzelt) und ab März 2026 auch mit openSUSE Tumbleweed (ab Octave 10.3.0, nur vereinzelt).
== Ein erstes Programm ==
Kommentare werden in Octave mit dem Prozentzeichen (%) oder alternativ mit der Raute (#) eingeleitet. Sie werden vom Octave-Interpreter ignoriert. Will man kompatibel mit MATLAB bleiben, so ist die Version mit dem %-Zeichen vorzuziehen. Text kann mit der disp-Funktion ausgegeben werden. Starten Sie Octave und geben sie folgende Anweisungen zeilenweise ein
octave-3.0.3.exe:1> % Das ist ein Kommentar
octave-3.0.3.exe:2> # und das auch
octave-3.0.3.exe:3> disp "Hallo Welt!"
Als Ergebnis erhalten Sie
Hallo Welt!
Der Prompt (z.B. octave-3.0.3.exe:1>) ist natürlich abhängig von der Octave-Version und den schon eingegebenen Zeilen. Er ist selbstverständlich nicht einzutippen, sondern wird vom Octave-System geliefert.
Strings können in Octave entweder in Anführungszeichen (") gesetzt werden oder in Hochkommatas('). In diesem Text wird die erste Variante bevorzugt eingesetzt.
= Octave als Taschenrechner =
== Allgemeines ==
Wir wollen 3 * 5 berechnen. Dazu starten wir Octave. Geben Sie dann die Formel
octave-3.0.3.exe:1> 3 * 5
ein, drücken die Taste ENTER/RETURN und erhalten als Ergebnis
ans = 15
Auch kompliziertere Ausdrücke sind möglich. Beispielsweise mit Winkelfunktionen, Quadratwurzeln etc. Wir wollen nun den Ausdruck <math>\sin\sqrt{15}</math> berechnen :
octave-3.0.3.exe:2> sin(sqrt(15))
ans = -0.6679
Octave kennt eine Handvoll von Konstanten, z.B.:
Zeilenweise Eingabe:
% Die Kreiszahl PI
pi
% Die Eulersche Zahl
e
% Zur Maschinengenauigkeit
eps
Ausgabe:
ans = 3.1416
ans = 2.7183
ans = 2.2204e-016
"ans" steht übrigens für den Begriff "answer" (auf Deutsch "Antwort"). Mit "ans" kann wie mit jeder anderen Variable oder Konstanten weitergerechnet werden, z.B.:
Eingabe:
% Der Kreisradius sei 10
10
% Der Kreis-Umfang mit diesem Radius sei folgendes
2 * pi * ans
Ausgabe:
ans = 10
ans = 62.832
Die Ausgabe eines Befehls am Bildschirm (das "Echo") kann übrigens durch Anwendung des Semikolons (;) unterdrückt werden. Gezeigt werden soll dies nun mit Hilfe des obigen Beispiels. Es soll nur der Umfang ausgegeben werden, nicht der Radius.
Eingabe:
% Der Kreisradius sei 10
10;
% Der Kreis-Umfang mit diesem Radius sei folgendes
2 * pi * ans
Ausgabe:
ans = 62.832
Vielleicht ist manchem die Genauigkeit, mit der Echo bzw. der Befehl disp Werte ausgibt, nicht ausreichend. Dem kann Abhilfe verschafft werden und zwar so:
Eingabe:
format short
pi
format long
pi
format longe
pi
% usw.
Ausgabe:
ans = 3.1416
ans = 3.14159265358979
ans = 3.14159265358979e+00
Beenden lässt sich das Octave-Programm durch Eingabe von quit oder exit (und natürlich zur Bestätigung die RETURN-Taste drücken).
== Die Hilfefunktion von Octave ==
Die Eingabe von help mit Angabe eines Funktionsnamens liefert detaillierte Infos zu der gesuchten Funktion.
Eingabe:
help sin
Ausgabe:
'sin' is a built-in function from the file libinterp/corefcn/mappers.cc
-- Y = sin (X)
Compute the sine for each element of X in radians.
See also: asin, sind, sinh.
Additional help for built-in functions and operators is
available in the online version of the manual. Use the command
'doc <topic>' to search the manual index.
Help and information about Octave is also available on the WWW
at https://www.octave.org and via the help@octave.org
mailing list.
Auch gibt es die doc-Funktion für eine vollständige Dokumentation des Octave-Systems, z.B.:
Eingabe:
doc
Ausgabe:
[[Datei:Octave_730_doc_screenshot.jpg]]
== Sonstige einfache Berechnungen ==
In octave gibt es eine "umgekehrte" Division:
11 / 2 % normale Division (Rechtsdivision)
11 \ 2 % umgekehrte Division (Linksdivision)
Ausgabe:
ans = 5.5000
ans = 0.1818
Potenzieren kann man so:
12^5
Ausgabe:
ans = 248832
Den Modulo-Operator % wie in C/C++, Java oder Python gibt es in Octave '''nicht'''. Das Prozentzeichen ist dem Kommentar vorbehalten. Man kann aber eine Funktion hierfür benutzen
y = mod(20, 3)
Ausgabe:
y = 2
Runden mit und auf Ganzzahlen kann man in Octave so:
a = int32(10);
b = int32(3);
x = a / b
y = int32(15) / int32(4)
Ausgabe:
x = 3
y = 4
Siehe dazu aber auch die Funktionen <code>floor</code>, <code>ceil</code> und <code>idivide</code>.
Mittels <code>int32()</code> werden Zahlen als 32-Bit-Ganzzahlen dargestellt. Standardmäßig ist der Datentyp nämlich <code>double</code>. Das ist zu beachten, es ergeben sich unterschiedliche Ergebnisse.
Beispiel:
clear();
a = int32(10);
b = int32(3);
x = a / b
c = 10;
d = 3;
y = c / d
whos()
Ausgabe:
x = 3
y = 3.3333
Variables visible from the current scope:
variables in scope: top scope
Attr Name Size Bytes Class
==== ==== ==== ===== =====
a 1x1 4 int32
b 1x1 4 int32
c 1x1 8 double
d 1x1 8 double
x 1x1 4 int32
y 1x1 8 double
Total is 6 elements using 36 bytes
Ist der Wertebereich von <code>int32</code> zu klein (4 Bytes, <math>-2^{31}</math> bis <math>2^{31} - 1</math>), so gibt es auch <code>int64</code> (8 Bytes, <math>-2^{63}</math> bis <math>2^{63} - 1</math>).
<code>clear</code> löscht Namen und gibt den Speicherplatz wieder frei. <code>whos()</code> liefert detaillierte Informationen der aktuell definierten Variablen.
== Aufgaben ==
* Berechnen Sie mit Octave den Ausdruck <math>\frac{1}{2}\cdot e^2 \cdot \tan(\pi/3)</math>.
* Berechnen Sie mit Octave den Ausdruck <math>2\; \text{cosd}(60) - 3\sin(\pi/5)</math>. Anmerkung: cosd erwartet den Parameter im Gradmaß (d für "degree"), sin erwartet den Parameter im Bogenmaß.
* Erkunden Sie die Fehlerfunktion "erf" mittels Octave-Hilfe.
* Welche Zahl ergibt sich durch <code>3 / 4 \ 2</code>?
* Welche Zahlen werden durch die folgenden Anweisungen ausgegeben?
idivide(int32(10), int32(3), "fix")
idivide(int32(10), int32(3), "round")
idivide(int32(10), int32(3), "floor")
idivide(int32(10), int32(3), "ceil")
floor(10.3)
ceil(10.3)
= Octave als Scriptsprache =
Häufig wird man aber kompliziertere Anweisungsfolgen verarbeiten müssen. Diese will man normalerweise nicht jedesmal neu eingeben, sondern in einer Datei speichern und diese Datei dann zur Ausführung bringen. Speichern Sie dazu folgenden Code in einer Textdatei, z.B. unter MS Windows als c:\tmp\test1.m
% Das ist ein Kommentar
# und das auch
disp "Hallo Welt!"
Skriptdateien müssen mit der Dateiendung .m versehen werden. In der Octave-Konsole fügen Sie den Dateipfad mittels
octave-3.0.3.exe:1> addpath("c:/tmp")
hinzu (es ist der UNIX-spezifische Slash (/) zu benutzen). Alternativ können Sie zumindest unter MS Windows auch einen Doppel-Backslash (\\) einsetzen. Oder Sie wechseln mittels <code>cd c:/tmp</code> direkt ins Verzeichnis <code>c:/tmp</code>.
Danach bringen Sie die Skriptdatei test1.m (sozusagen das Hauptprogramm) zur Ausführung
octave-3.0.3.exe:2> test1
Achtung: Die Datei (die Funktion oder das Hauptprogramm) ist in der Octave-Kommandozeile ohne .m-Dateiendung anzugeben. Wie erwartet ergibt sich folgende Ausgabe am Bildschirm
Hallo Welt!
Zumindest unter Linux können Sie z.B. auch komfortabel den {{W|Shebang|Shebang}} (<code>#!</code>) nutzen. Gegeben sei das Octave-Script
#!/usr/bin/octave
disp("Hallo Welt!");
Gepeichert sei es ebenfalls als <code>test1.m</code>. Starten Sie ein Terminal, wechseln Sie in das entsprechende Arbeitsverzeichnis und geben Sie
./test1.m
ein, so erhalten Sie wieder
Hallo Welt!
als Ausgabe auf dem Terminal. Die Zugriffsberechtigung muss natürlich mittels <code>chmod</code> richtig gesetzt werden. Oder Sie führen direkt Octave mit der Datei <code>test1.m</code> aus:
octave test1.m
Sie sehen, mehrere Wege führen zum Ziel.
== Blockkommentare ==
In neueren Octave-Versionen ab dem Jahr 2009 sind auch Blockkommentare möglich. Blockkommentare werden wie normale Kommentare vom Octave-Interpreter ignoriert.
%{
Das ist ein
Blockkommentar
%}
#{
und das auch
#}
== Variablen ==
Variablenbezeichner können aus Buchstaben (A-Za-z), Ziffern (0-9) und Underscores (_) bestehen, dürfen aber nicht mit einer Zahl beginnen.
Gültige Variablenbezeichner wären also:
xyz
x1
_wert
name_anzahl
Da Octave case-sensitiv ist, repräsentieren folgende Bezeichner verschiedene Variablen:
xyz
XYZ
xYz
Werte werden an Variablen mittels Gleich-Zeichen (=) zugewiesen. Im Folgenden wird der Code immer in der Datei c:\tmp\test1.m gespeichert.
x = 5
y = 10
z = x*y
Bringen Sie die Datei test1.m zur Ausführung, so erhalten Sie folgende Bildschirmausgabe
x = 5
y = 10
z = 50
Normalerweise will man aber nur z anzeigen, die Werte von x und y sind ja bereits bekannt. Dazu fügen Sie an den Anweisungsenden, wie bereits weiter oben erwähnt, bei x und y jeweils ein Semikolon (;) an, um das Anweisungsende explizit zu markieren.
x = 5;
y = 10;
z = x*y
Nun erhalten Sie als Ergebnis nur noch
z = 50
Sie können auch mehrere Anweisungen in einer Zeile durch Semikolon getrennt schreiben.
x = 5; y = 10; z = x*y
Ausgabe:
z = 50
Auch aus der Programmiersprache C/C++ oder Java bekannte Konstrukte können Sie verwenden, z.B.
x = 5;
% inkrementiere x
++x
% x = x - 2
x -= 2
Bildschirmausgabe:
ans = 6
x = 4
Beachten Sie, dass mit dem =-Zeichen eine Wertezuweisung durchgeführt wird. Dies ist nicht äquivalent zum mathematischen =-Zeichen, wie am vorigen Beispiel zu ersehen ist.
Soll eine Anweisung auf mehrere Zeilen verteilt werden, z.B. weil sie zu lang ist, so kann dies durch Verwendung von drei Punkten (...) geschehen, wie nachfolgend dargestellt.
x = 5;
y = 1000 * x + ...
sin(x/2)
Ausgabe:
y = 5000.6
Diese Drei-Punkte-Methode soll nicht für in Anführungszeichen (") eingeschlossene Strings verwendet werden. Diese Methode ist seit geraumer Zeit "deprecated" und funktioniert mit der Version 9.1.0 gar nicht mehr. Benutzen Sie statt dessen den Backslash (\):
txt = "xxxxxxxxxxxxxxxxxxxx\
yyyyyyyyyyyyyyyyy"
Ausgabe:
txt = xxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyy
Variablen sind nicht an einen bestimmten Datentyp gebunden, folgendes ist in Octave problemlos möglich:
wert = 10
wert = 35.5
wert = "Hallo"
wert = pi
Ausgabe:
wert = 10
wert = 35.500
wert = Hallo
wert = 3.1416
Der Befehl <code>who</code>, bzw. <code>whos</code> listet die gegenwärtig definierten Variablen, z.B.:
clear;
a = 10.5;
v = [1 2 3 4 5 12 13];
m = ["s1", "s2"; "s3", "s4"];
disp "***** Der Befehl who *****"
who
disp "***** Der Befehl whos *****"
whos
Ausgabe:
***** Der Befehl who *****
Variables visible from the current scope:
a m v
***** Der Befehl whos *****
Variables visible from the current scope:
variables in scope: top scope
Attr Name Size Bytes Class
==== ==== ==== ===== =====
a 1x1 8 double
m 2x4 8 char
v 1x7 56 double
Total is 16 elements using 72 bytes
==Hexadezimale und binäre Zahlen==
% Hexadezimale Zahl
disp( 0xABC )
% Binäre Zahl
disp( 0b1000011 )
Ausgabe (als Dezimalzahlen):
2748
67
Octave kann auch dezimale in binäre Zahlen etc. umwandeln:
dec2bin( 214 )
Ausgabe:
ans = 11010110
Siehe dazu in der Octave-Hilfe auch folgende Funktionen:
bin2dec, dec2base, dec2hex, hex2dec, base2dec
== Zahlenkolonnen ==
Eine Zahlenkolonne (oder ein Vektor) mit gleichen Abständen der Werte kann folgendermaßen erzeugt werden:
% a ... Startwert
% b ... Schrittweite
% c ... Endwert
a = 0;
b = 10;
c = 100;
x = a : b : c;
disp(x);
Ausgabe:
0 10 20 30 40 50 60 70 80 90 100
Ähnliche Resultate lassen sich auch durch Anwendung der linspace-Funktion erhalten, z.B.:
% a ... Startwert
% b ... Endwert
% c ... Anzahl der Werte
a = 0;
b = 100;
c = 11;
v = linspace(a, b, c)
Ausgabe:
v =
0 10 20 30 40 50 60 70 80 90 100
== Verzweigungen ==
=== Die IF-Verzweigung ===
Die IF-Verzweigung ist aus anderen Programmiersprachen bereits bekannt. In Pseudocode lässt sie sich folgendermaßen darstellen:
WENN bedingung TRUE
führe block1 aus
SONST
führe block2 aus
ENDE
Die test1.m-Datei laute also wie folgt:
x = 5;
if x < 4
disp "x ist kleiner als 4";
else
disp "Der else-Zweig wird ausgefuehrt";
disp "x ist groesser oder gleich 4";
end
Ausgabe:
Der else-Zweig wird ausgefuehrt
x ist groesser oder gleich 4
Octave kennt eine Reihe von Vergleichs- und Verknüpfungsoperatoren:
* <, <= ... kleiner (gleich)
* >, >= ... größer (gleich)
* == ... gleich
* ~=, != ... ungleich
* &, && ... AND
* |, || ... OR
* ~, ! ... NOT
Beispielsweise:
a = 5;
b = 9;
if a<=10 & b!=7
disp("OK");
else
disp("Nicht OK");
end
Ausgabe:
OK
=== Die SWITCH-Verzweigung ===
In Pseudocode:
WECHSLE ZU var
FALLS wert1 == var
führe block1 aus
FALLS wert2 == var
führe block2 aus
...
SONST
führe blockn aus
ENDE
Eine Beispielsimplementierung in Octave könnte so aussehen:
x = "g";
switch(x)
case "k"
disp("klein");
case "g"
disp("gross");
otherwise
disp("sonstiges")
end
Ausgabe:
gross
Anmerkungen für C-Programmierer:
* in Octave darf zum Abschluß von ''case'' kein Doppelpunkt folgen (würde einen Syntaxfehler auslösen).
* ein ''break'' als Abschluß eines ''case''-Blocks ist nicht erlaubt (würde in Octave einen parse error auslösen). ''break'' ist Schleifen vorbehalten. ''switch'' hat in Octave keinen "Durchfall" und ähnelt somit eher der Fortran-Anweisung ''select case''.
Mehrere Fälle in einem ''case'' können wie nachfolgend behandelt werden:
x = "K";
switch(x)
case {"k" "K"}
disp("klein");
case {"g" "G"}
disp("gross");
otherwise
disp("sonstiges")
end
Ausgabe:
klein
== Schleifen ==
=== Die WHILE-Schleife ===
Die WHILE-Schleife ist kopfgesteuert. Sie funktioniert wie aus anderen Programmiersprachen bekannt.
In Pseudocode:
SOLANGE bedingung TRUE
führe block aus
ENDE
In Octave:
x = 0;
while x <= 10
disp(x);
x++;
end
Ausgabe:
0
1
2
3
4
5
6
7
8
9
10
=== Die DO-UNTIL-Schleife ===
Die DO-UNTIL-Schleife ist fußgesteuert. Beachte: Diese Schleife ist nicht äquivalent zu der aus anderen Programmiersprachen bekannten DO-WHILE-Schleife. DO-WHILE bedeutet "TUE SOLANGE", DO-UNTIL bedeutet "TUE BIS". Sie wird mindestens einmal ausgeführt.
Pseudocode:
TUE
führe block aus
BIS bedingung TRUE
Mittels Octave:
x = 0;
do
disp(x);
x++;
until(x >= 5)
Ausgabe:
0
1
2
3
4
=== Die FOR-Schleife ===
for x = 0 : 2 : 10
disp(x);
end
Ausgabe:
0
2
4
6
8
10
Der FOR-Schleifenkopf ist in Form einer Zahlenkolonne folgendermaßen aufgebaut:
for variable = startwert : schrittweite : endwert
Man beachte, dass Vektorisierung gegenüber einem Schleifendurchlauf eine erhebliche Zeiteinsparung bewirken kann (man siehe in der [https://docs.octave.org/latest/Vectorization-and-Faster-Code-Execution.html Octave-Dokumentation das Kapitel 19 "Vectorization and Faster Code Execution"]). Folgendes Beispiel ist an genanntes Octave-Kapitel angelehnt. Zuerst wird eine Berechnung mittels Schleifendurchlauf durchgeführt und der Zeitbedarf ausgegeben. Dieser Zeitbedarf hängt natürlich auch von der verwendeten Hardware etc. ab.
Eingabe:
n = m = 500;
a = b = eye(500);
t1 = time();
for i = 1:n
for j = 1:m
c(i,j) = a(i,j) + b(i,j);
endfor
endfor
t2 = time();
t_diff = t2-t1
Ausgabe:
t_diff = 3.7566
Der Zeitverbrauch beträgt hier also ca. 4 Sekunden. Im Gegensatz dazu
Eingabe:
a = b = eye(500);
t1 = time();
c = a + b;
t2 = time();
t_diff = t2-t1
Ausgabe:
t_diff = 1.5974e-05
ist der Zeitverbrauch hier sehr gering. Vektoren und Matrizen werden etwas später in diesem Text detailliert behandelt. Hier nur soviel: Mittels ''eye'' wird eine Einheitsmatrix kreiert.
=== Schleifen abbrechen ===
Zum Abbrechen einer Schleife gibt es den Befehl "break".
for var = 0 : 1 : 100
disp (var);
if var == 5
break;
end
end
Ausgabe:
0
1
2
3
4
5
"continue" setzt mit dem nächsten Schleifendurchlauf fort, z.B.
for var = 0 : 1 : 10
if var == 5
continue;
end
disp (var);
end
Ausgabe:
0
1
2
3
4
6
7
8
9
10
== Aufgaben ==
* Berechnen Sie die Summe der ersten 10000 natürlichen Zahlen (bei 1 beginnend)
** in Form einer WHILE-Schleife
** in Form einer DO-UNTIL-Schleife
** in Form einer FOR-Schleife
** mittels sum-Befehl (siehe dazu auch die von Octave zur Verfügung gestellte Hilfefunktion).
** mittels gaußscher Summenformel (<math>\sum_{i=1}^n{i} = 1+2+...+n = n(n+1) / 2</math>)
* Schreiben Sie für obige Alternativen Programme mit denen der Zeitbedarf der Schleifen, Befehle bzw. Formeln gemessen werden kann. Welche Alternativen sind aus Zeitgründen (minimale Laufzeit) empfehlenswert?
= Grafiken zeichnen =
== 2D ==
=== Graph einer Funktion ===
Es soll die cosh-Funktion im Intervall <math>x\in[-3,3]</math> gezeichnet werden. Der Programmcode lautet in der einfachsten Form:
x = -3 : .1: 3;
y = cosh(x);
plot(x,y);
grid on;
Ausgabe:
[[Datei:octave_cosh.jpg]]
Der Code ist quasi selbsterklärend. x läuft von -3 bis +3. y wird für jeden x-Wert per Formel ausgerechnet. "plot" ist der Zeichenbefehl. "grid on" schaltet ein Zeichengitter ein.
Die Schrittweite 0.1 wurde so gewählt, um einen ausreichend glatten Verlauf des Graphen zu gewährleisten. Das ist immer ein Kompromiss zwischen Berechnungszeit und Ansehnlichkeit. Testen Sie einfach ein paar verschiedene Werte, um ein Gefühl dafür zu zu bekommen.
Sie könnten nun auf die Idee kommen, obiges Script unter Linux mit der Shebang-Zeile zu erweitern, um es direkt als Programm auszuführen.
#!/usr/bin/octave
x = -3 : .1: 3;
y = cosh(x);
plot(x,y);
grid on;
Die Enttäuschung folgt auf dem Fuß. Außer einem kurzen Aufblinken des Grafikfensters ist nicht viel zu sehen. Das Programm läuft einfach durch und wird nach der letzten Anweisung beendet. Abhilfe kann z.B. der <code>input</code>-Befehl schaffen:
#!/usr/bin/octave
x = -3 : .1: 3;
y = cosh(x);
plot(x,y);
grid on;
refresh();
input("Zum Beenden RETURN-Taste drücken");
Das Programm wartet somit, bis Sie im Terminal die RETURN-Taste drücken. <code>refresh()</code> dient dazu, das Grafikfenster unmittelbar zu aktualisieren. Sonst würde das Ausgabefenster leer bleiben, bis es durch externe Anreize aktualisiert wird (z.B. durch Fenster minimieren/maximieren). Gleiches gilt für die <code>octave test1.m</code>-Variante.
Ein etwas komplexeres Beispiel ist Folgendes
x = -3 : .1: 3;
y = cosh(x) + 2.^x;
plot(x,y);
grid on;
Man beachte den Punkt bei 2.^x (2 hoch x). Vergisst man den Punkt, dann erhält man eine Fehlermeldung (ähnlich dieser):
error: for x^y, only square matrix arguments are permitted and one argument must be scalar. Use .^ for elementwise power.
error: called from
test1 at line 2 column 3
Ausgabe:
[[Datei:octave_cosh2.jpg]]
Der Funktionsgraph kann auch als Fläche eingefärbt werden:
x = -3 : .1: 3;
y = cosh(x) + 2.^x;
fill (x, y, "b");
Ausgabe:
[[Datei:octave_cosh3.jpg | 500px]]
=== Graphen mehrerer Funktionen und weiteres ===
Mehrere Graphen lassen sich folgendermaßen in ein Fenster zeichnen:
x = -3 : .1: 3;
y1 = cosh(x) + 2.^x;
y2 = sin(x) .* cos(x);
plot(x,y1, x,y2);
title("Funktionsgraphen");
legend("cosh ...", "sin ...");
xlabel("x");
ylabel("y");
grid on;
[[Bild:octave_cosh14.jpg|600px]]
Um die Linienstile etwas individueller zu gestalten, ist folgender Programmcode gedacht:
x = -3 : .1: 3;
y1 = cosh(x) + 2.^x;
y2 = sin(x) .* cos(x);
plot(x,y1,"*r", x,y2,"ob");
title("Funktionsgraphen");
legend("cosh ...", "sin ...");
xlabel("x");
ylabel("y");
grid on;
[[Datei:octave_cosh4.jpg]]
Bei plot kann auch der Linienstil des jeweiligen Graphen angegeben werden, z.B. steht
* für Sternchenlinie
o für Kreise in der Linie
r für rot
b für blau
Ein ähnliches Resultat liefert der Code:
x = -3 : .1: 3;
y1 = cosh(x) + 2.^x;
y2 = sin(x) .* cos(x);
plot(x,y1, "Color", "red", "*", x,y2, "Color", "blue", "o");
title("Funktionsgraphen");
legend("cosh ...", "sin ...");
xlabel("x");
ylabel("y");
grid on;
Will man mehrere Graphen in ein Fenster zeichnen, aber nicht alles in einen plot-Befehl quetschen, so kann die "hold on"-Anweisung die Lösung des Problems sein:
%Lösche alle benutzerdefinierten Variablen aus der Symboltabelle
clear;
%Schließe alle Fenster
close all;
%Lösche Konsolenfenster und setze Cursor zurück
clc;
x = -3 : .1: 3;
y1 = cosh(x) + 2.^x;
y2 = sin(x) .* cos(x);
plot(x,y1, "Color", "red");
hold on;
plot(x,y2, "Color", "blue");
title("Funktionsgraphen");
legend("cosh ...", "sin ...");
xlabel("x");
ylabel("y");
grid on;
[[Datei:octave_coshsin1.jpg]]
Bei diesem Program wurden auch einige Möglichkeiten (clear, close, clc) gezeigt, um das System aufzuräumen. Ein "hold off" würde natürlich die hold-Funktion wieder ausschalten.
=== Funktion in Parameterdarstellung ===
Es soll die archimedische Spirale <math>x = t \cos(t), y = t \sin(t)</math> im Intervall <math>[0, 6\pi]</math> gezeichnet werden.
clear;
close all;
clc;
t = 0 : .1: 6*pi;
x = t .* cos(t);
y = t .* sin(t);
plot(x,y);
grid on;
[[Datei:octave_spirale1.jpg]]
Diese Darstellung erscheint verzerrt. Will man gleiche Achsenskalierungen, so kann man den axis-Befehl verwenden (axis muss nach plot erscheinen).
t = 0 : .1: 6*pi;
x = t .* cos(t);
y = t .* sin(t);
plot(x,y);
grid on;
axis equal;
[[Datei:octave_spirale222.jpg]]
=== Strichstärke ===
Für manche Zwecke ist es sinnvoll die Strichstärke des Graphen zu erhöhen. Dies kann über den Parameter "LineWidth" der plot-Funktion geschehen.
t = 0 : .1: 6*pi;
x = t .* cos(t);
y = t .* sin(t);
plot(x,y, "LineWidth", 2);
grid on;
axis equal;
Ausgabe:
[[Datei:octave_spirale3.jpg]]
=== Beliebigen Text ausgeben ===
x = -10:0.1:10;
plot (x, sin (x), "LineWidth", 2);
text (2.7, 0.8, "Das ist die sin-Funktion");
Ausgabe:
[[Datei:octave_text1.jpg]]
=== Logarithmische Achseneinteilung ===
x = -3 : .1: 3;
y = cosh(x) + 2.^x;
% Halblogarithmische Darstellung
semilogy(x,y);
grid on;
Ausgabe:
[[Datei:octave_semilog1.jpg]]
Auch die x-Achse kann mit "semilogx" logarithmisch skaliert werden. Mit "loglog" werden beide Achsen logarithmisch skaliert.
=== Aufgaben ===
* Zeichnen Sie die Strophoide <math>x = \frac{a(t^2-1)}{t^2+1}, y = \frac{at(t^2-1)}{t^2+1}, a = 2, -3 \leq t \leq 3</math>. Das Ganze sollte in etwa so aussehen wie folgende Grafik:
[[Datei:octave_strophoide.jpg]]
* Zeichnen Sie die verschlungene Hypozykloide <math>x = (R-r)\cos t + c\cos\frac{R-r}{r}t, y = (R-r)\sin t - c\sin\frac{R-r}{r}t, c = 3, r = 2, R = 6, -15 \leq t \leq 15</math>. Das Ganze sollte in etwa so aussehen wie folgende Grafik:
[[Datei:octave_hypozykloide.jpg]]
* Testen Sie bei den obigen Übungsaufgaben verschiedene Linienstile und Farben (Hinweis: Siehe dazu auch die Octave-Hilfefunktion für den plot-Befehl).
* Testen Sie bei den obigen Übungsaufgaben verschiedene Werte für a, c, r und R.
* Erkunden Sie in der Octave-Hilfe den ezplot-Befehl.
== 3D ==
=== Räumliche Kurven ===
Mittels "plot3" lassen sich Raumkurven zeichnen.
t = 0 : .1 : 9*pi;
x = cos(t);
y = sin(t);
z = 1.3 .^ t;
plot3(x,y,z);
grid on;
[[Datei:octave_raumkurve1.jpg]]
=== Flächen ===
==== ezsurf ====
Die wahrscheinlich einfachste Möglichkeit 3D-Flächen zu erzeugen, besteht in der Verwendung des ezsurf-Befehls. Beachten Sie beim folgenden Beispiel auch wieder den Punkt beim Multiplikationssymbol (elementweise Multiplikation soll verwendet werden, keine Matrizenmultiplikation) in der anonymen Funktion. Was eine anonyme Funktion ist, wird weiter hinten in diesem Text kurz erklärt. Fürs Erste reicht es zu wissen, dass die Funktion f(x, y) jeweils im Intervall [0, 10] gezeichnet werden soll.
clear; close all; clc; clf;
f = @(x, y) sin(x) + 3.*cos(y);
ezsurf (f, [0, 10]);
[[Bild:octave_ezsurf1.jpg|600px]]
Dieses Bild wurde mit der Octave-Version 5.2 erstellt. Es ist im Prinzip identisch zu jenen des folgenden Abschnitts, die mit der Version 3.0.3 erstellt wurden, nur die Farbschattierung ist anders. Ändern lässt sich diese Eigenschaft mit dem colormap-Befehl (siehe auch Octave-Hilfe):
clear; close all; clc; clf;
colormap(hot);
f = @(x, y) sin(x) + 3.*cos(y);
ezsurf (f, [0, 10]);
[[Bild:octave_colormap_hot.jpg|600px]]
==== surf und mesh ====
Für das Zeichnen von Flächen existiert der surf-Befehl. Der meshgrid-Befehl kreiert ein Netz in der xy-Zeichenebene. Beachten Sie beim folgenden Beispiel auch wieder den Punkt beim Multiplikationssymbol der Formel für z.
x = 0 : .1 : 10;
y = 0 : .1 : 10;
[x_grid, y_grid] = meshgrid(x, y);
z = sin(x_grid) + 3.*cos(y_grid);
surf(x_grid, y_grid, z);
[[Datei:octave_flaeche1.jpg]]
Auch ein Farbstreifen kann via "colorbar" zur Grafik hinzugefügt werden.
x = 0 : .1 : 10;
y = 0 : .1 : 10;
[x_grid, y_grid] = meshgrid(x, y);
z = sin(x_grid) + 3.*cos(y_grid);
surf(x_grid, y_grid, z);
colorbar("East");
[[Datei:octave_flaeche2.jpg]]
Das Ganze in Netzdarstellung läßt sich so programmieren:
x = 0 : .2 : 10;
y = 0 : .2 : 10;
[x_grid, y_grid] = meshgrid(x, y);
z = sin(x_grid) + 3.*cos(y_grid);
mesh(x_grid, y_grid, z);
Ausgabe:
[[Datei:octave_mesh1.jpg]]
==== Ellipsoide und Kegel ====
Für das Zeichnen von Kugeln oder Ellipsoiden stellt Octave den "sphere"-Befehl bzw. den "ellipsoid"-Befehl zur Verfügung.
clear; close all; clc;
% Ellipsoiden zeichnen
[x, y, z] = sphere(30);
surf(5*x, 4*y, 3*z);
hold on;
[x, y, z] = ellipsoid(5, 5, 5, 6, 3, 2, 30);
surf(x, y, z);
axis equal;
[[Bild:octave_ellipsoid2.jpg|600px]]
Für Zylinder und Kegel ist der "cylinder"-Befehl zuständig.
clear; close all; clc;
% Kegel und Zylinder zeichnen
[x, y, z] = cylinder([1 2], 100);
surf(x, y, z*3);
hold on;
[x, y, z] = cylinder([0.5 0.5], 50);
surf(x+3, y, z*2);
axis equal;
[[Bild:octave_cylinder2.jpg|600px]]
=== Aufgaben ===
* Zeichnen Sie die räumliche Kurve <math>x = 2 \cdot \cosh(t)</math>, <math>y = 5 \cdot \sin(t)</math>, <math> z = t^{2} - t</math>, <math>0 \leq t \leq 3\pi</math>. Das Ganze sollte etwa wie folgt aussehen:
[[Datei:octave_kurve10.jpg]]
* Zeichnen Sie die Fläche <math>z = \log(x) + \cos(y)</math>. Das Ganze sollte etwa wie folgt aussehen:
[[Datei:octave_flaeche10.jpg]]
== Weiteres ==
=== subplot ===
Zeichnen mit Untergrafiken: Hier wird z.B. ein Fenster mit drei Untergrafiken gezeichnet.
Eingabe:
t = 0 : .5 : 10;
[x_grid, y_grid] = meshgrid(t, t);
subplot(311);
surf(x_grid, y_grid, sin(x_grid) + cos(y_grid) );
subplot(312);
surf(x_grid, y_grid, sin(x_grid) + log(y_grid) );
subplot(313);
surf(x_grid, y_grid, x_grid + cos(y_grid) );
Ausgabe:
[[Datei:octave_subplot2.jpg]]
Die dreistellige Ziffer beim subplot-Befehl bedeutet folgendes:
* Die erste Ziffer ist die Zeilenanzahl
* Die zweite Ziffer ist die Reihenanzahl und
* Die dritte Ziffer ist der Index.
Nun sei ein Beispiel mit 3x2-Untergrafiken angeführt.
clear;
close all;
clc;
x = 0 : .1 : 10;
subplot(321);
plot(x, sin(x));
text(2, -0.5, "Index 1");
subplot(322);
plot(x, tan(x));
text(2, 2, "Index 2");
subplot(323);
plot(x, cosh(x) );
text(2, 3000, "Index 3");
subplot(324);
plot(x, gamma(x) )
text(2, 100000, "Index 4");
subplot(325);
plot(x, log(x) );
text(2, 0, "Index 5");
subplot(326);
plot(x, exp(x) );
text(2, 10000, "Index 6");
Ausgabe:
[[Datei:octave_subplot3.jpg]]
Hier ist sehr gut zu sehen, in welcher Reihenfolge der Index läuft.
=== figure ===
Zeichnen in verschiedene Fenster, z.B.
clear;
close all;
clc;
x = 0 : .1 : 10;
y = 0 : .1 : 10;
[x_grid, y_grid] = meshgrid(x, y);
figure(1)
surf(x_grid, y_grid, sin(x_grid) + cos(y_grid));
figure(2)
surf(x_grid, y_grid, sin(x_grid) + log(y_grid));
Ausgabe:
[[Datei:octave_figure111.jpg|700px]]
=== Linien zeichnen ===
Zeichnen Sie eine Linie von der Koordinate [-15, 0] zu [15, 5]:
clear;
close all;
clc;
x = line([-15 15], [0, 5], "Color", "black", "LineWidth", 2);
Ausgabe:
[[Datei:octave_linie1.jpg]]
Man beachte, dass Octave nicht Punkte P1(x1, y1), P2(x2, y2) erwartet, sondern einen x-Vektor [x1 x2] und einen y-Vektor [y1 y2].
Ein allgemeines Viereck wird z.B. mit folgendem Befehl gezeichnet.
line([-15 15 10 -5, -15], [0, 5, 20, 15, 0], "LineWidth", 2);
[[Datei:octave_viereck2.jpg]]
Auch dreidimensionale Formen lassen sich mit dem line-Befehl zeichnen:
clear; close all; clc;
line([-15 15 10 -5, -15], [0, 5, 20, 15, 0], [10, 20, 30, 40, 50], "LineWidth", 2);
[[Datei:octave_dreidim2.jpg]]
=== Aufgaben ===
* Zeichnen Sie mittels "subplot" die Funktionsgrafen <math>y_1=\tan(x), y_2=\tan(2x), y_3=\tan\sqrt x, y_4=x\cdot \tan(x)</math> in folgender Form in ein Fenster:
** in 2x2-Darstellung
** in 1x4-Darstellung.
* Zeichnen Sie die im obigen Beispiel angegebenen Funktionsgrafen mittels "figure" jeweils in ein eigenes Fenster.
= Vektoren und Matrizen =
== Vektoren ==
Vektoren sollten jedem aus der Linearen Algebra bekannt sein.
=== Zeilen- und Spaltenvektoren ===
% Ein Zeilenvektor
v1 = [1, 2, 3]
% Ein Spaltenvektor
v2 = [6; 7; 8]
Ausgabe:
v1 =
1 2 3
v2 =
6
7
8
Alternative Schreibweisen:
% Ein Zeilenvektor
v1 = [1 2 3]
% Ein Spaltenvektor
v2 = [6
7
8]
Die Ausgabe entspricht der obigen Darstellung.
=== Zugriff auf Vektorelemente ===
Nachfolgend seien einige Zugriffsmöglichkeiten auf die einzelnen Vektorelemente erläutert.
Auf ein einzelnes Element kann via Index zugegriffen werden. Der Index startet bei 1:
v1 = [1 2 4 8 16];
v2 = v1(3)
Ausgabe:
v2 = 4
Mehrere Elemente werden folgendermaßen angesprochen:
v1 = [1 2 4 8 16];
v2 = v1(3:4)
Ausgabe:
v2 =
4 8
Liefere den Teilvektor von einem gegebenen Index bis zum letzten Element:
v1 = [1 2 4 8 16];
v2 = v1(3:end)
Ausgabe:
v2 =
4 8 16
=== Addition und Subtraktion von Vektoren ===
v1 = [1, 2, 3];
v2 = [5, 7, 9];
res = v1 + v2
res = v1 - v2
Ausgabe:
res =
6 9 12
res =
-4 -5 -6
=== Multiplikation mit Skalaren ===
faktor = 3;
v = [1, 2, 3];
res = faktor * v
Ausgabe:
res =
3 6 9
=== Skalarprodukt ===
Das Skalarprodukt ist bekanntermaßen als <math>v_1 \cdot v_2 = |v_1| |v_2| \cos(\angle(v_1, v_2))</math> definiert. In Octave sieht das so aus:
v1 = [1, 2, 3];
v2 = [5, 6, 7];
res = dot(v1, v2)
Ausgabe:
res = 38
=== Vektorprodukt ===
v1 = [1, 2, 3];
v2 = [5, 6, 7];
res = cross(v1, v2)
Ausgabe:
res =
-4 8 -4
Enger an die mathematische Darstellung lehnt sich folgender Code an. Die zu multiplizierenden Vektoren seien in Form von Spaltenvektoren gegeben.
Mathematisch:
<math>a\ast b=\left(\begin{array}{c}
a_{1}\\
a_{2}\\
a_{3}
\end{array}\right)\ast\left(\begin{array}{c}
b_{1}\\
b_{2}\\
b_{3}
\end{array}\right)=\left(\begin{array}{c}
a_{2}b_{3}-a_{3}b_{2}\\
a_{3}b_{1}-a_{1}b_{3}\\
a_{1}b_{2}-a_{2}b_{1}
\end{array}\right)
</math>
Octave-Code:
a = [1
2
3];
b = [5
6
7];
res = cross(a, b)
Ausgabe:
res =
-4
8
-4
=== Transponierter Vektor ===
v1 = [1, 2, 3];
v2 = [5; 6; 7];
res1 = v1'
res2 = v2'
Ausgabe:
res1 =
1
2
3
res2 =
5 6 7
=== Einige weitere Vektorfunktionen ===
Beispiel:
% 1 + 2 + 3
v = [1 2 3];
sum(v)
Ausgabe:
ans = 6
Beispiel:
% 1 * 2 * 3 * 4
v = [1 2 3 4];
prod(v)
Ausgabe:
ans = 24
Beispiel:
% 1^2 + 2^2 + 3^2
v = [1 2 3];
sumsq (v)
Ausgabe:
ans = 14
== Matrizen ==
Gegeben sei folgende 2x3-Matrix <math>m=\left(\begin{array}{ccc}
1 & 2 & 3\\
4 & 5 & 6
\end{array}\right)</math>.
Eingabe:
m = [1, 2, 3; 4, 5, 6]
Ausgabe:
m =
1 2 3
4 5 6
Alternativ und anschaulicher kann diese 2x3-Matrix auch so eingegeben werden:
m = [1 2 3
4 5 6]
Dies ist schon sehr nahe an der mathematischen Darstellungsweise.
=== Zugriff auf Matrizenelemente ===
m = [1 2 3
4 5 6];
% Element aus Zeile 2 und Spalte 3
m(2,3)
Ausgabe:
ans = 6
Eine andere Zugriffsmöglichkeit ist diese:
m = [1 2 3
4 5 6];
% Auf das fünfte Element soll zugegriffen werden
m(5)
Ausgabe:
ans = 3
Die Matrix wird also spaltenweise durchlaufen (nicht zeilenweise). Dies ist vielleicht auf den ersten Blick etwas ungewöhnlich, wird aber z.B. auch in Fortran so gehandhabt.
Auch Teilmatrizen können einfach gebildet werden:
m = [1 2 3
4 5 6];
m(2:end, 2:end)
Ausgabe:
ans =
5 6
Siehe zu diesem Thema auch etwas weiter hinten in diesem Text den Abschnitt "Teilmatrizen".
=== Addition und Subtraktion von Matrizen ===
m1 = [1, 2, 3; 4, 5, 6];
m2 = [-4, -2, 0; 2, 4, 6];
m1 + m2
m1 - m2
Ausgabe:
ans =
-3 0 3
6 9 12
ans =
5 4 3
2 1 0
=== Transponierte Matrix ===
m = [1, 2, 3; 4, 5, 6];
m'
Ausgabe:
ans =
1 4
2 5
3 6
=== Rang einer Matrix ===
Der Rang einer Matrix Rg(M) ist die maximale Anzahl der linear unabhängigen Zeilenvektoren (Spaltenvektoren).
m1 = [1, 2, 3; 4, 5, 6];
m2 = [1, 2; 2, 4];
rank(m1)
rank(m2)
Ausgabe:
ans = 2
ans = 1
Regulär ist eine nxn-Matrix, wenn der Rg(M) = n. D.h. die erste Matrix m1 ist regulär, die zweite m2 singulär.
=== Inverse Matrix ===
m1 = [1, 3; 0, -5 ];
m2 = [1, 2; 2, 4];
inv(m1)
inv(m2)
Ausgabe:
ans =
1.00000 0.60000
0.00000 -0.20000
warning: matrix singular to machine precision
warning: called from
test1 at line 4 column 1
ans =
Inf Inf
Inf Inf
Die Matrix m2 in diesem Beispiel ist singulär (d.h. die Determinante ist 0). Determinanten werden etwas weiter unten in diesem Text behandelt. Inf steht für Infinity (= Unendlich).
=== Multiplikation von Matrizen (falksches Schema) ===
m1 = [1, 3, 4; 0, -5, 1];
m2 = [1, 2; 2, 3; 0, 2];
m1 * m2
Ausgabe:
ans =
7 19
-10 -13
Will man aus irgendwelchen Gründen nicht das falksche Schema ausführen, sondern elementweise Multiplikation, so funktioniert das mit dem Punkt-Operator, z.B.
m1 = [1, 3; 0, -5];
m2 = [1, 2; 4, 2];
% falksches Schema
m1 * m2
% elementweise Multiplikation
m1 .* m2
Ausgabe:
ans =
13 8
-20 -10
ans =
1 6
0 -10
Verifikation, falksches Schema (Zeile*Spalte):
[ 1 3 ] [ 1 2 ] [ 1*1+3*4 1*2+3*2 ] [ 13 8 ]
[ 0 -5 ] [ 4 2 ] = [ 0*1-4*5 0*2-5*2 ] = [ -20 -10 ]
Verifikation, elementweise Multiplikation (homologe Elemente):
[ 1 3 ] [ 1 2 ] [ 1*1 3*2 ] [ 1 6 ]
[ 0 -5 ] [ 4 2 ] = [ 0*4 -5*2 ] = [ 0 -10 ]
=== Determinante einer Matrix ===
m1 = [1, 3; 0, -5 ];
m2 = [1, 2; 2, 4];
det(m1)
det(m2)
Ausgabe:
ans = -5
ans = 0
m1 ist regulär, m2 ist singulär. Determinanten können nur von quadratischen Matrizen gebildet werden.
=== Teilmatrizen ===
m = [1, 2, 3; 0, 5, 1];
% Die Matrix in einen Spaltenvektor umwandeln
m1 = m(:)
% Das Element aus der 1. Zeile und der 2. Spalte extrahieren
m2 = m(1,2)
% Erste Zeile extrahieren
m3 = m(1, 1:3)
m4 = m(1, :)
% Zweite Spalte extrahieren
m5 = m(1:2, 2)
m6 = m(:, 2)
Ausgabe:
m1 =
1
0
2
5
3
1
m2 = 2
m3 =
1 2 3
m4 =
1 2 3
m5 =
2
5
m6 =
2
5
=== Einheitsmatrizen ===
eye(3,2)
Ausgabe:
ans =
1 0
0 1
0 0
=== Nullmatrizen ===
zeros(2,3)
Ausgabe:
ans =
0 0 0
0 0 0
=== Diagonalmatrizen ===
diag([1, 2, 3])
Ausgabe:
ans =
1 0 0
0 2 0
0 0 3
=== Spur einer Matrix ===
trace([1,2,3; 6,9, 0])
Ausgabe:
ans = 10
=== LR-Zerlegung einer Matrix ===
Führen Sie die LR-Faktorisierung (LR ... links/rechts bzw. LU ... left/upper) einer Matrix m aus. l sei die linke Dreiecksmatrix, r die rechte Dreiecksmatrix und p die Permutationsmatrix
m = [1 0 5
-1 1 -2
0 0 3];
[l, r, p] = lu(m)
Ausgabe:
l =
1 0 0
-1 1 0
0 0 1
r =
1 0 5
0 1 3
0 0 3
p =
1 0 0
0 1 0
0 0 1
=== Eigenwerte ===
a = [5 8
1 3];
% Eigenvektoren und Eigenwerte
[ev, ew] = eig(a)
Ausgabe:
ev =
0.9701 -0.8944
0.2425 0.4472
ew =
Diagonal Matrix
7 0
0 1
Die Eigenwerte sind hier <math>\lambda_1 = 7</math> und <math>\lambda_2 = 1</math>. Die Eigenvektoren sind [0.9701 0.2425] bzw. [-0.8944 0.4472]. Da das Gleichungssystem <math>(A - \lambda_i E) x_i = 0</math> singulär ist, sind alle Lösungsvektoren Vielfache dieser Eigenvektoren.
=== Schwach besetzte Matrizen ===
{{Wikipedia | Dünnbesetzte Matrix}}
Gegeben sei die schwach besetzte Matrix
m = [0 1 0 0 0
0 0 0 3 0
4 0 0 2 0
0 0 1 0 0
0 0 0 1 7]
Mittels dem sparse-Befehl kann man einfach die Elemente != 0 nach folgendem Schema eingeben.
sparse ([zeilenindizes] [spaltenindizes] [werte])
also in unserem Fall:
ms = sparse([1 2 3 3 4 5 5], [2 4 1 4 3 4 5], [1 3 4 2 1 1 7])
Ausgabe:
ms =
Compressed Column Sparse (rows = 5, cols = 5, nnz = 7)
(3, 1) -> 4
(1, 2) -> 1
(4, 3) -> 1
(2, 4) -> 3
(3, 4) -> 2
(5, 4) -> 1
(5, 5) -> 7
Die volle Matrix erhält man mit dem Befehl full:
m = full(ms)
Ausgabe:
m =
0 1 0 0 0
0 0 0 3 0
4 0 0 2 0
0 0 1 0 0
0 0 0 1 7
Grafisch anzeigen lassen kann man sich die Besetzung von Matrizen mit dem spy-Befehl:
spy(ms);
oder (für allgemeine Matrizen auch mittels)
spy(m);
Ausgabe:
[[Datei:octave_sparse1.jpg]]
Wirklich interessant ist der spy-Befehl für größere Matrizen, z.B. um die Bandstruktur zu visualisieren.
e = eye(200);
es = sparse(e);
% Auf sparse-Matrizen kann genauso zugegriffen werden wie auf normalen Matrizen
es(100, 15) = 100;
spy(es);
Ausgabe:
[[Datei:octave_sparse2.jpg]]
=== Matrizen mit Zufallswerten ===
Insbesondere für Testzwecke kann es manchmal sinnvoll sein größere Matrizen mit Zufallswerten zu bilden. Dazu stellt Octave u.a. den rand-Befehl zur Verfügung.
m = rand(5, 6)
Ausgabe:
m =
0.86605 0.61108 0.71347 0.97119 0.52428 0.21993
0.74059 0.49062 0.56073 0.68592 0.74737 0.62680
0.20790 0.84874 0.36834 0.31102 0.25813 0.28933
0.84732 0.98777 0.91512 0.42240 0.87891 0.63757
0.76823 0.80367 0.24639 0.78208 0.77170 0.95281
Die Zufallszahlen liegen gleichverteilt zwischen 0 und 1 und werden nach dem Mersenne-Twister-Verfahren mit einer Periode von <math>2^{19937}-1</math> gebildet.
Andere Verfahren sind:
* randn: Normalverteilte Pseudozufallselemente mit Mittelwert=0 und Varianz=1
* rande: Exponentialverteilte Zufallselemente
* randg: Gammaverteilte Zufallselemente
* randp: Poissonverteilte Zufallselemente
Details dazu siehe in der Octave-Hilfefunktion.
== Aufgaben ==
* Berechnen Sie den Winkel zwischen den beiden Vektoren a = [1 2 0] und b = [2 1 1]. Hinweis: Siehe diesbezüglich auch im Oktave-Hilfesystem den Befehl "norm".
* Gegeben seien Vektoren a = [1 2 5], b = [0 0 -1] und c = [-1 -2 2]. Berechnen Sie das Spatprodukt aus diesen drei Vektoren.
* Multiplizieren Sie die beiden Matrizen A und B (mit Octave und zur Kontrolle händisch)
A = [0 0 1
1 2 1]
B = [1 1
1 2
0 4]
* Ist die Matrix C regulär? Wenn ja, dann bilden Sie die inverse Matrix.
C = [-1 0 0 -4
2 0 1 5
7 6 2 0
3 0 2 6]
* Ist die Matrix D regulär? Wenn ja, dann bilden Sie die inverse Matrix.
D = [2 1 0 0
0 0 2 1
0 0 0 2
1 1 0 0]
* Berechnen Sie die Konditionszahl der folgenden Matrix. Hinweis: Siehe diesbezüglich im Oktave-Hilfesystem den Befehl cond
[3 4 -5
6 0 3
1 1 2]
* Berechnen Sie die Eigenwerte und Eigenvektoren der folgenden Matrix
[6 -3 4 0
0 7 -1 1
0 10 -3 -2
0 1 -2 1]
= Komplexe Zahlen =
Die imaginäre Einheit wird in Octave durch den Buchstaben i, j, I oder J symbolisiert. Darstellen kann man eine komplexe Zahl bekannterweise in mehreren Formen:
* Kartesische Darstellung <math>z = \Re(z) + i \cdot \Im(z)</math>
* Polardarstellungen <math>z = r \cdot (\cos(\phi) + i \cdot \sin(\phi)) = r \cdot e^{i\cdot \phi}</math>
Die konjugiert komplexe Zahl ist <math>z^* = \Re(z) - i \cdot \Im(z)</math>
== Mit komplexen Zahlen rechnen ==
z1 = 2 + 5i; % kartesische Darstellung
z2 = 3 * exp(3j); % Polardarstellung
% Addition
res = z1 + z2;
disp("z1 + z2 = "); disp(res);
% Multiplikation
res = z1 * z2;
disp("z1 * z2 = "); disp(res);
% Realteil
res = real(z2);
disp("Realteil von z2 = "); disp(res);
% Imaginärteil
res = imag(z2);
disp("Imaginaerteil von z2 = "); disp(res);
% Betrag
res = abs(z1);
disp("Betrag von z1 = "); disp(res);
% Argument
res = angle(z1);
disp("Argument von z1 = "); disp(res);
% Konjugiert komplexe Zahl
res = conj(z1);
disp("Konjugiert komplexe Zahl von z1 = "); disp(res);
Ausgabe:
z1 + z2 =
-0.96998 + 5.42336i
z1 * z2 =
-8.0568 - 14.0032i
Realteil von z2 =
-2.9700
Imaginaerteil von z2 =
0.42336
Betrag von z1 =
5.3852
Argument von z1 =
1.1903
Konjugiert komplexe Zahl von z1 =
2 - 5i
== Die gaußsche Zahlenebene ==
clear; close all; clc;
z1 = 3 + 5i;
z2 = 5 * exp(0.5i);
hold on;
plot(z1, "*");
compass(z1);
plot(z2, "o");
compass(z2);
grid on;
[[Datei:octave_komplex1.jpg]]
== Aufgaben ==
* Berechnen Sie die Quadratwurzel der komplexen Zahl <math>z = 3 + 2i</math>.
* Verwandeln Sie folgende Zahlen in die Polarkoordinatendarstellung: <math>-11 - 3i</math> und <math>(1+i)^{10}</math>
* Verwandeln Sie folgende Zahlen in die Normaldarstellung: <math>12 \cdot e^{i\cdot \pi / 4}</math> und <math>3 \cdot (\cos(\pi / 3) + i \cdot \sin(\pi / 3))</math>
* Zeichnen Sie die Zahl <math>3 + 5i</math> in der gaußschen Zahlenebene als Zeiger.
= Funktionen =
Um Programme zu strukturieren und einfacher zu gestalten können Programmteile in Funktionen ausgelagert werden. Eingebaute Funktionen haben wir schon kennengelernt (z.B. die Sinus-Funktion sin). Nun wollen wir sehen, wie man selbst solche Funktionen schreiben kann.
== Eine einfache Funktion schreiben ==
Datei addiere.m:
function res = addiere(a, b)
% Addiere zwei Zahlen a + b
res = a + b;
end
Datei test1.m:
addiere(10, 15)
Ausgabe:
ans = 25
* Jede Funktion sollte in einer eigenen m-Datei stehen.
* Der Dateiname sollte mit dem Funktionsnamen (natürlich ohne Dateiendung .m) übereinstimmen.
* Der Kommentar unter dem Funktionskopf wird als Hilfstext angezeigt, wenn die help-Funktion (hier "help addiere") aufgerufen wird.
== Inline-Funktionen ==
Kurze Funktionen können auch als Inline-Funktionen geschrieben werden.
addiere = inline("a + b");
x = 5;
y = 10;
z = addiere(x, y)
Oder in diesem Fall noch kürzer
addiere = inline("a + b");
z = addiere(5, 10)
Ausgabe:
z = 15
Bei neueren Octave-Versionen kann bei der Verwendung von Inline-Funktionen die Warnung
warning: inline is obsolete; use anonymous functions instead
erscheinen. Ein Blick in die Hilfe-Funktion
help inline
zeigt das selbe Ergebnis. Es sollen also anonyme Funktionen (siehe etwas weiter unten in diesem Text) anstelle von Inline-Funktionen verwendet werden.
== Funktionsstring ==
addiere = "a + b";
a = 5;
b = 10;
z = eval(addiere)
Ausgabe:
z = 15
== Anonyme Funktionen ==
{{Wikipedia | Anonyme Funktion}}
addiere = @(a, b) a + b;
x = 10;
y = 20;
z = addiere(x, y)
oder kürzer
addiere = @(a, b) a + b;
z = addiere(10, 20)
Ausgabe:
z = 30
== Nullstellen von Funktionen bestimmen ==
sinh2 = @(x) sinh(x) + 2;
z = fzero(sinh2, 1)
Ausgabe:
z = -1.4436
Zur Kontrolle soll hier der Graph der Funktion dargestellt werden
clear;
close all;
clc;
sinh2 = @(x) sinh(x) + 2;
x = -2 : 0.1 : 0;
y = sinh2(x);
z = fzero(sinh2, 1)
plot(x, y);
hold on;
plot(z, 0, "o", "Color", "red", "LineWidth", 2);
text (-1.8, 0.8, "Nullstelle");
line([z -1.7], [0, .7], "Color", "black");
grid on;
Ausgabe:
[[Datei:octave_funktion5.jpg]]
Weiter unten im Text wird die ähnliche Funktion "fsolve" beschrieben. "fzero" benutzt zwei verschiedene Funktionen zur Problemlösung, darunter eben auch "fsolve".
Für die Nullstellenbestimmung von Polynomen gibt es die Funktion "roots". Näheres dazu folgt im nächsten Kapitel.
== Globale Variablen ==
Datei addiere.m:
function res = addiere()
global a b;
res = a + b;
end
Datei test1.m:
clear;
close all;
clc;
global a b;
a = 5;
b = 3;
addiere()
Ausgabe:
ans = 8
== Aufgaben ==
* Schreiben Sie eine Funktion "ellipse", welche eine Ellipse am Bildschirm darstellt. Zur Erinnerung: Die Parameterdarstellung der Ellipse lautet <math>x = a\cdot\cos(t), y = b\cdot\sin(t), 0 \leq t \leq 2\pi</math>, Funktionsargumente seien a und b.
* Schreiben Sie <math>y = 2\cdot\sin(x) + 3\cdot\cos(x/2)</math>
** als normale Funktion
** als Funktionsstring
** als Inlinefunktion
** als anonyme Funktion
** stellen Sie diese Funktion grafisch am Bildschirm dar.
= Polynome =
== Einzelne Polynomwerte berechnen ==
% y = 2*x^3 + 5*x^2 + 4 für x = 2 berechnen
p = [2, 5, 0, 4];
polyval(p, 2)
Ausgabe:
ans = 40
== Polynome zeichnen ==
% y = 2*x^3 - 5*x^2 + 4 für das Intervall -5 <= x <= 5 grafisch darstellen
x = -5 : .1 : 5;
p = [2, 5, 0, 4];
y = polyval(p, x);
plot(x,y);
grid on;
Ausgabe:
[[Datei:octave_polynom1.jpg]]
== Nullstellen bestimmen ==
Für Polynome existiert die Funktion "roots" zur Nullstellenbestimmung.
% Nullstellen für y = 2*x^3 - 5*x^2 + 4 bestimmen
p = [2, 5, 0, 4];
r = roots(p)
Ausgabe:
r =
-2.76214 + 0.00000i
0.13107 + 0.84077i
0.13107 - 0.84077i
Dieses Polynom hat nur eine reelle Nullstelle. Diese liegt, wie am obigen Grafen zu ersehen ist, in der Nähe von -2.762. Die beiden anderen Nullstellen sind konjugiert komplex zueinander (wie es auch sein sollte).
== Aufgaben ==
* Berechnen Sie den Wert für x = 3 des Polynoms <math>y = 2x^4 - 3x^3 - x + 7</math>.
* Berechnen Sie die Nullstellen von <math>y = 7x^5 - 3x^2 + 12</math>.
* Zeichnen Sie das Polynom <math>y = 12x^4 - 70x</math> im Intervall <math>-5 \leq x \leq 5</math>.
= Lineare Gleichungssysteme =
Sei <math>Ax = b</math> ein lineares Gleichungssystem. <math>A</math> sei die Koeffizientenmatrix, <math>x</math> der Lösungsvektor und <math>b</math> ein bekannter Vektor.
== Einfache Berechnung mittels Gauß-Verfahren ==
{{Wikipedia | Gaußsches Eliminationsverfahren}}
Beispiel:
A = [5 1
0 2];
b = [1
2];
x = A \ b
Ausgabe:
x =
0
1
== Das gmres-Verfahren ==
gmres steht für Generalized Minimal Residual.
{{Wikipedia | GMRES-Verfahren}}
A = [5 1
0 2];
b = [1
2];
x = gmres(A, b)
Ausgabe:
gmres converged at iteration 2 to a solution with relative residual 2.22045e-16
x =
-1.6653e-16
1.0000e+00
Das Ergebnis weicht etwas vom gaußschen Verfahren ab, ist aber trotzdem im Rahmen der Näherung korrekt.
Weiters kennt Octave noch andere iterative Verfahren, z.B. cgs (Conjugate Gradient Squared) oder bicgstab (Bi-Conjugate Gradient Stabilized). Näheres zu diesen Verfahren siehe in der weiterführenden Literatur (z.B. bei Meister: Numerik linearer Gleichungssysteme, Vieweg+Teubner, 2011)
{{Wikipedia | CGS-Verfahren}}
== Aufgabe ==
* Lösen Sie folgendes Gleichungssystem mittels Octave (und zur Kontrolle auch händisch):
5x + 6y - 2z = 12
3x - y - 3z = 6
2x + 2y + 4z = 5
= Nichtlineare Gleichungssysteme =
== fsolve und fzero ==
Löse eine beliebige Gleichung f(x) = 0, z.B. <math> f(x) = x^2 - 5\cos(x) - 10 = 0 </math>:
f = @(x) x^2 - 5*cos(x) - 10;
xstart = 1;
[x, fval, info] = fsolve(f, xstart)
Ausgabe:
x = 2.4681
fval = -1.7764e-015
info = 1
* x ist eine Nullstelle in der Nähe vom Startwert xstart.
* fval ist die Abweichung, den f bei x aufweist.
* info ist ein "Fehlercode": 1 bedeutet, dass der relative Fehler in der spezifizierten Toleranz liegt (wie es sein soll). 3 würde bedeuten, dass der Algorithmus nicht konvergiert (z.B. weil keine Nullstelle existiert).
Zur Kontrolle plotten wir den Funktionsgraphen:
x = - 1 : .1 : 3;
y = x.^2 - 5.*cos(x) - 10;
plot(x,y, "LineWidth", 2);
grid on;
Ausgabe:
[[Datei:octave_nichtlin1.jpg]]
Und siehe da, die gesuchte Nullstelle liegt wie berechnet bei einem Wert nahe 2,5. Die Funktion <math>x^2 - 5\cos(x) - 10</math> hat noch eine zweite Nullstelle, wie in der folgenden Abbildung zu erkennen ist.
[[Datei:octave_nichtlin2.jpg]]
Diese zweite Nullstelle erhalten wir, wenn der Startwert in der Nähe dieser zweiten Nullstelle liegt, also z.B. bei -1. Ändern Sie einfach den entsprechenden Startwert im obigen Programmcode, und das Programm sollte die Nullstelle in der Nähe von -2.5 liefern.
Auch die Funktion ''fzero'' kann zur Lösung einer nichtlinearen Gleichung verwendet werden. Die Hilfe-Funktion von Octave empfiehlt dies sogar eindringlich für den Fall einer nichtlinearen Gleichung in einer Variablen. Für das gleiche Beispiel wie oben kann der Programmcode folgendermaßen aussehen:
Eingabe:
f = @(x) x^2 - 5*cos(x) - 10;
[x0, y0] = fzero (f, [0, 3])
Ausgabe:
x0 = 2.4681
y0 = -1.2434e-14
== Gleichungssysteme ==
Folgende Aufgabe ist dem Buch "Knorrenschild: Numerische Mathematik, Hanser, 2017, Seite 72" entnommen. Zu lösen ist das nichtlineare Gleichungssystem
<math>f_1 = 2x_1 + 4x_2 = 0 </math>
<math>f_2 = 4x_1 + 8x_2^3 = 0</math>
Lösung:
f.m:
function y = f(x)
y(1) = 2*x(1) + 4*x(2);
y(2) = 4*x(1) + 8*x(2)^3;
end
test1.m:
clear;
close all;
clc;
[x, fval, info] = fsolve (@f, [0, 1])
[x, fval, info] = fsolve (@f, [0, -1])
[x, fval, info] = fsolve (@f, [0, 0])
Ausgabe:
x =
-2 1
fval =
0 7.4930e-09
info = 1
x =
2 -1
fval =
0 -7.4930e-09
info = 1
x =
0 0
fval =
0 0
info = 1
== Aufgaben ==
* Bestimmen Sie die Nullstellen von <math>f(x) = x^2 - 3</math>. Plotten Sie den Grafen.
* Bestimmen Sie die Nullstelle von <math>f(x) = sin(x) - x - 1</math>. Plotten Sie den Grafen.
* Lösen Sie das folgende Gleichungssystem (und stellen Sie das Ganze grafisch am Bildschirm dar): <math> f_1 = x_1 + x_2 = 0; f_2 = x_1 + \sin{x_2} = 0</math>
= Interpolation =
== Eindimensionale Interpolation ==
{{Wikipedia | Interpolation (Mathematik)}}
Bezüglich eindimensionaler Interpolation sei auf die [https://docs.octave.org/v11.1.0/One_002ddimensional-Interpolation.html Octave-Dokumentation und Hilfefunktion zum Befehl " interp1"] verwiesen. Dort findet sich auch ein Programmbeispiel, das als Grundlage des folgenden Plots dient:
[[Datei:octave_interpol1.jpg]]
== Mehrdimensionale Interpolation ==
Bezüglich mehrdimensionaler Interpolation siehe die [https://docs.octave.org/v11.1.0/Multi_002ddimensional-Interpolation.html Hilfefunktion zu "interp2", "interp3" und "interpn"].
== Aufgabe ==
* Gegeben seinen die fünf Stützpunkte p1 = [1, 0], p2 = [2, -5], p3 = [3, 2], p4 = [4, 7], p5 = [5, 6]. Legen Sie eine Funktion (die Interpolierende) durch diese Stützpunkte. Eine Lösungsmöglichkeit:
xp = [1 2 3 4 5];
yp = [0, -5, 2, 7, 6];
xf = 1 : .1 : 5;
spl = interp1(xp, yp, xf, "spline");
pch = interp1(xp, yp, xf, "pchip");
plot(xp, yp, "or", "LineWidth", 2, xf, spl, "LineWidth", 2, ...
xf, pch, "LineWidth", 2);
legend("stuetzpunkte", "spline", "pchip", "location", "southeast");
[[Datei:octave_interpol3.jpg]]
= Differenzialrechnung =
== Polynome differenzieren ==
Es soll das Polynom <math>y = 2x^3 - 5x^2 + 7</math> differenziert werden.
% Differenzieren des Polynoms y = 2*x^3 - 5*x^2 + 7
p = [2, -5, 0, 7];
polyder(p)
Ausgabe:
ans =
6 -10 0
D.h. also, die Ableitung von <math>y = 2x^3 - 5x^2 + 7</math> ist <math>y' = 6x^2 - 10x</math>.
== Sonstige Funktionen differenzieren ==
Als Beispiel differenzieren wir <math>y = 5x\sin{x}</math> und stellen das Ganze grafisch dar.
clear;
close all;
clc;
x = 0 : 0.01 : 10;
y = 5 .* x .* sin(x);
y_strich = diff(y) / 0.01;
plot(x, y, "Color", "red", "LineWidth", 2);
hold on;
plot(x(1:length(x)-1), y_strich, "Color", "blue", "LineWidth", 2);
legend("y", "y'");
grid on;
Ausgabe:
[[Datei:octave_diff1.jpg]]
diff(y) ist der Vektor aus den Differenzen y(2)-y(1), ..., y(n)-y(n-1). Für die genaue Arbeitsweise der diff-Funktion siehe "help diff".
== Aufgaben ==
* Differenzieren Sie das Polynom <math>y = 5y^5 - y^4 + 6y - 4</math>.
* Differenzieren Sie die Funktion <math>y = \log(x) + 10x</math> und stellen Sie y, sowie y' grafisch am Bildschirm dar.
* Differenzieren Sie die Funktion <math>y = \frac{\sinh(x)}{(1+x)}</math> und stellen Sie y, sowie y' grafisch am Bildschirm dar.
= Integralrechnung =
== Polynome integrieren ==
Berechnen Sie das unbestimmte Integral von <math>y = 2x^3 - 7x^2 + 7</math>
p = [2, -7, 0, 7];
p_int = polyint(p)
Ausgabe:
p_int =
0.50000 -2.33333 0.00000 7.00000 0.00000
Das Ergebnis lautet also <math>\int{y dx} = 0.5x^4 - 2.33333x^3 + 7x + C</math> (auf die Integrationskonstante C darf nicht vergessen werden!).
== Gauß-Quadratur ==
{{Wikipedia | Gauß-Quadratur}}
Berechnen Sie das Integral <math>\int_{0}^{3}x^2 dx</math> mittels Gauß-Quadratur.
Datei f.m:
function y = f(x)
y = x^2;
end
Datei test1.m:
[v, ier, nfun, err] = quad ("f", 0, 3)
Ausgabe:
v = 9.0000
ier = 0
nfun = 21
err = 9.9920e-014
Erläuterung zur Ausgabe:
* v ... Resultat der Integration
* ier ... integer error code
* nfun ... Anzahl der Funktionsaufrufe
* err ... Fehler in der Lösung
== Quadratur mittels adaptiver Lobatto-Regel ==
Berechnen Sie diesmal das Integral <math>\int_{0}^{3}x^2 dx</math> mittels Lobatto-Quadratur.
f = inline("x.^2");
v = quadl (f, 0, 3)
Ausgabe:
v = 9
Wie weiter oben bereits angesprochen kann bei der Ausgabe eine Warnung erfolgen. Inline-Funktionen sind inzwischen als obsolet erklärt und es sollen stattdessen anonyme Funktionen verwendet werden.
Zwecks Übung sei nachfolgend nochmals dieses Beispiel berechnet. Diesmal wird aber eine anonyme Funktion verwendet.
v = quadl (@(x) x.^2, 0, 3)
== Aufgaben ==
* Integrieren Sie das Polynom <math>y = 5y^5 - y4 + 6y - 4</math>.
* Integrieren Sie die Funktion <math>y = \log(x) + 10x</math> von -5 bis 5.
* Integrieren Sie die Funktion <math>y = x^3</math> von 0 bis 4. Verwenden Sie hierzu die Simpsonregel (siehe dazu in der Hilfefunktion den Befehl "quadv").
= Gewöhnliche Differenzialgleichungen =
== ode23, ode45 und lsode ==
Für die Lösung von Differenzialgleichungen stehen die Funktionen
* ode23
bzw.
* ode45
zur Verfügung. Diese Funktionen implementieren das Runge-Kutta-Verfahren. "ode" steht für "Ordinary Differential Equation" (also auf Deutsch für "Gewöhnliche Differentialgleichung"). Die Zahlen bei ode23 oder ode45 stehen für die Ordnung.
{{Wikipedia | Runge-Kutta-Verfahren}}
Beispiel <math>y' = x^2 + y^3</math>:
clear;
close all;
clc;
[x, y] = ode45(@(x,y) (x^2+y^3), [0 1], 0);
plot(x, y, "LineWidth", 2);
Ausgabe:
[[Datei:octave_ode1.jpg]]
Bezüglich der genauen Funktionsweise von "ode45" (oder "ode23") siehe die Octave-Hilfe.
Auch die Funktion "lsode" steht zur Lösung von ODEs zur Verfügung.
Beispiel <math>y' = x + y</math>:
clear;
close all;
clc;
t = 0 : .1 : 5;
[y2, istate, msg] = lsode(@(x,y) (x + y), 1, t);
istate
msg
plot(t, y2);
Ausgabe:
istate = 2
msg = successful exit
[[Datei:octave_lsode1.jpg]]
Bezüglich der genauen Funktionsweise von "lsode" siehe die Octave-Hilfe.
== Aufgaben ==
* Lösen Sie die Differenzialgleichung <math>y' = \frac{1}{x\cdot y}</math> mit Octave. Kontrollieren Sie das Ergebnis, indem Sie die DGl händisch lösen.
* Lösen Sie die Differenzialgleichung <math>m' = -k\cdot m</math>. Kontrollieren Sie das Ergebnis, indem Sie die DGl händisch lösen.
* Lösen Sie die Differenzialgleichung <math>y' = \sqrt{|y|}</math>.
= Die Fast-Fourier-Transformation =
{{Wikipedia | Schnelle Fourier-Transformation}}
Für die Funktion "fft" siehe das Octave-Hilfesystem.
= Mengenrechnung =
== Vereinigungsmenge ==
v1 = [1 2 3 4];
v2 = [2 4 6];
union(v1, v2)
Ausgabe:
ans =
1 2 3 4 6
== Schnittmenge ==
v1 = [1 2 3 4];
v2 = [2 4 6];
intersect(v1, v2)
Ausgabe:
ans =
2 4
= Logik =
Logische Operatoren werden oft benötigt, z.B. bei Schleifen und Verzweigungen.
Octave kennt die logischen Operatoren <code>or, and, not</code> und <code>xor</code>. Als Beispiel sei die Wahrheitstabelle für den Operator <code>or</code> dargestellt.
A B A or B
--------------------
true true true
true false true
false true true
false false false
In Octave kann das so ausgedrückt werden:
or( true, true )
or( true, false )
or( false, true )
or( false, false )
Ausgabe:
ans = 1
ans = 1
ans = 1
ans = 0
Zahlen ungleich 0 stehen für true, 0 für false. Z.B.:
or( 22, 0)
Ausgabe:
ans = 1
Äquivalent zu <code>or</code> ist der Operator <code>|</code>:
22 | 0
Ausgabe:
ans = 1
Zwecks näheren Informationen zu den Operatoren <code>and (&, &&), not (~, !)</code> und <code>xor</code> bemühe man Octaves Help-Funktion.
Bitweise logische Funktionen kennt Octave auch, so kann man z.B. zwei Zahlen mit dem bitweisen OR-Operator verknüpfen:
0b1100101
0b0110001
---------
0b1110101
Oder in Dezimalzahlen:
101
49
---
117
In Octave:
bitor( 0b1100101, 0b0110001 )
dec2bin( ans )
Ausgabe:
ans = 117
ans = 1110101
Zu <code>bitand, bitxor</code> usw. siehe die Octave-Hilfe-Funktion.
= Stochastik =
==Deskriptive Statistik ==
=== Lageparameter ===
Arithmetischer Mittelwert:
vec = [1 2 3 4 5 12 13];
mw = mean(vec)
Ausgabe:
mw = 5.7143
Der Median oder Zentralwert läßt sich folgendermaßen berechnen:
vec = [1 2 3 4 5 12 13];
median(vec)
Ausgabe:
ans = 4
Der Modus oder häufigste Wert läßt sich mittels "mode"-Funktion eruieren:
vec = [1 2 1 3 5 1 2 7];
[m, f, c] = mode (vec);
disp(m);
disp(f);
disp(c);
Ausgabe:
1
3
{
[1,1] = 1
}
m (erste Zeile der Ausgabe) ist der Modus. f (zweite Zeile) ist die Häufigkeit. Näheres dazu siehe im Octave-Hilfesystem.
=== Streuungsparameter ===
Varianz:
vec = [1 2 3 1 1 6 7];
v = var(vec)
Ausgabe:
v = 6.3333
Standardabweichung:
vec = [1 2 3 1 1 6 7];
s = std(vec)
Ausgabe:
s = 2.5166
=== Grafiken erzeugen ===
Histogramme:
v = [1 1 2 3 1 6 7 6 1 1 1 2];
hist(v, max(v));
Ausgabe:
[[Datei:octave_histo2.jpg]]
Balkendiagramme:
v = [1 1 2 3 1 6 7 6];
bar(v);
Ausgabe:
[[Datei:octave_bar111.jpg]]
Treppendiagramm:
v = [1 1 2 3 1 6 7 6];
stairs(v);
Ausgabe:
[[Datei:octave_stairs1.jpg]]
Stabdiagramm:
v = [1 1 2 3 1 6 7 6];
stem(v);
Ausgabe:
[[Datei:octave_stem1.jpg]]
=== Aufgaben ===
Gegeben sei folgende Datentabelle mit den Werten:
v1 = [3 4 1 1 7 2 1 9 2 5 9 7 2 2 9 2 2 1 2 8]
v2 = [1 1 0 2 3 4 1 2 7 0 2 1 5 5 5 4 5 2 5 0]
* Berechnen Sie die Lageparameter und Streuungsparameter des Vektors v1.
* Berechnen Sie Kovarianz und Korrelationskoeffizient der beiden zugeordneten Vektoren v1 und v2.
* Zeichnen Sie das Histogramm des Vektors v1.
== Wahrscheinlichkeitsrechnung ==
=== Kombinatorik ===
Der Binomialkoeffizient:
<math>\binom{n}{k}=\frac{n!}{k!(n-k)!}</math>
In Octave z.B.:
n = 30;
k = 4;
n_ueber_k = nchoosek (n, k)
Ausgabe:
n_ueber_k = 27405
Permutationen sind die verschiedenen Anordnungsmöglichkeiten mit der Anzahl n! = n * (n-1) * ... * 2 * 1.
Beispiel:
v = [1, 2, 3];
p = perms(v)
Ausgabe:
p =
1 2 3
2 1 3
1 3 2
2 3 1
3 1 2
3 2 1
n! (n-Fakultät) selbst kann so berechnet werden:
% 10!
n = 10;
factorial (n)
Ausgabe:
ans = 3628800
=== Verteilungen ===
Octave kennt eine ganze Reihe von Dichte- und Verteilungsfunktionen und zwar
* Probability Density Functions (PDF, Dichtefunktionen)
* Cumulative Distribution Functions (CDF, Verteilungsfunktionen)
Z.B.:
* Binomialverteilung:
** binopdf
** binocdf
* Hypergeometrische Verteilung:
** hygepdf
** hygecdf
* Normalverteilung:
** normpdf
** normcdf
* Studentverteilung:
** tpdf
** tcdf
* Weibullverteilung:
** wblpdf
** wblcdf
Ein Codebeispiel zur Binomialverteilung:
clear;
close all;
clc;
x = 0 : 1 : 10;
n = 10;
p = 0.1;
b1 = binopdf (x, n, p);
b2 = binocdf (x, n, p);
subplot(221);
bar(x, b1);
title("binopdf");
text(1, 0.1, "n=10; p=0.1");
subplot(222);
bar(x, b2);
title("binocdf");
text(1, 0.5, "n=10; p=0.1");
n = 10;
p = 0.5;
b1 = binopdf (x, n, p);
b2 = binocdf (x, n, p);
subplot(223);
bar(x, b1);
text(1, 0.1, "n=10; p=0.5");
subplot(224);
bar(x, b2);
text(1, 0.1, "n=10; p=0.5");
Ausgabe:
[[Datei:octave_bino3.jpg]]
Möglicherweise erhalten Sie bei diesem Beispiel eine Fehlermeldung in der Form
error: 'binopdf' undefined near line 8, column 6
The 'binopdf' function belongs to the statistics package from Octave
Forge which you have installed but not loaded. To load the package, run
'pkg load statistics' from the Octave prompt.
Laden Sie einfach das Paket für die Statistikfunktionen, wie in der Fehlermeldung beschrieben.
Ein Codebeispiel zur Normalverteilung:
clear;
close all;
clc;
x = -4 : .1 : 4;
b1 = normpdf(x);
b2 = normcdf(x);
subplot(121);
plot(x, b1);
title("normpdf");
grid on;
subplot(122);
plot(x, b2);
title("normcdf");
grid on;
Ausgabe:
[[Datei:octave_norm111.jpg]]
== Zufallszahlengeneratoren ==
Octave kann Zufallszahlen aus einer großen Anzahl von Verteilungen generieren, z.B.
* Chi-Quadrat-Verteilung: chi2rnd
* Log-Normal-Verteilung: lognrnd
* Normalverteilung: normrnd
Codebeispiel:
mean = 0;
standardabweichung = 1;
zufallszahl = normrnd (mean, standardabweichung)
Ausgabe (gibt eine Zufallszahl rund um den Mittelwert 0 aus), z.B.
zufallszahl = 1.0451
Auch Zufallsvektoren (oder Zufallsmatrizen) können erstellt werden:
mean = [0 0 0 0 0];
standardabweichung = 1;
zufallsvektor = normrnd (mean, standardabweichung)
Ausgabe, z.B.:
zufallsvektor =
1.47108 -0.51280 0.52726 0.31730 -1.04422
= Einfache Benutzeroberflächen erstellen=
== Input ==
fflush (stdout);
x = input("Gib eine Zahl ein: ");
disp(2 * x);
Ein-/Ausgabe:
Gib eine Zahl ein: 12
24
Der "fflush"-Befehl sollte immer vor dem Aufruf des input-Befehls aufgerufen werden. Näheres zu "fflush" siehe im Octave-Hilfesystem.
== Diverse einfache vorgefertigte Dialoge ==
Fehlermeldung:
errordlg("Fehlermeldung");
[[Bild:octave_fehlermeldung1.jpg]]
Warnung:
warndlg("Warnung");
[[Bild:octave_warnung1.jpg]]
Hilfedialog:
helpdlg
[[Bild:octave_hilfe1.jpg]]
Abfragedialog:
button = questdlg ("Frage")
[[Bild:octave_abfrage1.jpg]]
Eingabedialog:
in = inputdlg("Eingabe")
[[Bild:octave_eingabe1.jpg]]
Messagebox:
h = msgbox ("Eine Mitteilung!");
[[Bild:octave_messagebox1.jpg]]
== Komplexere vorgefertigte Dialogboxen ==
=== Menübox ===
auswahl = menu("Auswahl", "Affe", "Elefant", "Loewe", "Sonstiges");
switch(auswahl)
case 1
disp "Affe quietscht"
case 2
disp "Elefant trompetet"
case 3
disp "Loewe bruellt"
otherwise
disp "Sonstiges"
end
Ausgabe:
[[Bild:octave_menu1.jpg]]
Es werde beispielsweise die Nummer 2 gewählt.
Ausgabe:
Elefant trompetet
=== Dialogliste ===
clear;
close all;
clc;
opt = {"Eins", "Zwei", "Drei"};
[sel, ok] = listdlg ("ListString", opt, "SelectionMode", "Multiple");
if (ok == 1)
for i = 1 : numel(sel)
disp(opt{sel(i)});
end
else
disp("Cancel");
end
[[Bild:octave_dialog1.jpg]]
Es werden beispielsweise alle Optionen ausgewählt.
Ausgabe:
Eins
Zwei
Drei
=== Fortschrittsbalken ===
h = waitbar ([0.5])
[[Bild:octave_fortschritt1.jpg]]
=== Datei- und Verzeichnisdialoge ===
Dateidialog:
[fname, fpath, fltidx] = uigetfile ()
[[Bild:octave_dateidialog2.jpg]]
Ähnlich sind die Befehle "uiputfile" und "uigetdir". Dazu sei auf die Octave-Hilfe verwiesen.
== Eigene Dialoge kreieren ==
Dieses Thema sei hier nur kurz angerissen.
Programmcode:
d = dialog("Position", [300, 300, 250, 150], "Name", "Dialog");
txt = uicontrol("Parent", d, ...
"Style", "text", ...
"Position", [20, 80, 210, 40], ...
"String", "Hallo Welt");
btn_servus = uicontrol("Parent", d, ...
"Position", [30, 20, 80, 30], ...
"String", "Servus", ...
"Callback", "disp('Servus angeklickt!');");
btn_hallo = uicontrol("Parent", d, ...
"Position", [140, 20, 80, 30], ...
"String", "Hallo", ...
"Callback", "disp('Hallo angeklickt!');");
uiwait(d);
Ausgegebenes Dialogfenster:
[[Bild:octave_dialog100.jpg]]
Ausgabe auf der Konsole (je nach gedrücktem Button), z.B.:
Servus angeklickt!
Die Position wird als [links, unten, breite, höhe] angegeben. Der Koordinatennullpunkt liegt, bezogen auf das Elternfenster, links unten. Es sind auch negative Koordinatenwerte möglich. Sinnvoll ist das z.B. bei einem dynamischen Ausblenden ohne zu löschen, oder für Animationen.
[[Bild:Cartesian-coordinate-system.svg | 150px]]
Wer mehr dazu wissen will, sei auf die Octave-Dokumentation verwiesen. Insbesondere siehe
* dialog
* uicontrol
* uipanel
* uibuttongroup
* uitable
* uimenu
* uitoolbar
== Aufgaben ==
=== Aufgabe 1 ===
Erzeugen Sie ein Dialogfenster mit einem Texteingabefeld und einem Button. Beim Klicken auf den Button soll der Eingabetext auf der Konsole ausgegeben werden. Das Dialogfenster soll also in etwa so aussehen:
[[Bild:octave_dialog105.jpg]]
Da dies etwas komplizierter als das oben gezeigte Beispiel ist, werden nachfolgend ein paar Codefragmente zwecks Lösung angegeben:
Datei button_callback.m:
function button_callback(editHandle)
eingegText = get(editHandle, "String");
disp(eingegText);
end
Codefragement in test1.m:
% ...
edit = uicontrol(% ...
"Style", "edit", ...
%, ...
"HorizontalAlignment", "left");
btn = uicontrol(% ...
"Callback", @(src, event) button_callback(edit));
% ...
Aufruf mit:
octave test1.m
Eingabe von z.B. "Hallo Welt!":
[[Bild:octave_dialog106.jpg]]
Ausgabe auf der Konsole nach dem Drücken des Buttons:
Hallo Welt!
=== Aufgabe 2 ===
Erzeugen Sie ein Dialogfenster mit zwei Eingabefeldern und einem Button. Eingegeben in diese zwei Eingabefelder werden vom Benutzer Zahlen. Auf der Konsole ausgegeben werden soll, nach Drücken des Buttons, das Produkt dieser zwei Zahlen.
Auch hier werden wieder Codefragemente angegeben.
Datei button_callback.m:
function button_callback(edit1, edit2)
zahl1 = str2double(get(edit1, 'String'));
zahl2 = str2double(get(edit2, 'String'));
disp(zahl1 * zahl2);
end
Codefragment Datei test1.m:
% ...
btn = uicontrol("Parent", d, ...
% ...
"Callback", @(src, event) button_callback(edit1, edit2));
% ...
Was passiert, wenn der Benutzer keine Zahlen, sondern beliebige Strings eingibt?
= Fehlerhandling mit try/catch =
Die try/catch-Anweisung entspricht weitgehend jener, die aus höheren Programmiersprachen wie C++ oder Java bekannt sind. Aufgebaut ist diese Anweisungsfolge so:
try
BODY
catch
CLEANUP
end
Beispiel:
clear;
close all;
clc;
try
a = 10 / "zahl";
disp(a);
disp("Weiter im try-Block");
catch
disp("Catch: Kann nicht durch einen String dividieren");
end
Ausgabe:
Catch: Kann nicht durch einen String dividieren
Sinnvoll ist die try/catch-Folge, wenn z.B. auch in einem Fehlerfall Dateien wieder geschlossen werden sollen.
= Ein- und Ausgabe =
== Formatierte Ausgabe am Bildschirm, formatiertes Lesen von der Tastatur ==
Folgendes Beispiel ist der Octave-Hilfe (von Octave 3.0.3) entnommen:
pct = 37;
filename = "foo.txt";
printf ("Processed %d%% of `%s'.\nPlease be patient.\n", pct, filename);
Ausgabe:
Processed 37% of `foo.txt'.
Please be patient.
"printf" gibt einen formatierten String am Bildschirm (genauer in den Stream stdout) aus. Wie man sieht, orientiert sich das Format an der Programmiersprache C.
Für das formatierte Lesen vom Stream stdin (normalerweise also von der Tastatur) steht das Pendant "scanf" bereit.
== Von einem String lesen bzw. in einen String schreiben ==
Bezüglich der Funktionen
* sprintf
und
* sscanf
sei auf die Octave-Hilfefunktion verwiesen.
== Lesen und Schreiben von einer Datei ==
=== Datei schreiben ===
% Datei c:\tmp\datei.test zum Schreiben öffnen
datei = fopen ("c:/tmp/datei.test", "w");
% Etwas in die Datei schreiben
fprintf(datei, "Hallo, Welt!");
% Datei schließen
fclose(datei);
=== Datei lesen ===
% Datei c:\tmp\datei.test zum Lesen öffnen
datei = fopen ("c:/tmp/datei.test", "r");
% Etwas aus der Datei lesen
[string] = fscanf(datei, "%s");
disp(string);
% Datei schließen
fclose(datei);
Ausgabe:
Hallo,Welt!
=== Dateiende prüfen ===
Mittels des Befehls
feof(FID);
kann das Dateiende geprüft werden. Wenn die EOF-Bedingung zutrifft, dann wird 1 zurückgegeben, wenn nicht dann 0. Ein Beispiel folgt später als Lösung einer Aufgabe.
=== warning und error ===
Eine Warnung kann man am stderr-Stream ausgeben. Die warning-Funktion entspricht ansonsten der printf-Funktion. Nach Ausgabe der Warnung wird das Programm normal fortgesetzt.
m = [1 2
3 6];
if(det(m) == 0)
warning("Matrix ist singulaer");
end
disp("Weiter geht's");
Ausgabe:
warning: Matrix ist singulaer
warning: called from
test1 at line 5 column 3
Weiter geht's
Schärfer ist der error-Befehl. Die Fehlermeldung wird am stderr-Stream ausgegeben. Vom Format her entspricht diese Funktion dem printf-Befehl. Nach Ausgabe der Fehlermeldung wird das Programm beendet.
m = [1 2
3 6];
if(det(m) == 0)
error("Matrix ist singulaer");
end
disp("Weiter geht's");
Ausgabe:
error: Matrix ist singulaer
error: called from
test1 at line 5 column 3
== Aufgaben ==
* Schreiben Sie ein Programm, das die Zahlen 1 bis 10 zeilenweise in eine Datei ausgibt.
* Lesen Sie diese Zeilen wieder von der Datei ein und geben Sie sie am Bildschirm aus.
* Gegeben sei eine Datei. Lesen Sie die Daten aus dieser Datei ein und rechnen Sie per Octave-Programm den Gesamtpreis für alle Tiere aus. Die Anzahl der Zeilen und der genaue Dateinhalt sei Ihnen vorab nicht bekannt. Bekannt ist nur das Datenformat wie folgt:
Nr. Name Einzelpreis Stueck
1 Affe 15000.50 2
2 Loewe 11000.90 1
3 Nashorn 45000.10 1
4 Elefant 51245.90 3
5 Tiger 9000.70 2
6 Maus 34.90 12
Eine einfache Lösung ohne Schnickschnack (Fehlerüberprüfungen etc.) für dieses Beispiel könnte wie folgt aussehen:
clear;
close all;
clc;
datei = fopen ("c:/tmp/daten1.txt", "r");
gesamtpreis = 0;
% Kopfzeile einlesen
[nr, name, preis, stk] = fscanf(datei, "%s %s %s %s", "C");
while(feof(datei) == 0)
% Datensätze einlesen
[nr, name, preis, stk] = fscanf(datei, "%d %s %f %d", "C");
gesamtpreis += preis*stk;
end
fclose(datei);
disp("Gesamtpreis = ");
format long;
disp(gesamtpreis);
Ausgabe:
Gesamtpreis =
258159.900000000
= Datencontainer =
== Datenstrukturen ==
Pseudocode:
STRUKTUR s
ZAHL a
VEKTOR b
STRING c
END
Octave-Code:
s.a = 45.9;
s.b = [1 2 3 4 5];
s.c = "Hallo!";
s
Ausgabe:
s =
scalar structure containing the fields:
a = 45.90000000000000
b =
1 2 3 4 5
c = Hallo!
Um ein paar weitere Möglichkeiten zum Handling mit Datenstrukturen aufzuzeigen, sei folgender Code aufgeführt.
Datei addsub.m
function res = addsub(a, b)
res.x = a + b;
res.y = a - b;
end
Datei test1.m
clear;
clc;
addsub(10, 50)
r = addsub(30, 70)
r.x
r.y
++r.x
Ausgabe:
ans =
scalar structure containing the fields:
x = 60
y = -40
r =
scalar structure containing the fields:
x = 100
y = -40
ans = 100
ans = -40
ans = 101
Die Funktion "addsub" liefert die Struktur res mit zwei Zahlenwerten. Die Elemente der Datenstruktur können auch außerhalb der Funktion angesprochen werden. Auch gerechnet werden kann mit diesen Elementen.
== Cell Arrays ==
Manchmal kann es sinnvoll sein mehrere Variablen verschiedenen Typs und Größe in einer Variablen zu speichern. Dies funktioniert ähnlich wie bei Vektoren. Es werden aber geschweifte Klammern verwendet.
Eingabe:
c = {"Hallo Welt!", [2 2], 44}
c{1}
c{1:2}
Ausgabe:
c =
{
[1,1] = Hallo Welt!
[1,2] =
2 2
[1,3] = 44
}
ans = Hallo Welt!
ans = Hallo Welt!
ans =
2 2
Elemente des Cell Arrays können auch wieder mit Variablen anderen Typs überschrieben werden.
c = {"Hallo Welt!", [2 2], 44};
c{1} = 5;
c
Ausgabe:
c =
{
[1,1] = 5
[1,2] =
2 2
[1,3] = 44
}
= Objektorientierte Programmierung =
Octave unterstützt auch objektorientierte Programmierung mit dem Schlüsselwort <code>classdef</code> (ab Version 4.0). Dieses Thema ist aber etwas für fortgeschrittene Anwender und wird hier nicht behandelt. Wen es trotzdem interessiert, der sei auf die [https://docs.octave.org/latest/Object-Oriented-Programming.html Octave-Dokumentation] verwiesen.
= Octave im Zusammenspiel mit anderen Programmiersprachen =
== .oct-Dateien ==
Eine .oct-Datei in GNU Octave ist eine kompilierte C/C++-Datei, die als dynamisch ladbares Objekt direkt in Octave ausgeführt werden kann. oct-Dateien sind meist schneller als nativer Octave-Code.
1. Schritt: Erstelle z.B. eine C++-Datei ''quadrat.cc'' (es soll das Quadrat einer Zahl berechnet werden)
#include <octave/oct.h>
DEFUN_DLD(quadrat, args, nargout, "Quadrat einer Zahl berechnen")
{
double x = args(0).double_value();
double res = x*x;
return octave_value(res);
}
* <code>DEFUN_DLD</code> ist ein Makro. Damit wird angezeigt, dass es sich um eine dynamisch ladbare Funktion handelt ('''De'''fine '''F'''unction – '''D'''ynamically '''L'''inked '''D'''istribution).
* Der erste Parameter muss mit dem Namen der Funktion und der erstellten oct-Datei übereinstimmen, also hier <code>quadrat</code>.
* <code>args</code>: Argumente die beim Aufruf in Octave übergeben werden.
* <code>nargout</code>: Anzahl der Rückgabewerte.
* "Quadrat einer Zahl berechnen": Dokumentationsstring
2. Schritt: ''quadrat.cc'' kompilieren
# Terminal öffnen
# In das quadrat.cc-Verzeichnis wechseln
# Octave aufrufen
# cc-Datei zu einer oct-Datei kompilieren: <code>mkoctfile quadrat.cc</code>
# Wenn das ohne Fehlermeldung durchläuft, so sollte im Anschluss eine (relativ große) ''quadrat.oct''-Datei im entsprechenden Verzeichnis zu finden sein.
3. Schritt: Funktion <code>quadrat()</code> in Octave aufrufen, z.B.:
y = quadrat(5)
Es ergibt sich folgende Ausgabe:
y = 25
Damit das funktioniert, müssen natürlich die entsprechenden Werkzeuge (Compiler etc.) installiert sein. Darauf wird hier aber nicht näher eingegangen.
Die Dokumentation zu den .oct-Dateien findet sich auf [https://docs.octave.org/v11.1.0/Oct_002dFiles.html].
== Andere Möglichkeiten ==
* .mex-Dateien ('''M'''ATLAB '''Ex'''ecutables): Wenn man kompatibel zu MATLAB bleiben muss
* Java- oder Python-Schnittstelle (Nachteil: langsamer als .oct-Dateien)
Bevor man aber diese Möglichkeiten in Anspruch nimmt, sollte man vektorisieren. Damit lassen sich oft schon höhere Geschwindigkeiten erzielen. Dieses Thema wurde früher schon kurz behandelt.
= Octave GUI =
Das GUI-Programm ('''G'''raphical '''U'''ser '''I'''nterface) von Octave entspricht im Wesentlichen anderen Programmier-Benutzeroberflächen (IDEs ... '''I'''ntegrated '''D'''evelopment '''E'''nvironments), wie z.B. Eclipse (Java), Code::Blocks (C/C++) oder Spyder (Python). Nachfolgend ist ein Screenshot des Octave-GUI mit einigen Anmerkungen dargestellt.
[[Bild:octave_gui2.jpg|600px]]
Probieren Sie einfach die Möglichkeiten der zur Verfügung gestellten GUI/IDE aus.
= Komplexere Aufgaben =
* Berechnen Sie die Fläche, den Umfang, die Seitenlängen, den Inkreis und den Umkreis eines Dreiecks. Stellen Sie das Dreieck inklusive In- und Umkreis grafisch dar. Speichern Sie die Daten in einer Datei. Die drei Eckpunkte dieses Dreiecks sollen vom Benutzer beliebig vorgegeben werden.
* Die Werte einer beliebig großen quadratischen Matrix seien in einer Datei gespeichert. Lesen Sie diese Datei ein und berechnen Sie daraus die Determinante der Matrix, die inverse Matrix, die Eigenvektoren und -werte, die Spur. Führen Sie die LR-Zerlegung durch. Geben Sie diese Werte am Bildschirm aus.
= Ausblick =
Dies war eine kurze Einführung in die Berechnungs- und Darstellungsmöglichkeiten mit Octave. Es sollten etliche relevante Themen behandelt, oder zumindest kurz angesprochen worden sein. Wem dieser Text nicht ausreichend ist, der sei auf die entsprechende weiterführende Literatur, die Octave-Hilfefunktion und die Octave-Dokumentation verwiesen. Octave kennt noch viel mehr Befehle, als hier dargestellt wurden. Aber auch Octave selbst ist erweiterbar. Man siehe z.B. Octave Packages (https://gnu-octave.github.io/packages/) oder man schreibt selbst Erweiterungen.
{{Navigation_zurückhochvor_buch|
zurücktext=Maxima|
zurücklink=Ing Mathematik: Computeralgebrasysteme am Beispiel von Maxima|
hochtext=Gesamtinhaltsverzeichnis|
hochlink=Ing:_Mathematik_für_Ingenieure|
vortext=Julia für Ingenieure|
vorlink=Ing Mathematik: Julia}}
g4fggedjs0mh0uasx44rum6m3xt62ha
1091113
1091094
2026-09-19T15:52:05Z
Intruder
1513
/* .oct-Dateien */
1091113
wikitext
text/x-wiki
{{Navigation_zurückhochvor_buch|
zurücktext=Maxima|
zurücklink=Ing Mathematik: Computeralgebrasysteme am Beispiel von Maxima|
hochtext=Gesamtinhaltsverzeichnis|
hochlink=Ing:_Mathematik_für_Ingenieure|
vortext=Julia für Ingenieure|
vorlink=Ing Mathematik: Julia}}
= Hallo Welt und allgemeine Hinweise =
== Was ist Octave ==
* Octave ist eine Software zur numerischen Lösung mathematischer Probleme.
* Octave ist Open-Source (GPL-Lizenz).
* Octave ist für viele Betriebssysteme erhältlich (z.B. für Linux, MS Windows, macOS).
* Octave ist weitgehend kompatibel zum Numerik-Standardprogramm {{W|Matlab|MATLAB}}.
* Octave ist ein Interpreter.
* Octave als Programmiersprache ist case-sensitive - d.h. Groß- und Kleinschreibung ist relevant bei der Eingabe von Befehlen.
{{Wikipedia | GNU Octave}}
== Octave installieren ==
=== MS Windows ===
Laden Sie das aktuelle Octave-Paket von der Webseite [https://octave.org/download] herunter. Weiter geht es wie bei jedem anderen größeren zu installierenden Programm. Einfach das Installationsprogramm im Explorer doppelklicken und den Anweisungen des Setup-Programmes folgen.
=== Linux ===
Entweder ist Octave bereits standardmäßig installiert, ansonsten ist die Installation mittels Paketmanagementsystem einfach möglich. Dazu gehen Sie auf die Seite [https://wiki.octave.org/Category:Installation], wählen die vorhandene Linux-Variante und folgen der angegebenen Beschreibung (z.B. <code>zypper ... </code> für openSUSE. Oder Sie benutzen unter openSUSE Tumbleweed direkt das Setup-Programm {{W|YaST}}).
== Octave starten ==
=== MS Windows ===
Das Icon für das Octave-Programm doppelklicken (für das Konsolenprogramm ... CLI, für die grafische Benutzeroberfläche ... GUI). Und schon startet das Programm.
[[Datei:octavestart1.jpg]]
=== Linux ===
In einer Linux-Konsole den Befehl "octave" eintippen, mit der RETURN-Taste bestätigen, und das Programm (CLI) startet:
GNU Octave (x86_64-suse-linux-gnu) version 11.1.0
Copyright (C) 1993-2026 The Octave Project Developers.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>
This is free software; see the source code for copying conditions.
There is NO WARRANTY, to the extent permitted by law. For details, type 'warranty'.
Home page: <https://octave.org>
Support resources: <https://octave.org/support>
Improve Octave: <https://octave.org/get-involved>
For changes from previous versions, type 'news'.
octave:1>
Um Octave mit der eingebauten GUI zu starten, kann der Befehl <code>octave --force-gui</code> verwendet werden:
[[File:Gnu_Octave_IDE.png|600px]]
Alternativ kann, z.B. unter openSUSE Tumbleweed (mit {{W|KDE Plasma 6|KDE-Plasma}}), die Octave-IDE auch über den Application Launcher im Menü ''Education -> GNU Octave'' gestartet werden.
== Ein paar Worte zur Erklärung ==
Im Folgenden wird immer das Konsolenprogramm (CLI ... Command Line Interface) für die Eingabe von Befehlen benutzt. Erst gegen Ende dieses Textes wird auch kurz auf das GUI von Octave eingegangen.
Teilweise werden Ergebnisse der älteren Octave-Version 3.0.3 dargestellt. Die dargestellten Grafiken und Ausgabetexte können je nach Version leicht voneinander abweichen. Der Text wurde ursprünglich mit der Octave-Version 3.0.3 erstellt und anschließend auf die Versionen 5.2 bis 11.1.0 aktualisiert. Dieser Mischmasch sollte aber kein Problem darstellen.
Getestet wurden die Beispiele ursprünglich unter dem Betriebssystem MS Windows 10, später auch mit MS Windows 11, bzw. mit openSUSE Leap 15.6 (Octave 6.4.0, nur vereinzelt) und ab März 2026 auch mit openSUSE Tumbleweed (ab Octave 10.3.0, nur vereinzelt).
== Ein erstes Programm ==
Kommentare werden in Octave mit dem Prozentzeichen (%) oder alternativ mit der Raute (#) eingeleitet. Sie werden vom Octave-Interpreter ignoriert. Will man kompatibel mit MATLAB bleiben, so ist die Version mit dem %-Zeichen vorzuziehen. Text kann mit der disp-Funktion ausgegeben werden. Starten Sie Octave und geben sie folgende Anweisungen zeilenweise ein
octave-3.0.3.exe:1> % Das ist ein Kommentar
octave-3.0.3.exe:2> # und das auch
octave-3.0.3.exe:3> disp "Hallo Welt!"
Als Ergebnis erhalten Sie
Hallo Welt!
Der Prompt (z.B. octave-3.0.3.exe:1>) ist natürlich abhängig von der Octave-Version und den schon eingegebenen Zeilen. Er ist selbstverständlich nicht einzutippen, sondern wird vom Octave-System geliefert.
Strings können in Octave entweder in Anführungszeichen (") gesetzt werden oder in Hochkommatas('). In diesem Text wird die erste Variante bevorzugt eingesetzt.
= Octave als Taschenrechner =
== Allgemeines ==
Wir wollen 3 * 5 berechnen. Dazu starten wir Octave. Geben Sie dann die Formel
octave-3.0.3.exe:1> 3 * 5
ein, drücken die Taste ENTER/RETURN und erhalten als Ergebnis
ans = 15
Auch kompliziertere Ausdrücke sind möglich. Beispielsweise mit Winkelfunktionen, Quadratwurzeln etc. Wir wollen nun den Ausdruck <math>\sin\sqrt{15}</math> berechnen :
octave-3.0.3.exe:2> sin(sqrt(15))
ans = -0.6679
Octave kennt eine Handvoll von Konstanten, z.B.:
Zeilenweise Eingabe:
% Die Kreiszahl PI
pi
% Die Eulersche Zahl
e
% Zur Maschinengenauigkeit
eps
Ausgabe:
ans = 3.1416
ans = 2.7183
ans = 2.2204e-016
"ans" steht übrigens für den Begriff "answer" (auf Deutsch "Antwort"). Mit "ans" kann wie mit jeder anderen Variable oder Konstanten weitergerechnet werden, z.B.:
Eingabe:
% Der Kreisradius sei 10
10
% Der Kreis-Umfang mit diesem Radius sei folgendes
2 * pi * ans
Ausgabe:
ans = 10
ans = 62.832
Die Ausgabe eines Befehls am Bildschirm (das "Echo") kann übrigens durch Anwendung des Semikolons (;) unterdrückt werden. Gezeigt werden soll dies nun mit Hilfe des obigen Beispiels. Es soll nur der Umfang ausgegeben werden, nicht der Radius.
Eingabe:
% Der Kreisradius sei 10
10;
% Der Kreis-Umfang mit diesem Radius sei folgendes
2 * pi * ans
Ausgabe:
ans = 62.832
Vielleicht ist manchem die Genauigkeit, mit der Echo bzw. der Befehl disp Werte ausgibt, nicht ausreichend. Dem kann Abhilfe verschafft werden und zwar so:
Eingabe:
format short
pi
format long
pi
format longe
pi
% usw.
Ausgabe:
ans = 3.1416
ans = 3.14159265358979
ans = 3.14159265358979e+00
Beenden lässt sich das Octave-Programm durch Eingabe von quit oder exit (und natürlich zur Bestätigung die RETURN-Taste drücken).
== Die Hilfefunktion von Octave ==
Die Eingabe von help mit Angabe eines Funktionsnamens liefert detaillierte Infos zu der gesuchten Funktion.
Eingabe:
help sin
Ausgabe:
'sin' is a built-in function from the file libinterp/corefcn/mappers.cc
-- Y = sin (X)
Compute the sine for each element of X in radians.
See also: asin, sind, sinh.
Additional help for built-in functions and operators is
available in the online version of the manual. Use the command
'doc <topic>' to search the manual index.
Help and information about Octave is also available on the WWW
at https://www.octave.org and via the help@octave.org
mailing list.
Auch gibt es die doc-Funktion für eine vollständige Dokumentation des Octave-Systems, z.B.:
Eingabe:
doc
Ausgabe:
[[Datei:Octave_730_doc_screenshot.jpg]]
== Sonstige einfache Berechnungen ==
In octave gibt es eine "umgekehrte" Division:
11 / 2 % normale Division (Rechtsdivision)
11 \ 2 % umgekehrte Division (Linksdivision)
Ausgabe:
ans = 5.5000
ans = 0.1818
Potenzieren kann man so:
12^5
Ausgabe:
ans = 248832
Den Modulo-Operator % wie in C/C++, Java oder Python gibt es in Octave '''nicht'''. Das Prozentzeichen ist dem Kommentar vorbehalten. Man kann aber eine Funktion hierfür benutzen
y = mod(20, 3)
Ausgabe:
y = 2
Runden mit und auf Ganzzahlen kann man in Octave so:
a = int32(10);
b = int32(3);
x = a / b
y = int32(15) / int32(4)
Ausgabe:
x = 3
y = 4
Siehe dazu aber auch die Funktionen <code>floor</code>, <code>ceil</code> und <code>idivide</code>.
Mittels <code>int32()</code> werden Zahlen als 32-Bit-Ganzzahlen dargestellt. Standardmäßig ist der Datentyp nämlich <code>double</code>. Das ist zu beachten, es ergeben sich unterschiedliche Ergebnisse.
Beispiel:
clear();
a = int32(10);
b = int32(3);
x = a / b
c = 10;
d = 3;
y = c / d
whos()
Ausgabe:
x = 3
y = 3.3333
Variables visible from the current scope:
variables in scope: top scope
Attr Name Size Bytes Class
==== ==== ==== ===== =====
a 1x1 4 int32
b 1x1 4 int32
c 1x1 8 double
d 1x1 8 double
x 1x1 4 int32
y 1x1 8 double
Total is 6 elements using 36 bytes
Ist der Wertebereich von <code>int32</code> zu klein (4 Bytes, <math>-2^{31}</math> bis <math>2^{31} - 1</math>), so gibt es auch <code>int64</code> (8 Bytes, <math>-2^{63}</math> bis <math>2^{63} - 1</math>).
<code>clear</code> löscht Namen und gibt den Speicherplatz wieder frei. <code>whos()</code> liefert detaillierte Informationen der aktuell definierten Variablen.
== Aufgaben ==
* Berechnen Sie mit Octave den Ausdruck <math>\frac{1}{2}\cdot e^2 \cdot \tan(\pi/3)</math>.
* Berechnen Sie mit Octave den Ausdruck <math>2\; \text{cosd}(60) - 3\sin(\pi/5)</math>. Anmerkung: cosd erwartet den Parameter im Gradmaß (d für "degree"), sin erwartet den Parameter im Bogenmaß.
* Erkunden Sie die Fehlerfunktion "erf" mittels Octave-Hilfe.
* Welche Zahl ergibt sich durch <code>3 / 4 \ 2</code>?
* Welche Zahlen werden durch die folgenden Anweisungen ausgegeben?
idivide(int32(10), int32(3), "fix")
idivide(int32(10), int32(3), "round")
idivide(int32(10), int32(3), "floor")
idivide(int32(10), int32(3), "ceil")
floor(10.3)
ceil(10.3)
= Octave als Scriptsprache =
Häufig wird man aber kompliziertere Anweisungsfolgen verarbeiten müssen. Diese will man normalerweise nicht jedesmal neu eingeben, sondern in einer Datei speichern und diese Datei dann zur Ausführung bringen. Speichern Sie dazu folgenden Code in einer Textdatei, z.B. unter MS Windows als c:\tmp\test1.m
% Das ist ein Kommentar
# und das auch
disp "Hallo Welt!"
Skriptdateien müssen mit der Dateiendung .m versehen werden. In der Octave-Konsole fügen Sie den Dateipfad mittels
octave-3.0.3.exe:1> addpath("c:/tmp")
hinzu (es ist der UNIX-spezifische Slash (/) zu benutzen). Alternativ können Sie zumindest unter MS Windows auch einen Doppel-Backslash (\\) einsetzen. Oder Sie wechseln mittels <code>cd c:/tmp</code> direkt ins Verzeichnis <code>c:/tmp</code>.
Danach bringen Sie die Skriptdatei test1.m (sozusagen das Hauptprogramm) zur Ausführung
octave-3.0.3.exe:2> test1
Achtung: Die Datei (die Funktion oder das Hauptprogramm) ist in der Octave-Kommandozeile ohne .m-Dateiendung anzugeben. Wie erwartet ergibt sich folgende Ausgabe am Bildschirm
Hallo Welt!
Zumindest unter Linux können Sie z.B. auch komfortabel den {{W|Shebang|Shebang}} (<code>#!</code>) nutzen. Gegeben sei das Octave-Script
#!/usr/bin/octave
disp("Hallo Welt!");
Gepeichert sei es ebenfalls als <code>test1.m</code>. Starten Sie ein Terminal, wechseln Sie in das entsprechende Arbeitsverzeichnis und geben Sie
./test1.m
ein, so erhalten Sie wieder
Hallo Welt!
als Ausgabe auf dem Terminal. Die Zugriffsberechtigung muss natürlich mittels <code>chmod</code> richtig gesetzt werden. Oder Sie führen direkt Octave mit der Datei <code>test1.m</code> aus:
octave test1.m
Sie sehen, mehrere Wege führen zum Ziel.
== Blockkommentare ==
In neueren Octave-Versionen ab dem Jahr 2009 sind auch Blockkommentare möglich. Blockkommentare werden wie normale Kommentare vom Octave-Interpreter ignoriert.
%{
Das ist ein
Blockkommentar
%}
#{
und das auch
#}
== Variablen ==
Variablenbezeichner können aus Buchstaben (A-Za-z), Ziffern (0-9) und Underscores (_) bestehen, dürfen aber nicht mit einer Zahl beginnen.
Gültige Variablenbezeichner wären also:
xyz
x1
_wert
name_anzahl
Da Octave case-sensitiv ist, repräsentieren folgende Bezeichner verschiedene Variablen:
xyz
XYZ
xYz
Werte werden an Variablen mittels Gleich-Zeichen (=) zugewiesen. Im Folgenden wird der Code immer in der Datei c:\tmp\test1.m gespeichert.
x = 5
y = 10
z = x*y
Bringen Sie die Datei test1.m zur Ausführung, so erhalten Sie folgende Bildschirmausgabe
x = 5
y = 10
z = 50
Normalerweise will man aber nur z anzeigen, die Werte von x und y sind ja bereits bekannt. Dazu fügen Sie an den Anweisungsenden, wie bereits weiter oben erwähnt, bei x und y jeweils ein Semikolon (;) an, um das Anweisungsende explizit zu markieren.
x = 5;
y = 10;
z = x*y
Nun erhalten Sie als Ergebnis nur noch
z = 50
Sie können auch mehrere Anweisungen in einer Zeile durch Semikolon getrennt schreiben.
x = 5; y = 10; z = x*y
Ausgabe:
z = 50
Auch aus der Programmiersprache C/C++ oder Java bekannte Konstrukte können Sie verwenden, z.B.
x = 5;
% inkrementiere x
++x
% x = x - 2
x -= 2
Bildschirmausgabe:
ans = 6
x = 4
Beachten Sie, dass mit dem =-Zeichen eine Wertezuweisung durchgeführt wird. Dies ist nicht äquivalent zum mathematischen =-Zeichen, wie am vorigen Beispiel zu ersehen ist.
Soll eine Anweisung auf mehrere Zeilen verteilt werden, z.B. weil sie zu lang ist, so kann dies durch Verwendung von drei Punkten (...) geschehen, wie nachfolgend dargestellt.
x = 5;
y = 1000 * x + ...
sin(x/2)
Ausgabe:
y = 5000.6
Diese Drei-Punkte-Methode soll nicht für in Anführungszeichen (") eingeschlossene Strings verwendet werden. Diese Methode ist seit geraumer Zeit "deprecated" und funktioniert mit der Version 9.1.0 gar nicht mehr. Benutzen Sie statt dessen den Backslash (\):
txt = "xxxxxxxxxxxxxxxxxxxx\
yyyyyyyyyyyyyyyyy"
Ausgabe:
txt = xxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyy
Variablen sind nicht an einen bestimmten Datentyp gebunden, folgendes ist in Octave problemlos möglich:
wert = 10
wert = 35.5
wert = "Hallo"
wert = pi
Ausgabe:
wert = 10
wert = 35.500
wert = Hallo
wert = 3.1416
Der Befehl <code>who</code>, bzw. <code>whos</code> listet die gegenwärtig definierten Variablen, z.B.:
clear;
a = 10.5;
v = [1 2 3 4 5 12 13];
m = ["s1", "s2"; "s3", "s4"];
disp "***** Der Befehl who *****"
who
disp "***** Der Befehl whos *****"
whos
Ausgabe:
***** Der Befehl who *****
Variables visible from the current scope:
a m v
***** Der Befehl whos *****
Variables visible from the current scope:
variables in scope: top scope
Attr Name Size Bytes Class
==== ==== ==== ===== =====
a 1x1 8 double
m 2x4 8 char
v 1x7 56 double
Total is 16 elements using 72 bytes
==Hexadezimale und binäre Zahlen==
% Hexadezimale Zahl
disp( 0xABC )
% Binäre Zahl
disp( 0b1000011 )
Ausgabe (als Dezimalzahlen):
2748
67
Octave kann auch dezimale in binäre Zahlen etc. umwandeln:
dec2bin( 214 )
Ausgabe:
ans = 11010110
Siehe dazu in der Octave-Hilfe auch folgende Funktionen:
bin2dec, dec2base, dec2hex, hex2dec, base2dec
== Zahlenkolonnen ==
Eine Zahlenkolonne (oder ein Vektor) mit gleichen Abständen der Werte kann folgendermaßen erzeugt werden:
% a ... Startwert
% b ... Schrittweite
% c ... Endwert
a = 0;
b = 10;
c = 100;
x = a : b : c;
disp(x);
Ausgabe:
0 10 20 30 40 50 60 70 80 90 100
Ähnliche Resultate lassen sich auch durch Anwendung der linspace-Funktion erhalten, z.B.:
% a ... Startwert
% b ... Endwert
% c ... Anzahl der Werte
a = 0;
b = 100;
c = 11;
v = linspace(a, b, c)
Ausgabe:
v =
0 10 20 30 40 50 60 70 80 90 100
== Verzweigungen ==
=== Die IF-Verzweigung ===
Die IF-Verzweigung ist aus anderen Programmiersprachen bereits bekannt. In Pseudocode lässt sie sich folgendermaßen darstellen:
WENN bedingung TRUE
führe block1 aus
SONST
führe block2 aus
ENDE
Die test1.m-Datei laute also wie folgt:
x = 5;
if x < 4
disp "x ist kleiner als 4";
else
disp "Der else-Zweig wird ausgefuehrt";
disp "x ist groesser oder gleich 4";
end
Ausgabe:
Der else-Zweig wird ausgefuehrt
x ist groesser oder gleich 4
Octave kennt eine Reihe von Vergleichs- und Verknüpfungsoperatoren:
* <, <= ... kleiner (gleich)
* >, >= ... größer (gleich)
* == ... gleich
* ~=, != ... ungleich
* &, && ... AND
* |, || ... OR
* ~, ! ... NOT
Beispielsweise:
a = 5;
b = 9;
if a<=10 & b!=7
disp("OK");
else
disp("Nicht OK");
end
Ausgabe:
OK
=== Die SWITCH-Verzweigung ===
In Pseudocode:
WECHSLE ZU var
FALLS wert1 == var
führe block1 aus
FALLS wert2 == var
führe block2 aus
...
SONST
führe blockn aus
ENDE
Eine Beispielsimplementierung in Octave könnte so aussehen:
x = "g";
switch(x)
case "k"
disp("klein");
case "g"
disp("gross");
otherwise
disp("sonstiges")
end
Ausgabe:
gross
Anmerkungen für C-Programmierer:
* in Octave darf zum Abschluß von ''case'' kein Doppelpunkt folgen (würde einen Syntaxfehler auslösen).
* ein ''break'' als Abschluß eines ''case''-Blocks ist nicht erlaubt (würde in Octave einen parse error auslösen). ''break'' ist Schleifen vorbehalten. ''switch'' hat in Octave keinen "Durchfall" und ähnelt somit eher der Fortran-Anweisung ''select case''.
Mehrere Fälle in einem ''case'' können wie nachfolgend behandelt werden:
x = "K";
switch(x)
case {"k" "K"}
disp("klein");
case {"g" "G"}
disp("gross");
otherwise
disp("sonstiges")
end
Ausgabe:
klein
== Schleifen ==
=== Die WHILE-Schleife ===
Die WHILE-Schleife ist kopfgesteuert. Sie funktioniert wie aus anderen Programmiersprachen bekannt.
In Pseudocode:
SOLANGE bedingung TRUE
führe block aus
ENDE
In Octave:
x = 0;
while x <= 10
disp(x);
x++;
end
Ausgabe:
0
1
2
3
4
5
6
7
8
9
10
=== Die DO-UNTIL-Schleife ===
Die DO-UNTIL-Schleife ist fußgesteuert. Beachte: Diese Schleife ist nicht äquivalent zu der aus anderen Programmiersprachen bekannten DO-WHILE-Schleife. DO-WHILE bedeutet "TUE SOLANGE", DO-UNTIL bedeutet "TUE BIS". Sie wird mindestens einmal ausgeführt.
Pseudocode:
TUE
führe block aus
BIS bedingung TRUE
Mittels Octave:
x = 0;
do
disp(x);
x++;
until(x >= 5)
Ausgabe:
0
1
2
3
4
=== Die FOR-Schleife ===
for x = 0 : 2 : 10
disp(x);
end
Ausgabe:
0
2
4
6
8
10
Der FOR-Schleifenkopf ist in Form einer Zahlenkolonne folgendermaßen aufgebaut:
for variable = startwert : schrittweite : endwert
Man beachte, dass Vektorisierung gegenüber einem Schleifendurchlauf eine erhebliche Zeiteinsparung bewirken kann (man siehe in der [https://docs.octave.org/latest/Vectorization-and-Faster-Code-Execution.html Octave-Dokumentation das Kapitel 19 "Vectorization and Faster Code Execution"]). Folgendes Beispiel ist an genanntes Octave-Kapitel angelehnt. Zuerst wird eine Berechnung mittels Schleifendurchlauf durchgeführt und der Zeitbedarf ausgegeben. Dieser Zeitbedarf hängt natürlich auch von der verwendeten Hardware etc. ab.
Eingabe:
n = m = 500;
a = b = eye(500);
t1 = time();
for i = 1:n
for j = 1:m
c(i,j) = a(i,j) + b(i,j);
endfor
endfor
t2 = time();
t_diff = t2-t1
Ausgabe:
t_diff = 3.7566
Der Zeitverbrauch beträgt hier also ca. 4 Sekunden. Im Gegensatz dazu
Eingabe:
a = b = eye(500);
t1 = time();
c = a + b;
t2 = time();
t_diff = t2-t1
Ausgabe:
t_diff = 1.5974e-05
ist der Zeitverbrauch hier sehr gering. Vektoren und Matrizen werden etwas später in diesem Text detailliert behandelt. Hier nur soviel: Mittels ''eye'' wird eine Einheitsmatrix kreiert.
=== Schleifen abbrechen ===
Zum Abbrechen einer Schleife gibt es den Befehl "break".
for var = 0 : 1 : 100
disp (var);
if var == 5
break;
end
end
Ausgabe:
0
1
2
3
4
5
"continue" setzt mit dem nächsten Schleifendurchlauf fort, z.B.
for var = 0 : 1 : 10
if var == 5
continue;
end
disp (var);
end
Ausgabe:
0
1
2
3
4
6
7
8
9
10
== Aufgaben ==
* Berechnen Sie die Summe der ersten 10000 natürlichen Zahlen (bei 1 beginnend)
** in Form einer WHILE-Schleife
** in Form einer DO-UNTIL-Schleife
** in Form einer FOR-Schleife
** mittels sum-Befehl (siehe dazu auch die von Octave zur Verfügung gestellte Hilfefunktion).
** mittels gaußscher Summenformel (<math>\sum_{i=1}^n{i} = 1+2+...+n = n(n+1) / 2</math>)
* Schreiben Sie für obige Alternativen Programme mit denen der Zeitbedarf der Schleifen, Befehle bzw. Formeln gemessen werden kann. Welche Alternativen sind aus Zeitgründen (minimale Laufzeit) empfehlenswert?
= Grafiken zeichnen =
== 2D ==
=== Graph einer Funktion ===
Es soll die cosh-Funktion im Intervall <math>x\in[-3,3]</math> gezeichnet werden. Der Programmcode lautet in der einfachsten Form:
x = -3 : .1: 3;
y = cosh(x);
plot(x,y);
grid on;
Ausgabe:
[[Datei:octave_cosh.jpg]]
Der Code ist quasi selbsterklärend. x läuft von -3 bis +3. y wird für jeden x-Wert per Formel ausgerechnet. "plot" ist der Zeichenbefehl. "grid on" schaltet ein Zeichengitter ein.
Die Schrittweite 0.1 wurde so gewählt, um einen ausreichend glatten Verlauf des Graphen zu gewährleisten. Das ist immer ein Kompromiss zwischen Berechnungszeit und Ansehnlichkeit. Testen Sie einfach ein paar verschiedene Werte, um ein Gefühl dafür zu zu bekommen.
Sie könnten nun auf die Idee kommen, obiges Script unter Linux mit der Shebang-Zeile zu erweitern, um es direkt als Programm auszuführen.
#!/usr/bin/octave
x = -3 : .1: 3;
y = cosh(x);
plot(x,y);
grid on;
Die Enttäuschung folgt auf dem Fuß. Außer einem kurzen Aufblinken des Grafikfensters ist nicht viel zu sehen. Das Programm läuft einfach durch und wird nach der letzten Anweisung beendet. Abhilfe kann z.B. der <code>input</code>-Befehl schaffen:
#!/usr/bin/octave
x = -3 : .1: 3;
y = cosh(x);
plot(x,y);
grid on;
refresh();
input("Zum Beenden RETURN-Taste drücken");
Das Programm wartet somit, bis Sie im Terminal die RETURN-Taste drücken. <code>refresh()</code> dient dazu, das Grafikfenster unmittelbar zu aktualisieren. Sonst würde das Ausgabefenster leer bleiben, bis es durch externe Anreize aktualisiert wird (z.B. durch Fenster minimieren/maximieren). Gleiches gilt für die <code>octave test1.m</code>-Variante.
Ein etwas komplexeres Beispiel ist Folgendes
x = -3 : .1: 3;
y = cosh(x) + 2.^x;
plot(x,y);
grid on;
Man beachte den Punkt bei 2.^x (2 hoch x). Vergisst man den Punkt, dann erhält man eine Fehlermeldung (ähnlich dieser):
error: for x^y, only square matrix arguments are permitted and one argument must be scalar. Use .^ for elementwise power.
error: called from
test1 at line 2 column 3
Ausgabe:
[[Datei:octave_cosh2.jpg]]
Der Funktionsgraph kann auch als Fläche eingefärbt werden:
x = -3 : .1: 3;
y = cosh(x) + 2.^x;
fill (x, y, "b");
Ausgabe:
[[Datei:octave_cosh3.jpg | 500px]]
=== Graphen mehrerer Funktionen und weiteres ===
Mehrere Graphen lassen sich folgendermaßen in ein Fenster zeichnen:
x = -3 : .1: 3;
y1 = cosh(x) + 2.^x;
y2 = sin(x) .* cos(x);
plot(x,y1, x,y2);
title("Funktionsgraphen");
legend("cosh ...", "sin ...");
xlabel("x");
ylabel("y");
grid on;
[[Bild:octave_cosh14.jpg|600px]]
Um die Linienstile etwas individueller zu gestalten, ist folgender Programmcode gedacht:
x = -3 : .1: 3;
y1 = cosh(x) + 2.^x;
y2 = sin(x) .* cos(x);
plot(x,y1,"*r", x,y2,"ob");
title("Funktionsgraphen");
legend("cosh ...", "sin ...");
xlabel("x");
ylabel("y");
grid on;
[[Datei:octave_cosh4.jpg]]
Bei plot kann auch der Linienstil des jeweiligen Graphen angegeben werden, z.B. steht
* für Sternchenlinie
o für Kreise in der Linie
r für rot
b für blau
Ein ähnliches Resultat liefert der Code:
x = -3 : .1: 3;
y1 = cosh(x) + 2.^x;
y2 = sin(x) .* cos(x);
plot(x,y1, "Color", "red", "*", x,y2, "Color", "blue", "o");
title("Funktionsgraphen");
legend("cosh ...", "sin ...");
xlabel("x");
ylabel("y");
grid on;
Will man mehrere Graphen in ein Fenster zeichnen, aber nicht alles in einen plot-Befehl quetschen, so kann die "hold on"-Anweisung die Lösung des Problems sein:
%Lösche alle benutzerdefinierten Variablen aus der Symboltabelle
clear;
%Schließe alle Fenster
close all;
%Lösche Konsolenfenster und setze Cursor zurück
clc;
x = -3 : .1: 3;
y1 = cosh(x) + 2.^x;
y2 = sin(x) .* cos(x);
plot(x,y1, "Color", "red");
hold on;
plot(x,y2, "Color", "blue");
title("Funktionsgraphen");
legend("cosh ...", "sin ...");
xlabel("x");
ylabel("y");
grid on;
[[Datei:octave_coshsin1.jpg]]
Bei diesem Program wurden auch einige Möglichkeiten (clear, close, clc) gezeigt, um das System aufzuräumen. Ein "hold off" würde natürlich die hold-Funktion wieder ausschalten.
=== Funktion in Parameterdarstellung ===
Es soll die archimedische Spirale <math>x = t \cos(t), y = t \sin(t)</math> im Intervall <math>[0, 6\pi]</math> gezeichnet werden.
clear;
close all;
clc;
t = 0 : .1: 6*pi;
x = t .* cos(t);
y = t .* sin(t);
plot(x,y);
grid on;
[[Datei:octave_spirale1.jpg]]
Diese Darstellung erscheint verzerrt. Will man gleiche Achsenskalierungen, so kann man den axis-Befehl verwenden (axis muss nach plot erscheinen).
t = 0 : .1: 6*pi;
x = t .* cos(t);
y = t .* sin(t);
plot(x,y);
grid on;
axis equal;
[[Datei:octave_spirale222.jpg]]
=== Strichstärke ===
Für manche Zwecke ist es sinnvoll die Strichstärke des Graphen zu erhöhen. Dies kann über den Parameter "LineWidth" der plot-Funktion geschehen.
t = 0 : .1: 6*pi;
x = t .* cos(t);
y = t .* sin(t);
plot(x,y, "LineWidth", 2);
grid on;
axis equal;
Ausgabe:
[[Datei:octave_spirale3.jpg]]
=== Beliebigen Text ausgeben ===
x = -10:0.1:10;
plot (x, sin (x), "LineWidth", 2);
text (2.7, 0.8, "Das ist die sin-Funktion");
Ausgabe:
[[Datei:octave_text1.jpg]]
=== Logarithmische Achseneinteilung ===
x = -3 : .1: 3;
y = cosh(x) + 2.^x;
% Halblogarithmische Darstellung
semilogy(x,y);
grid on;
Ausgabe:
[[Datei:octave_semilog1.jpg]]
Auch die x-Achse kann mit "semilogx" logarithmisch skaliert werden. Mit "loglog" werden beide Achsen logarithmisch skaliert.
=== Aufgaben ===
* Zeichnen Sie die Strophoide <math>x = \frac{a(t^2-1)}{t^2+1}, y = \frac{at(t^2-1)}{t^2+1}, a = 2, -3 \leq t \leq 3</math>. Das Ganze sollte in etwa so aussehen wie folgende Grafik:
[[Datei:octave_strophoide.jpg]]
* Zeichnen Sie die verschlungene Hypozykloide <math>x = (R-r)\cos t + c\cos\frac{R-r}{r}t, y = (R-r)\sin t - c\sin\frac{R-r}{r}t, c = 3, r = 2, R = 6, -15 \leq t \leq 15</math>. Das Ganze sollte in etwa so aussehen wie folgende Grafik:
[[Datei:octave_hypozykloide.jpg]]
* Testen Sie bei den obigen Übungsaufgaben verschiedene Linienstile und Farben (Hinweis: Siehe dazu auch die Octave-Hilfefunktion für den plot-Befehl).
* Testen Sie bei den obigen Übungsaufgaben verschiedene Werte für a, c, r und R.
* Erkunden Sie in der Octave-Hilfe den ezplot-Befehl.
== 3D ==
=== Räumliche Kurven ===
Mittels "plot3" lassen sich Raumkurven zeichnen.
t = 0 : .1 : 9*pi;
x = cos(t);
y = sin(t);
z = 1.3 .^ t;
plot3(x,y,z);
grid on;
[[Datei:octave_raumkurve1.jpg]]
=== Flächen ===
==== ezsurf ====
Die wahrscheinlich einfachste Möglichkeit 3D-Flächen zu erzeugen, besteht in der Verwendung des ezsurf-Befehls. Beachten Sie beim folgenden Beispiel auch wieder den Punkt beim Multiplikationssymbol (elementweise Multiplikation soll verwendet werden, keine Matrizenmultiplikation) in der anonymen Funktion. Was eine anonyme Funktion ist, wird weiter hinten in diesem Text kurz erklärt. Fürs Erste reicht es zu wissen, dass die Funktion f(x, y) jeweils im Intervall [0, 10] gezeichnet werden soll.
clear; close all; clc; clf;
f = @(x, y) sin(x) + 3.*cos(y);
ezsurf (f, [0, 10]);
[[Bild:octave_ezsurf1.jpg|600px]]
Dieses Bild wurde mit der Octave-Version 5.2 erstellt. Es ist im Prinzip identisch zu jenen des folgenden Abschnitts, die mit der Version 3.0.3 erstellt wurden, nur die Farbschattierung ist anders. Ändern lässt sich diese Eigenschaft mit dem colormap-Befehl (siehe auch Octave-Hilfe):
clear; close all; clc; clf;
colormap(hot);
f = @(x, y) sin(x) + 3.*cos(y);
ezsurf (f, [0, 10]);
[[Bild:octave_colormap_hot.jpg|600px]]
==== surf und mesh ====
Für das Zeichnen von Flächen existiert der surf-Befehl. Der meshgrid-Befehl kreiert ein Netz in der xy-Zeichenebene. Beachten Sie beim folgenden Beispiel auch wieder den Punkt beim Multiplikationssymbol der Formel für z.
x = 0 : .1 : 10;
y = 0 : .1 : 10;
[x_grid, y_grid] = meshgrid(x, y);
z = sin(x_grid) + 3.*cos(y_grid);
surf(x_grid, y_grid, z);
[[Datei:octave_flaeche1.jpg]]
Auch ein Farbstreifen kann via "colorbar" zur Grafik hinzugefügt werden.
x = 0 : .1 : 10;
y = 0 : .1 : 10;
[x_grid, y_grid] = meshgrid(x, y);
z = sin(x_grid) + 3.*cos(y_grid);
surf(x_grid, y_grid, z);
colorbar("East");
[[Datei:octave_flaeche2.jpg]]
Das Ganze in Netzdarstellung läßt sich so programmieren:
x = 0 : .2 : 10;
y = 0 : .2 : 10;
[x_grid, y_grid] = meshgrid(x, y);
z = sin(x_grid) + 3.*cos(y_grid);
mesh(x_grid, y_grid, z);
Ausgabe:
[[Datei:octave_mesh1.jpg]]
==== Ellipsoide und Kegel ====
Für das Zeichnen von Kugeln oder Ellipsoiden stellt Octave den "sphere"-Befehl bzw. den "ellipsoid"-Befehl zur Verfügung.
clear; close all; clc;
% Ellipsoiden zeichnen
[x, y, z] = sphere(30);
surf(5*x, 4*y, 3*z);
hold on;
[x, y, z] = ellipsoid(5, 5, 5, 6, 3, 2, 30);
surf(x, y, z);
axis equal;
[[Bild:octave_ellipsoid2.jpg|600px]]
Für Zylinder und Kegel ist der "cylinder"-Befehl zuständig.
clear; close all; clc;
% Kegel und Zylinder zeichnen
[x, y, z] = cylinder([1 2], 100);
surf(x, y, z*3);
hold on;
[x, y, z] = cylinder([0.5 0.5], 50);
surf(x+3, y, z*2);
axis equal;
[[Bild:octave_cylinder2.jpg|600px]]
=== Aufgaben ===
* Zeichnen Sie die räumliche Kurve <math>x = 2 \cdot \cosh(t)</math>, <math>y = 5 \cdot \sin(t)</math>, <math> z = t^{2} - t</math>, <math>0 \leq t \leq 3\pi</math>. Das Ganze sollte etwa wie folgt aussehen:
[[Datei:octave_kurve10.jpg]]
* Zeichnen Sie die Fläche <math>z = \log(x) + \cos(y)</math>. Das Ganze sollte etwa wie folgt aussehen:
[[Datei:octave_flaeche10.jpg]]
== Weiteres ==
=== subplot ===
Zeichnen mit Untergrafiken: Hier wird z.B. ein Fenster mit drei Untergrafiken gezeichnet.
Eingabe:
t = 0 : .5 : 10;
[x_grid, y_grid] = meshgrid(t, t);
subplot(311);
surf(x_grid, y_grid, sin(x_grid) + cos(y_grid) );
subplot(312);
surf(x_grid, y_grid, sin(x_grid) + log(y_grid) );
subplot(313);
surf(x_grid, y_grid, x_grid + cos(y_grid) );
Ausgabe:
[[Datei:octave_subplot2.jpg]]
Die dreistellige Ziffer beim subplot-Befehl bedeutet folgendes:
* Die erste Ziffer ist die Zeilenanzahl
* Die zweite Ziffer ist die Reihenanzahl und
* Die dritte Ziffer ist der Index.
Nun sei ein Beispiel mit 3x2-Untergrafiken angeführt.
clear;
close all;
clc;
x = 0 : .1 : 10;
subplot(321);
plot(x, sin(x));
text(2, -0.5, "Index 1");
subplot(322);
plot(x, tan(x));
text(2, 2, "Index 2");
subplot(323);
plot(x, cosh(x) );
text(2, 3000, "Index 3");
subplot(324);
plot(x, gamma(x) )
text(2, 100000, "Index 4");
subplot(325);
plot(x, log(x) );
text(2, 0, "Index 5");
subplot(326);
plot(x, exp(x) );
text(2, 10000, "Index 6");
Ausgabe:
[[Datei:octave_subplot3.jpg]]
Hier ist sehr gut zu sehen, in welcher Reihenfolge der Index läuft.
=== figure ===
Zeichnen in verschiedene Fenster, z.B.
clear;
close all;
clc;
x = 0 : .1 : 10;
y = 0 : .1 : 10;
[x_grid, y_grid] = meshgrid(x, y);
figure(1)
surf(x_grid, y_grid, sin(x_grid) + cos(y_grid));
figure(2)
surf(x_grid, y_grid, sin(x_grid) + log(y_grid));
Ausgabe:
[[Datei:octave_figure111.jpg|700px]]
=== Linien zeichnen ===
Zeichnen Sie eine Linie von der Koordinate [-15, 0] zu [15, 5]:
clear;
close all;
clc;
x = line([-15 15], [0, 5], "Color", "black", "LineWidth", 2);
Ausgabe:
[[Datei:octave_linie1.jpg]]
Man beachte, dass Octave nicht Punkte P1(x1, y1), P2(x2, y2) erwartet, sondern einen x-Vektor [x1 x2] und einen y-Vektor [y1 y2].
Ein allgemeines Viereck wird z.B. mit folgendem Befehl gezeichnet.
line([-15 15 10 -5, -15], [0, 5, 20, 15, 0], "LineWidth", 2);
[[Datei:octave_viereck2.jpg]]
Auch dreidimensionale Formen lassen sich mit dem line-Befehl zeichnen:
clear; close all; clc;
line([-15 15 10 -5, -15], [0, 5, 20, 15, 0], [10, 20, 30, 40, 50], "LineWidth", 2);
[[Datei:octave_dreidim2.jpg]]
=== Aufgaben ===
* Zeichnen Sie mittels "subplot" die Funktionsgrafen <math>y_1=\tan(x), y_2=\tan(2x), y_3=\tan\sqrt x, y_4=x\cdot \tan(x)</math> in folgender Form in ein Fenster:
** in 2x2-Darstellung
** in 1x4-Darstellung.
* Zeichnen Sie die im obigen Beispiel angegebenen Funktionsgrafen mittels "figure" jeweils in ein eigenes Fenster.
= Vektoren und Matrizen =
== Vektoren ==
Vektoren sollten jedem aus der Linearen Algebra bekannt sein.
=== Zeilen- und Spaltenvektoren ===
% Ein Zeilenvektor
v1 = [1, 2, 3]
% Ein Spaltenvektor
v2 = [6; 7; 8]
Ausgabe:
v1 =
1 2 3
v2 =
6
7
8
Alternative Schreibweisen:
% Ein Zeilenvektor
v1 = [1 2 3]
% Ein Spaltenvektor
v2 = [6
7
8]
Die Ausgabe entspricht der obigen Darstellung.
=== Zugriff auf Vektorelemente ===
Nachfolgend seien einige Zugriffsmöglichkeiten auf die einzelnen Vektorelemente erläutert.
Auf ein einzelnes Element kann via Index zugegriffen werden. Der Index startet bei 1:
v1 = [1 2 4 8 16];
v2 = v1(3)
Ausgabe:
v2 = 4
Mehrere Elemente werden folgendermaßen angesprochen:
v1 = [1 2 4 8 16];
v2 = v1(3:4)
Ausgabe:
v2 =
4 8
Liefere den Teilvektor von einem gegebenen Index bis zum letzten Element:
v1 = [1 2 4 8 16];
v2 = v1(3:end)
Ausgabe:
v2 =
4 8 16
=== Addition und Subtraktion von Vektoren ===
v1 = [1, 2, 3];
v2 = [5, 7, 9];
res = v1 + v2
res = v1 - v2
Ausgabe:
res =
6 9 12
res =
-4 -5 -6
=== Multiplikation mit Skalaren ===
faktor = 3;
v = [1, 2, 3];
res = faktor * v
Ausgabe:
res =
3 6 9
=== Skalarprodukt ===
Das Skalarprodukt ist bekanntermaßen als <math>v_1 \cdot v_2 = |v_1| |v_2| \cos(\angle(v_1, v_2))</math> definiert. In Octave sieht das so aus:
v1 = [1, 2, 3];
v2 = [5, 6, 7];
res = dot(v1, v2)
Ausgabe:
res = 38
=== Vektorprodukt ===
v1 = [1, 2, 3];
v2 = [5, 6, 7];
res = cross(v1, v2)
Ausgabe:
res =
-4 8 -4
Enger an die mathematische Darstellung lehnt sich folgender Code an. Die zu multiplizierenden Vektoren seien in Form von Spaltenvektoren gegeben.
Mathematisch:
<math>a\ast b=\left(\begin{array}{c}
a_{1}\\
a_{2}\\
a_{3}
\end{array}\right)\ast\left(\begin{array}{c}
b_{1}\\
b_{2}\\
b_{3}
\end{array}\right)=\left(\begin{array}{c}
a_{2}b_{3}-a_{3}b_{2}\\
a_{3}b_{1}-a_{1}b_{3}\\
a_{1}b_{2}-a_{2}b_{1}
\end{array}\right)
</math>
Octave-Code:
a = [1
2
3];
b = [5
6
7];
res = cross(a, b)
Ausgabe:
res =
-4
8
-4
=== Transponierter Vektor ===
v1 = [1, 2, 3];
v2 = [5; 6; 7];
res1 = v1'
res2 = v2'
Ausgabe:
res1 =
1
2
3
res2 =
5 6 7
=== Einige weitere Vektorfunktionen ===
Beispiel:
% 1 + 2 + 3
v = [1 2 3];
sum(v)
Ausgabe:
ans = 6
Beispiel:
% 1 * 2 * 3 * 4
v = [1 2 3 4];
prod(v)
Ausgabe:
ans = 24
Beispiel:
% 1^2 + 2^2 + 3^2
v = [1 2 3];
sumsq (v)
Ausgabe:
ans = 14
== Matrizen ==
Gegeben sei folgende 2x3-Matrix <math>m=\left(\begin{array}{ccc}
1 & 2 & 3\\
4 & 5 & 6
\end{array}\right)</math>.
Eingabe:
m = [1, 2, 3; 4, 5, 6]
Ausgabe:
m =
1 2 3
4 5 6
Alternativ und anschaulicher kann diese 2x3-Matrix auch so eingegeben werden:
m = [1 2 3
4 5 6]
Dies ist schon sehr nahe an der mathematischen Darstellungsweise.
=== Zugriff auf Matrizenelemente ===
m = [1 2 3
4 5 6];
% Element aus Zeile 2 und Spalte 3
m(2,3)
Ausgabe:
ans = 6
Eine andere Zugriffsmöglichkeit ist diese:
m = [1 2 3
4 5 6];
% Auf das fünfte Element soll zugegriffen werden
m(5)
Ausgabe:
ans = 3
Die Matrix wird also spaltenweise durchlaufen (nicht zeilenweise). Dies ist vielleicht auf den ersten Blick etwas ungewöhnlich, wird aber z.B. auch in Fortran so gehandhabt.
Auch Teilmatrizen können einfach gebildet werden:
m = [1 2 3
4 5 6];
m(2:end, 2:end)
Ausgabe:
ans =
5 6
Siehe zu diesem Thema auch etwas weiter hinten in diesem Text den Abschnitt "Teilmatrizen".
=== Addition und Subtraktion von Matrizen ===
m1 = [1, 2, 3; 4, 5, 6];
m2 = [-4, -2, 0; 2, 4, 6];
m1 + m2
m1 - m2
Ausgabe:
ans =
-3 0 3
6 9 12
ans =
5 4 3
2 1 0
=== Transponierte Matrix ===
m = [1, 2, 3; 4, 5, 6];
m'
Ausgabe:
ans =
1 4
2 5
3 6
=== Rang einer Matrix ===
Der Rang einer Matrix Rg(M) ist die maximale Anzahl der linear unabhängigen Zeilenvektoren (Spaltenvektoren).
m1 = [1, 2, 3; 4, 5, 6];
m2 = [1, 2; 2, 4];
rank(m1)
rank(m2)
Ausgabe:
ans = 2
ans = 1
Regulär ist eine nxn-Matrix, wenn der Rg(M) = n. D.h. die erste Matrix m1 ist regulär, die zweite m2 singulär.
=== Inverse Matrix ===
m1 = [1, 3; 0, -5 ];
m2 = [1, 2; 2, 4];
inv(m1)
inv(m2)
Ausgabe:
ans =
1.00000 0.60000
0.00000 -0.20000
warning: matrix singular to machine precision
warning: called from
test1 at line 4 column 1
ans =
Inf Inf
Inf Inf
Die Matrix m2 in diesem Beispiel ist singulär (d.h. die Determinante ist 0). Determinanten werden etwas weiter unten in diesem Text behandelt. Inf steht für Infinity (= Unendlich).
=== Multiplikation von Matrizen (falksches Schema) ===
m1 = [1, 3, 4; 0, -5, 1];
m2 = [1, 2; 2, 3; 0, 2];
m1 * m2
Ausgabe:
ans =
7 19
-10 -13
Will man aus irgendwelchen Gründen nicht das falksche Schema ausführen, sondern elementweise Multiplikation, so funktioniert das mit dem Punkt-Operator, z.B.
m1 = [1, 3; 0, -5];
m2 = [1, 2; 4, 2];
% falksches Schema
m1 * m2
% elementweise Multiplikation
m1 .* m2
Ausgabe:
ans =
13 8
-20 -10
ans =
1 6
0 -10
Verifikation, falksches Schema (Zeile*Spalte):
[ 1 3 ] [ 1 2 ] [ 1*1+3*4 1*2+3*2 ] [ 13 8 ]
[ 0 -5 ] [ 4 2 ] = [ 0*1-4*5 0*2-5*2 ] = [ -20 -10 ]
Verifikation, elementweise Multiplikation (homologe Elemente):
[ 1 3 ] [ 1 2 ] [ 1*1 3*2 ] [ 1 6 ]
[ 0 -5 ] [ 4 2 ] = [ 0*4 -5*2 ] = [ 0 -10 ]
=== Determinante einer Matrix ===
m1 = [1, 3; 0, -5 ];
m2 = [1, 2; 2, 4];
det(m1)
det(m2)
Ausgabe:
ans = -5
ans = 0
m1 ist regulär, m2 ist singulär. Determinanten können nur von quadratischen Matrizen gebildet werden.
=== Teilmatrizen ===
m = [1, 2, 3; 0, 5, 1];
% Die Matrix in einen Spaltenvektor umwandeln
m1 = m(:)
% Das Element aus der 1. Zeile und der 2. Spalte extrahieren
m2 = m(1,2)
% Erste Zeile extrahieren
m3 = m(1, 1:3)
m4 = m(1, :)
% Zweite Spalte extrahieren
m5 = m(1:2, 2)
m6 = m(:, 2)
Ausgabe:
m1 =
1
0
2
5
3
1
m2 = 2
m3 =
1 2 3
m4 =
1 2 3
m5 =
2
5
m6 =
2
5
=== Einheitsmatrizen ===
eye(3,2)
Ausgabe:
ans =
1 0
0 1
0 0
=== Nullmatrizen ===
zeros(2,3)
Ausgabe:
ans =
0 0 0
0 0 0
=== Diagonalmatrizen ===
diag([1, 2, 3])
Ausgabe:
ans =
1 0 0
0 2 0
0 0 3
=== Spur einer Matrix ===
trace([1,2,3; 6,9, 0])
Ausgabe:
ans = 10
=== LR-Zerlegung einer Matrix ===
Führen Sie die LR-Faktorisierung (LR ... links/rechts bzw. LU ... left/upper) einer Matrix m aus. l sei die linke Dreiecksmatrix, r die rechte Dreiecksmatrix und p die Permutationsmatrix
m = [1 0 5
-1 1 -2
0 0 3];
[l, r, p] = lu(m)
Ausgabe:
l =
1 0 0
-1 1 0
0 0 1
r =
1 0 5
0 1 3
0 0 3
p =
1 0 0
0 1 0
0 0 1
=== Eigenwerte ===
a = [5 8
1 3];
% Eigenvektoren und Eigenwerte
[ev, ew] = eig(a)
Ausgabe:
ev =
0.9701 -0.8944
0.2425 0.4472
ew =
Diagonal Matrix
7 0
0 1
Die Eigenwerte sind hier <math>\lambda_1 = 7</math> und <math>\lambda_2 = 1</math>. Die Eigenvektoren sind [0.9701 0.2425] bzw. [-0.8944 0.4472]. Da das Gleichungssystem <math>(A - \lambda_i E) x_i = 0</math> singulär ist, sind alle Lösungsvektoren Vielfache dieser Eigenvektoren.
=== Schwach besetzte Matrizen ===
{{Wikipedia | Dünnbesetzte Matrix}}
Gegeben sei die schwach besetzte Matrix
m = [0 1 0 0 0
0 0 0 3 0
4 0 0 2 0
0 0 1 0 0
0 0 0 1 7]
Mittels dem sparse-Befehl kann man einfach die Elemente != 0 nach folgendem Schema eingeben.
sparse ([zeilenindizes] [spaltenindizes] [werte])
also in unserem Fall:
ms = sparse([1 2 3 3 4 5 5], [2 4 1 4 3 4 5], [1 3 4 2 1 1 7])
Ausgabe:
ms =
Compressed Column Sparse (rows = 5, cols = 5, nnz = 7)
(3, 1) -> 4
(1, 2) -> 1
(4, 3) -> 1
(2, 4) -> 3
(3, 4) -> 2
(5, 4) -> 1
(5, 5) -> 7
Die volle Matrix erhält man mit dem Befehl full:
m = full(ms)
Ausgabe:
m =
0 1 0 0 0
0 0 0 3 0
4 0 0 2 0
0 0 1 0 0
0 0 0 1 7
Grafisch anzeigen lassen kann man sich die Besetzung von Matrizen mit dem spy-Befehl:
spy(ms);
oder (für allgemeine Matrizen auch mittels)
spy(m);
Ausgabe:
[[Datei:octave_sparse1.jpg]]
Wirklich interessant ist der spy-Befehl für größere Matrizen, z.B. um die Bandstruktur zu visualisieren.
e = eye(200);
es = sparse(e);
% Auf sparse-Matrizen kann genauso zugegriffen werden wie auf normalen Matrizen
es(100, 15) = 100;
spy(es);
Ausgabe:
[[Datei:octave_sparse2.jpg]]
=== Matrizen mit Zufallswerten ===
Insbesondere für Testzwecke kann es manchmal sinnvoll sein größere Matrizen mit Zufallswerten zu bilden. Dazu stellt Octave u.a. den rand-Befehl zur Verfügung.
m = rand(5, 6)
Ausgabe:
m =
0.86605 0.61108 0.71347 0.97119 0.52428 0.21993
0.74059 0.49062 0.56073 0.68592 0.74737 0.62680
0.20790 0.84874 0.36834 0.31102 0.25813 0.28933
0.84732 0.98777 0.91512 0.42240 0.87891 0.63757
0.76823 0.80367 0.24639 0.78208 0.77170 0.95281
Die Zufallszahlen liegen gleichverteilt zwischen 0 und 1 und werden nach dem Mersenne-Twister-Verfahren mit einer Periode von <math>2^{19937}-1</math> gebildet.
Andere Verfahren sind:
* randn: Normalverteilte Pseudozufallselemente mit Mittelwert=0 und Varianz=1
* rande: Exponentialverteilte Zufallselemente
* randg: Gammaverteilte Zufallselemente
* randp: Poissonverteilte Zufallselemente
Details dazu siehe in der Octave-Hilfefunktion.
== Aufgaben ==
* Berechnen Sie den Winkel zwischen den beiden Vektoren a = [1 2 0] und b = [2 1 1]. Hinweis: Siehe diesbezüglich auch im Oktave-Hilfesystem den Befehl "norm".
* Gegeben seien Vektoren a = [1 2 5], b = [0 0 -1] und c = [-1 -2 2]. Berechnen Sie das Spatprodukt aus diesen drei Vektoren.
* Multiplizieren Sie die beiden Matrizen A und B (mit Octave und zur Kontrolle händisch)
A = [0 0 1
1 2 1]
B = [1 1
1 2
0 4]
* Ist die Matrix C regulär? Wenn ja, dann bilden Sie die inverse Matrix.
C = [-1 0 0 -4
2 0 1 5
7 6 2 0
3 0 2 6]
* Ist die Matrix D regulär? Wenn ja, dann bilden Sie die inverse Matrix.
D = [2 1 0 0
0 0 2 1
0 0 0 2
1 1 0 0]
* Berechnen Sie die Konditionszahl der folgenden Matrix. Hinweis: Siehe diesbezüglich im Oktave-Hilfesystem den Befehl cond
[3 4 -5
6 0 3
1 1 2]
* Berechnen Sie die Eigenwerte und Eigenvektoren der folgenden Matrix
[6 -3 4 0
0 7 -1 1
0 10 -3 -2
0 1 -2 1]
= Komplexe Zahlen =
Die imaginäre Einheit wird in Octave durch den Buchstaben i, j, I oder J symbolisiert. Darstellen kann man eine komplexe Zahl bekannterweise in mehreren Formen:
* Kartesische Darstellung <math>z = \Re(z) + i \cdot \Im(z)</math>
* Polardarstellungen <math>z = r \cdot (\cos(\phi) + i \cdot \sin(\phi)) = r \cdot e^{i\cdot \phi}</math>
Die konjugiert komplexe Zahl ist <math>z^* = \Re(z) - i \cdot \Im(z)</math>
== Mit komplexen Zahlen rechnen ==
z1 = 2 + 5i; % kartesische Darstellung
z2 = 3 * exp(3j); % Polardarstellung
% Addition
res = z1 + z2;
disp("z1 + z2 = "); disp(res);
% Multiplikation
res = z1 * z2;
disp("z1 * z2 = "); disp(res);
% Realteil
res = real(z2);
disp("Realteil von z2 = "); disp(res);
% Imaginärteil
res = imag(z2);
disp("Imaginaerteil von z2 = "); disp(res);
% Betrag
res = abs(z1);
disp("Betrag von z1 = "); disp(res);
% Argument
res = angle(z1);
disp("Argument von z1 = "); disp(res);
% Konjugiert komplexe Zahl
res = conj(z1);
disp("Konjugiert komplexe Zahl von z1 = "); disp(res);
Ausgabe:
z1 + z2 =
-0.96998 + 5.42336i
z1 * z2 =
-8.0568 - 14.0032i
Realteil von z2 =
-2.9700
Imaginaerteil von z2 =
0.42336
Betrag von z1 =
5.3852
Argument von z1 =
1.1903
Konjugiert komplexe Zahl von z1 =
2 - 5i
== Die gaußsche Zahlenebene ==
clear; close all; clc;
z1 = 3 + 5i;
z2 = 5 * exp(0.5i);
hold on;
plot(z1, "*");
compass(z1);
plot(z2, "o");
compass(z2);
grid on;
[[Datei:octave_komplex1.jpg]]
== Aufgaben ==
* Berechnen Sie die Quadratwurzel der komplexen Zahl <math>z = 3 + 2i</math>.
* Verwandeln Sie folgende Zahlen in die Polarkoordinatendarstellung: <math>-11 - 3i</math> und <math>(1+i)^{10}</math>
* Verwandeln Sie folgende Zahlen in die Normaldarstellung: <math>12 \cdot e^{i\cdot \pi / 4}</math> und <math>3 \cdot (\cos(\pi / 3) + i \cdot \sin(\pi / 3))</math>
* Zeichnen Sie die Zahl <math>3 + 5i</math> in der gaußschen Zahlenebene als Zeiger.
= Funktionen =
Um Programme zu strukturieren und einfacher zu gestalten können Programmteile in Funktionen ausgelagert werden. Eingebaute Funktionen haben wir schon kennengelernt (z.B. die Sinus-Funktion sin). Nun wollen wir sehen, wie man selbst solche Funktionen schreiben kann.
== Eine einfache Funktion schreiben ==
Datei addiere.m:
function res = addiere(a, b)
% Addiere zwei Zahlen a + b
res = a + b;
end
Datei test1.m:
addiere(10, 15)
Ausgabe:
ans = 25
* Jede Funktion sollte in einer eigenen m-Datei stehen.
* Der Dateiname sollte mit dem Funktionsnamen (natürlich ohne Dateiendung .m) übereinstimmen.
* Der Kommentar unter dem Funktionskopf wird als Hilfstext angezeigt, wenn die help-Funktion (hier "help addiere") aufgerufen wird.
== Inline-Funktionen ==
Kurze Funktionen können auch als Inline-Funktionen geschrieben werden.
addiere = inline("a + b");
x = 5;
y = 10;
z = addiere(x, y)
Oder in diesem Fall noch kürzer
addiere = inline("a + b");
z = addiere(5, 10)
Ausgabe:
z = 15
Bei neueren Octave-Versionen kann bei der Verwendung von Inline-Funktionen die Warnung
warning: inline is obsolete; use anonymous functions instead
erscheinen. Ein Blick in die Hilfe-Funktion
help inline
zeigt das selbe Ergebnis. Es sollen also anonyme Funktionen (siehe etwas weiter unten in diesem Text) anstelle von Inline-Funktionen verwendet werden.
== Funktionsstring ==
addiere = "a + b";
a = 5;
b = 10;
z = eval(addiere)
Ausgabe:
z = 15
== Anonyme Funktionen ==
{{Wikipedia | Anonyme Funktion}}
addiere = @(a, b) a + b;
x = 10;
y = 20;
z = addiere(x, y)
oder kürzer
addiere = @(a, b) a + b;
z = addiere(10, 20)
Ausgabe:
z = 30
== Nullstellen von Funktionen bestimmen ==
sinh2 = @(x) sinh(x) + 2;
z = fzero(sinh2, 1)
Ausgabe:
z = -1.4436
Zur Kontrolle soll hier der Graph der Funktion dargestellt werden
clear;
close all;
clc;
sinh2 = @(x) sinh(x) + 2;
x = -2 : 0.1 : 0;
y = sinh2(x);
z = fzero(sinh2, 1)
plot(x, y);
hold on;
plot(z, 0, "o", "Color", "red", "LineWidth", 2);
text (-1.8, 0.8, "Nullstelle");
line([z -1.7], [0, .7], "Color", "black");
grid on;
Ausgabe:
[[Datei:octave_funktion5.jpg]]
Weiter unten im Text wird die ähnliche Funktion "fsolve" beschrieben. "fzero" benutzt zwei verschiedene Funktionen zur Problemlösung, darunter eben auch "fsolve".
Für die Nullstellenbestimmung von Polynomen gibt es die Funktion "roots". Näheres dazu folgt im nächsten Kapitel.
== Globale Variablen ==
Datei addiere.m:
function res = addiere()
global a b;
res = a + b;
end
Datei test1.m:
clear;
close all;
clc;
global a b;
a = 5;
b = 3;
addiere()
Ausgabe:
ans = 8
== Aufgaben ==
* Schreiben Sie eine Funktion "ellipse", welche eine Ellipse am Bildschirm darstellt. Zur Erinnerung: Die Parameterdarstellung der Ellipse lautet <math>x = a\cdot\cos(t), y = b\cdot\sin(t), 0 \leq t \leq 2\pi</math>, Funktionsargumente seien a und b.
* Schreiben Sie <math>y = 2\cdot\sin(x) + 3\cdot\cos(x/2)</math>
** als normale Funktion
** als Funktionsstring
** als Inlinefunktion
** als anonyme Funktion
** stellen Sie diese Funktion grafisch am Bildschirm dar.
= Polynome =
== Einzelne Polynomwerte berechnen ==
% y = 2*x^3 + 5*x^2 + 4 für x = 2 berechnen
p = [2, 5, 0, 4];
polyval(p, 2)
Ausgabe:
ans = 40
== Polynome zeichnen ==
% y = 2*x^3 - 5*x^2 + 4 für das Intervall -5 <= x <= 5 grafisch darstellen
x = -5 : .1 : 5;
p = [2, 5, 0, 4];
y = polyval(p, x);
plot(x,y);
grid on;
Ausgabe:
[[Datei:octave_polynom1.jpg]]
== Nullstellen bestimmen ==
Für Polynome existiert die Funktion "roots" zur Nullstellenbestimmung.
% Nullstellen für y = 2*x^3 - 5*x^2 + 4 bestimmen
p = [2, 5, 0, 4];
r = roots(p)
Ausgabe:
r =
-2.76214 + 0.00000i
0.13107 + 0.84077i
0.13107 - 0.84077i
Dieses Polynom hat nur eine reelle Nullstelle. Diese liegt, wie am obigen Grafen zu ersehen ist, in der Nähe von -2.762. Die beiden anderen Nullstellen sind konjugiert komplex zueinander (wie es auch sein sollte).
== Aufgaben ==
* Berechnen Sie den Wert für x = 3 des Polynoms <math>y = 2x^4 - 3x^3 - x + 7</math>.
* Berechnen Sie die Nullstellen von <math>y = 7x^5 - 3x^2 + 12</math>.
* Zeichnen Sie das Polynom <math>y = 12x^4 - 70x</math> im Intervall <math>-5 \leq x \leq 5</math>.
= Lineare Gleichungssysteme =
Sei <math>Ax = b</math> ein lineares Gleichungssystem. <math>A</math> sei die Koeffizientenmatrix, <math>x</math> der Lösungsvektor und <math>b</math> ein bekannter Vektor.
== Einfache Berechnung mittels Gauß-Verfahren ==
{{Wikipedia | Gaußsches Eliminationsverfahren}}
Beispiel:
A = [5 1
0 2];
b = [1
2];
x = A \ b
Ausgabe:
x =
0
1
== Das gmres-Verfahren ==
gmres steht für Generalized Minimal Residual.
{{Wikipedia | GMRES-Verfahren}}
A = [5 1
0 2];
b = [1
2];
x = gmres(A, b)
Ausgabe:
gmres converged at iteration 2 to a solution with relative residual 2.22045e-16
x =
-1.6653e-16
1.0000e+00
Das Ergebnis weicht etwas vom gaußschen Verfahren ab, ist aber trotzdem im Rahmen der Näherung korrekt.
Weiters kennt Octave noch andere iterative Verfahren, z.B. cgs (Conjugate Gradient Squared) oder bicgstab (Bi-Conjugate Gradient Stabilized). Näheres zu diesen Verfahren siehe in der weiterführenden Literatur (z.B. bei Meister: Numerik linearer Gleichungssysteme, Vieweg+Teubner, 2011)
{{Wikipedia | CGS-Verfahren}}
== Aufgabe ==
* Lösen Sie folgendes Gleichungssystem mittels Octave (und zur Kontrolle auch händisch):
5x + 6y - 2z = 12
3x - y - 3z = 6
2x + 2y + 4z = 5
= Nichtlineare Gleichungssysteme =
== fsolve und fzero ==
Löse eine beliebige Gleichung f(x) = 0, z.B. <math> f(x) = x^2 - 5\cos(x) - 10 = 0 </math>:
f = @(x) x^2 - 5*cos(x) - 10;
xstart = 1;
[x, fval, info] = fsolve(f, xstart)
Ausgabe:
x = 2.4681
fval = -1.7764e-015
info = 1
* x ist eine Nullstelle in der Nähe vom Startwert xstart.
* fval ist die Abweichung, den f bei x aufweist.
* info ist ein "Fehlercode": 1 bedeutet, dass der relative Fehler in der spezifizierten Toleranz liegt (wie es sein soll). 3 würde bedeuten, dass der Algorithmus nicht konvergiert (z.B. weil keine Nullstelle existiert).
Zur Kontrolle plotten wir den Funktionsgraphen:
x = - 1 : .1 : 3;
y = x.^2 - 5.*cos(x) - 10;
plot(x,y, "LineWidth", 2);
grid on;
Ausgabe:
[[Datei:octave_nichtlin1.jpg]]
Und siehe da, die gesuchte Nullstelle liegt wie berechnet bei einem Wert nahe 2,5. Die Funktion <math>x^2 - 5\cos(x) - 10</math> hat noch eine zweite Nullstelle, wie in der folgenden Abbildung zu erkennen ist.
[[Datei:octave_nichtlin2.jpg]]
Diese zweite Nullstelle erhalten wir, wenn der Startwert in der Nähe dieser zweiten Nullstelle liegt, also z.B. bei -1. Ändern Sie einfach den entsprechenden Startwert im obigen Programmcode, und das Programm sollte die Nullstelle in der Nähe von -2.5 liefern.
Auch die Funktion ''fzero'' kann zur Lösung einer nichtlinearen Gleichung verwendet werden. Die Hilfe-Funktion von Octave empfiehlt dies sogar eindringlich für den Fall einer nichtlinearen Gleichung in einer Variablen. Für das gleiche Beispiel wie oben kann der Programmcode folgendermaßen aussehen:
Eingabe:
f = @(x) x^2 - 5*cos(x) - 10;
[x0, y0] = fzero (f, [0, 3])
Ausgabe:
x0 = 2.4681
y0 = -1.2434e-14
== Gleichungssysteme ==
Folgende Aufgabe ist dem Buch "Knorrenschild: Numerische Mathematik, Hanser, 2017, Seite 72" entnommen. Zu lösen ist das nichtlineare Gleichungssystem
<math>f_1 = 2x_1 + 4x_2 = 0 </math>
<math>f_2 = 4x_1 + 8x_2^3 = 0</math>
Lösung:
f.m:
function y = f(x)
y(1) = 2*x(1) + 4*x(2);
y(2) = 4*x(1) + 8*x(2)^3;
end
test1.m:
clear;
close all;
clc;
[x, fval, info] = fsolve (@f, [0, 1])
[x, fval, info] = fsolve (@f, [0, -1])
[x, fval, info] = fsolve (@f, [0, 0])
Ausgabe:
x =
-2 1
fval =
0 7.4930e-09
info = 1
x =
2 -1
fval =
0 -7.4930e-09
info = 1
x =
0 0
fval =
0 0
info = 1
== Aufgaben ==
* Bestimmen Sie die Nullstellen von <math>f(x) = x^2 - 3</math>. Plotten Sie den Grafen.
* Bestimmen Sie die Nullstelle von <math>f(x) = sin(x) - x - 1</math>. Plotten Sie den Grafen.
* Lösen Sie das folgende Gleichungssystem (und stellen Sie das Ganze grafisch am Bildschirm dar): <math> f_1 = x_1 + x_2 = 0; f_2 = x_1 + \sin{x_2} = 0</math>
= Interpolation =
== Eindimensionale Interpolation ==
{{Wikipedia | Interpolation (Mathematik)}}
Bezüglich eindimensionaler Interpolation sei auf die [https://docs.octave.org/v11.1.0/One_002ddimensional-Interpolation.html Octave-Dokumentation und Hilfefunktion zum Befehl " interp1"] verwiesen. Dort findet sich auch ein Programmbeispiel, das als Grundlage des folgenden Plots dient:
[[Datei:octave_interpol1.jpg]]
== Mehrdimensionale Interpolation ==
Bezüglich mehrdimensionaler Interpolation siehe die [https://docs.octave.org/v11.1.0/Multi_002ddimensional-Interpolation.html Hilfefunktion zu "interp2", "interp3" und "interpn"].
== Aufgabe ==
* Gegeben seinen die fünf Stützpunkte p1 = [1, 0], p2 = [2, -5], p3 = [3, 2], p4 = [4, 7], p5 = [5, 6]. Legen Sie eine Funktion (die Interpolierende) durch diese Stützpunkte. Eine Lösungsmöglichkeit:
xp = [1 2 3 4 5];
yp = [0, -5, 2, 7, 6];
xf = 1 : .1 : 5;
spl = interp1(xp, yp, xf, "spline");
pch = interp1(xp, yp, xf, "pchip");
plot(xp, yp, "or", "LineWidth", 2, xf, spl, "LineWidth", 2, ...
xf, pch, "LineWidth", 2);
legend("stuetzpunkte", "spline", "pchip", "location", "southeast");
[[Datei:octave_interpol3.jpg]]
= Differenzialrechnung =
== Polynome differenzieren ==
Es soll das Polynom <math>y = 2x^3 - 5x^2 + 7</math> differenziert werden.
% Differenzieren des Polynoms y = 2*x^3 - 5*x^2 + 7
p = [2, -5, 0, 7];
polyder(p)
Ausgabe:
ans =
6 -10 0
D.h. also, die Ableitung von <math>y = 2x^3 - 5x^2 + 7</math> ist <math>y' = 6x^2 - 10x</math>.
== Sonstige Funktionen differenzieren ==
Als Beispiel differenzieren wir <math>y = 5x\sin{x}</math> und stellen das Ganze grafisch dar.
clear;
close all;
clc;
x = 0 : 0.01 : 10;
y = 5 .* x .* sin(x);
y_strich = diff(y) / 0.01;
plot(x, y, "Color", "red", "LineWidth", 2);
hold on;
plot(x(1:length(x)-1), y_strich, "Color", "blue", "LineWidth", 2);
legend("y", "y'");
grid on;
Ausgabe:
[[Datei:octave_diff1.jpg]]
diff(y) ist der Vektor aus den Differenzen y(2)-y(1), ..., y(n)-y(n-1). Für die genaue Arbeitsweise der diff-Funktion siehe "help diff".
== Aufgaben ==
* Differenzieren Sie das Polynom <math>y = 5y^5 - y^4 + 6y - 4</math>.
* Differenzieren Sie die Funktion <math>y = \log(x) + 10x</math> und stellen Sie y, sowie y' grafisch am Bildschirm dar.
* Differenzieren Sie die Funktion <math>y = \frac{\sinh(x)}{(1+x)}</math> und stellen Sie y, sowie y' grafisch am Bildschirm dar.
= Integralrechnung =
== Polynome integrieren ==
Berechnen Sie das unbestimmte Integral von <math>y = 2x^3 - 7x^2 + 7</math>
p = [2, -7, 0, 7];
p_int = polyint(p)
Ausgabe:
p_int =
0.50000 -2.33333 0.00000 7.00000 0.00000
Das Ergebnis lautet also <math>\int{y dx} = 0.5x^4 - 2.33333x^3 + 7x + C</math> (auf die Integrationskonstante C darf nicht vergessen werden!).
== Gauß-Quadratur ==
{{Wikipedia | Gauß-Quadratur}}
Berechnen Sie das Integral <math>\int_{0}^{3}x^2 dx</math> mittels Gauß-Quadratur.
Datei f.m:
function y = f(x)
y = x^2;
end
Datei test1.m:
[v, ier, nfun, err] = quad ("f", 0, 3)
Ausgabe:
v = 9.0000
ier = 0
nfun = 21
err = 9.9920e-014
Erläuterung zur Ausgabe:
* v ... Resultat der Integration
* ier ... integer error code
* nfun ... Anzahl der Funktionsaufrufe
* err ... Fehler in der Lösung
== Quadratur mittels adaptiver Lobatto-Regel ==
Berechnen Sie diesmal das Integral <math>\int_{0}^{3}x^2 dx</math> mittels Lobatto-Quadratur.
f = inline("x.^2");
v = quadl (f, 0, 3)
Ausgabe:
v = 9
Wie weiter oben bereits angesprochen kann bei der Ausgabe eine Warnung erfolgen. Inline-Funktionen sind inzwischen als obsolet erklärt und es sollen stattdessen anonyme Funktionen verwendet werden.
Zwecks Übung sei nachfolgend nochmals dieses Beispiel berechnet. Diesmal wird aber eine anonyme Funktion verwendet.
v = quadl (@(x) x.^2, 0, 3)
== Aufgaben ==
* Integrieren Sie das Polynom <math>y = 5y^5 - y4 + 6y - 4</math>.
* Integrieren Sie die Funktion <math>y = \log(x) + 10x</math> von -5 bis 5.
* Integrieren Sie die Funktion <math>y = x^3</math> von 0 bis 4. Verwenden Sie hierzu die Simpsonregel (siehe dazu in der Hilfefunktion den Befehl "quadv").
= Gewöhnliche Differenzialgleichungen =
== ode23, ode45 und lsode ==
Für die Lösung von Differenzialgleichungen stehen die Funktionen
* ode23
bzw.
* ode45
zur Verfügung. Diese Funktionen implementieren das Runge-Kutta-Verfahren. "ode" steht für "Ordinary Differential Equation" (also auf Deutsch für "Gewöhnliche Differentialgleichung"). Die Zahlen bei ode23 oder ode45 stehen für die Ordnung.
{{Wikipedia | Runge-Kutta-Verfahren}}
Beispiel <math>y' = x^2 + y^3</math>:
clear;
close all;
clc;
[x, y] = ode45(@(x,y) (x^2+y^3), [0 1], 0);
plot(x, y, "LineWidth", 2);
Ausgabe:
[[Datei:octave_ode1.jpg]]
Bezüglich der genauen Funktionsweise von "ode45" (oder "ode23") siehe die Octave-Hilfe.
Auch die Funktion "lsode" steht zur Lösung von ODEs zur Verfügung.
Beispiel <math>y' = x + y</math>:
clear;
close all;
clc;
t = 0 : .1 : 5;
[y2, istate, msg] = lsode(@(x,y) (x + y), 1, t);
istate
msg
plot(t, y2);
Ausgabe:
istate = 2
msg = successful exit
[[Datei:octave_lsode1.jpg]]
Bezüglich der genauen Funktionsweise von "lsode" siehe die Octave-Hilfe.
== Aufgaben ==
* Lösen Sie die Differenzialgleichung <math>y' = \frac{1}{x\cdot y}</math> mit Octave. Kontrollieren Sie das Ergebnis, indem Sie die DGl händisch lösen.
* Lösen Sie die Differenzialgleichung <math>m' = -k\cdot m</math>. Kontrollieren Sie das Ergebnis, indem Sie die DGl händisch lösen.
* Lösen Sie die Differenzialgleichung <math>y' = \sqrt{|y|}</math>.
= Die Fast-Fourier-Transformation =
{{Wikipedia | Schnelle Fourier-Transformation}}
Für die Funktion "fft" siehe das Octave-Hilfesystem.
= Mengenrechnung =
== Vereinigungsmenge ==
v1 = [1 2 3 4];
v2 = [2 4 6];
union(v1, v2)
Ausgabe:
ans =
1 2 3 4 6
== Schnittmenge ==
v1 = [1 2 3 4];
v2 = [2 4 6];
intersect(v1, v2)
Ausgabe:
ans =
2 4
= Logik =
Logische Operatoren werden oft benötigt, z.B. bei Schleifen und Verzweigungen.
Octave kennt die logischen Operatoren <code>or, and, not</code> und <code>xor</code>. Als Beispiel sei die Wahrheitstabelle für den Operator <code>or</code> dargestellt.
A B A or B
--------------------
true true true
true false true
false true true
false false false
In Octave kann das so ausgedrückt werden:
or( true, true )
or( true, false )
or( false, true )
or( false, false )
Ausgabe:
ans = 1
ans = 1
ans = 1
ans = 0
Zahlen ungleich 0 stehen für true, 0 für false. Z.B.:
or( 22, 0)
Ausgabe:
ans = 1
Äquivalent zu <code>or</code> ist der Operator <code>|</code>:
22 | 0
Ausgabe:
ans = 1
Zwecks näheren Informationen zu den Operatoren <code>and (&, &&), not (~, !)</code> und <code>xor</code> bemühe man Octaves Help-Funktion.
Bitweise logische Funktionen kennt Octave auch, so kann man z.B. zwei Zahlen mit dem bitweisen OR-Operator verknüpfen:
0b1100101
0b0110001
---------
0b1110101
Oder in Dezimalzahlen:
101
49
---
117
In Octave:
bitor( 0b1100101, 0b0110001 )
dec2bin( ans )
Ausgabe:
ans = 117
ans = 1110101
Zu <code>bitand, bitxor</code> usw. siehe die Octave-Hilfe-Funktion.
= Stochastik =
==Deskriptive Statistik ==
=== Lageparameter ===
Arithmetischer Mittelwert:
vec = [1 2 3 4 5 12 13];
mw = mean(vec)
Ausgabe:
mw = 5.7143
Der Median oder Zentralwert läßt sich folgendermaßen berechnen:
vec = [1 2 3 4 5 12 13];
median(vec)
Ausgabe:
ans = 4
Der Modus oder häufigste Wert läßt sich mittels "mode"-Funktion eruieren:
vec = [1 2 1 3 5 1 2 7];
[m, f, c] = mode (vec);
disp(m);
disp(f);
disp(c);
Ausgabe:
1
3
{
[1,1] = 1
}
m (erste Zeile der Ausgabe) ist der Modus. f (zweite Zeile) ist die Häufigkeit. Näheres dazu siehe im Octave-Hilfesystem.
=== Streuungsparameter ===
Varianz:
vec = [1 2 3 1 1 6 7];
v = var(vec)
Ausgabe:
v = 6.3333
Standardabweichung:
vec = [1 2 3 1 1 6 7];
s = std(vec)
Ausgabe:
s = 2.5166
=== Grafiken erzeugen ===
Histogramme:
v = [1 1 2 3 1 6 7 6 1 1 1 2];
hist(v, max(v));
Ausgabe:
[[Datei:octave_histo2.jpg]]
Balkendiagramme:
v = [1 1 2 3 1 6 7 6];
bar(v);
Ausgabe:
[[Datei:octave_bar111.jpg]]
Treppendiagramm:
v = [1 1 2 3 1 6 7 6];
stairs(v);
Ausgabe:
[[Datei:octave_stairs1.jpg]]
Stabdiagramm:
v = [1 1 2 3 1 6 7 6];
stem(v);
Ausgabe:
[[Datei:octave_stem1.jpg]]
=== Aufgaben ===
Gegeben sei folgende Datentabelle mit den Werten:
v1 = [3 4 1 1 7 2 1 9 2 5 9 7 2 2 9 2 2 1 2 8]
v2 = [1 1 0 2 3 4 1 2 7 0 2 1 5 5 5 4 5 2 5 0]
* Berechnen Sie die Lageparameter und Streuungsparameter des Vektors v1.
* Berechnen Sie Kovarianz und Korrelationskoeffizient der beiden zugeordneten Vektoren v1 und v2.
* Zeichnen Sie das Histogramm des Vektors v1.
== Wahrscheinlichkeitsrechnung ==
=== Kombinatorik ===
Der Binomialkoeffizient:
<math>\binom{n}{k}=\frac{n!}{k!(n-k)!}</math>
In Octave z.B.:
n = 30;
k = 4;
n_ueber_k = nchoosek (n, k)
Ausgabe:
n_ueber_k = 27405
Permutationen sind die verschiedenen Anordnungsmöglichkeiten mit der Anzahl n! = n * (n-1) * ... * 2 * 1.
Beispiel:
v = [1, 2, 3];
p = perms(v)
Ausgabe:
p =
1 2 3
2 1 3
1 3 2
2 3 1
3 1 2
3 2 1
n! (n-Fakultät) selbst kann so berechnet werden:
% 10!
n = 10;
factorial (n)
Ausgabe:
ans = 3628800
=== Verteilungen ===
Octave kennt eine ganze Reihe von Dichte- und Verteilungsfunktionen und zwar
* Probability Density Functions (PDF, Dichtefunktionen)
* Cumulative Distribution Functions (CDF, Verteilungsfunktionen)
Z.B.:
* Binomialverteilung:
** binopdf
** binocdf
* Hypergeometrische Verteilung:
** hygepdf
** hygecdf
* Normalverteilung:
** normpdf
** normcdf
* Studentverteilung:
** tpdf
** tcdf
* Weibullverteilung:
** wblpdf
** wblcdf
Ein Codebeispiel zur Binomialverteilung:
clear;
close all;
clc;
x = 0 : 1 : 10;
n = 10;
p = 0.1;
b1 = binopdf (x, n, p);
b2 = binocdf (x, n, p);
subplot(221);
bar(x, b1);
title("binopdf");
text(1, 0.1, "n=10; p=0.1");
subplot(222);
bar(x, b2);
title("binocdf");
text(1, 0.5, "n=10; p=0.1");
n = 10;
p = 0.5;
b1 = binopdf (x, n, p);
b2 = binocdf (x, n, p);
subplot(223);
bar(x, b1);
text(1, 0.1, "n=10; p=0.5");
subplot(224);
bar(x, b2);
text(1, 0.1, "n=10; p=0.5");
Ausgabe:
[[Datei:octave_bino3.jpg]]
Möglicherweise erhalten Sie bei diesem Beispiel eine Fehlermeldung in der Form
error: 'binopdf' undefined near line 8, column 6
The 'binopdf' function belongs to the statistics package from Octave
Forge which you have installed but not loaded. To load the package, run
'pkg load statistics' from the Octave prompt.
Laden Sie einfach das Paket für die Statistikfunktionen, wie in der Fehlermeldung beschrieben.
Ein Codebeispiel zur Normalverteilung:
clear;
close all;
clc;
x = -4 : .1 : 4;
b1 = normpdf(x);
b2 = normcdf(x);
subplot(121);
plot(x, b1);
title("normpdf");
grid on;
subplot(122);
plot(x, b2);
title("normcdf");
grid on;
Ausgabe:
[[Datei:octave_norm111.jpg]]
== Zufallszahlengeneratoren ==
Octave kann Zufallszahlen aus einer großen Anzahl von Verteilungen generieren, z.B.
* Chi-Quadrat-Verteilung: chi2rnd
* Log-Normal-Verteilung: lognrnd
* Normalverteilung: normrnd
Codebeispiel:
mean = 0;
standardabweichung = 1;
zufallszahl = normrnd (mean, standardabweichung)
Ausgabe (gibt eine Zufallszahl rund um den Mittelwert 0 aus), z.B.
zufallszahl = 1.0451
Auch Zufallsvektoren (oder Zufallsmatrizen) können erstellt werden:
mean = [0 0 0 0 0];
standardabweichung = 1;
zufallsvektor = normrnd (mean, standardabweichung)
Ausgabe, z.B.:
zufallsvektor =
1.47108 -0.51280 0.52726 0.31730 -1.04422
= Einfache Benutzeroberflächen erstellen=
== Input ==
fflush (stdout);
x = input("Gib eine Zahl ein: ");
disp(2 * x);
Ein-/Ausgabe:
Gib eine Zahl ein: 12
24
Der "fflush"-Befehl sollte immer vor dem Aufruf des input-Befehls aufgerufen werden. Näheres zu "fflush" siehe im Octave-Hilfesystem.
== Diverse einfache vorgefertigte Dialoge ==
Fehlermeldung:
errordlg("Fehlermeldung");
[[Bild:octave_fehlermeldung1.jpg]]
Warnung:
warndlg("Warnung");
[[Bild:octave_warnung1.jpg]]
Hilfedialog:
helpdlg
[[Bild:octave_hilfe1.jpg]]
Abfragedialog:
button = questdlg ("Frage")
[[Bild:octave_abfrage1.jpg]]
Eingabedialog:
in = inputdlg("Eingabe")
[[Bild:octave_eingabe1.jpg]]
Messagebox:
h = msgbox ("Eine Mitteilung!");
[[Bild:octave_messagebox1.jpg]]
== Komplexere vorgefertigte Dialogboxen ==
=== Menübox ===
auswahl = menu("Auswahl", "Affe", "Elefant", "Loewe", "Sonstiges");
switch(auswahl)
case 1
disp "Affe quietscht"
case 2
disp "Elefant trompetet"
case 3
disp "Loewe bruellt"
otherwise
disp "Sonstiges"
end
Ausgabe:
[[Bild:octave_menu1.jpg]]
Es werde beispielsweise die Nummer 2 gewählt.
Ausgabe:
Elefant trompetet
=== Dialogliste ===
clear;
close all;
clc;
opt = {"Eins", "Zwei", "Drei"};
[sel, ok] = listdlg ("ListString", opt, "SelectionMode", "Multiple");
if (ok == 1)
for i = 1 : numel(sel)
disp(opt{sel(i)});
end
else
disp("Cancel");
end
[[Bild:octave_dialog1.jpg]]
Es werden beispielsweise alle Optionen ausgewählt.
Ausgabe:
Eins
Zwei
Drei
=== Fortschrittsbalken ===
h = waitbar ([0.5])
[[Bild:octave_fortschritt1.jpg]]
=== Datei- und Verzeichnisdialoge ===
Dateidialog:
[fname, fpath, fltidx] = uigetfile ()
[[Bild:octave_dateidialog2.jpg]]
Ähnlich sind die Befehle "uiputfile" und "uigetdir". Dazu sei auf die Octave-Hilfe verwiesen.
== Eigene Dialoge kreieren ==
Dieses Thema sei hier nur kurz angerissen.
Programmcode:
d = dialog("Position", [300, 300, 250, 150], "Name", "Dialog");
txt = uicontrol("Parent", d, ...
"Style", "text", ...
"Position", [20, 80, 210, 40], ...
"String", "Hallo Welt");
btn_servus = uicontrol("Parent", d, ...
"Position", [30, 20, 80, 30], ...
"String", "Servus", ...
"Callback", "disp('Servus angeklickt!');");
btn_hallo = uicontrol("Parent", d, ...
"Position", [140, 20, 80, 30], ...
"String", "Hallo", ...
"Callback", "disp('Hallo angeklickt!');");
uiwait(d);
Ausgegebenes Dialogfenster:
[[Bild:octave_dialog100.jpg]]
Ausgabe auf der Konsole (je nach gedrücktem Button), z.B.:
Servus angeklickt!
Die Position wird als [links, unten, breite, höhe] angegeben. Der Koordinatennullpunkt liegt, bezogen auf das Elternfenster, links unten. Es sind auch negative Koordinatenwerte möglich. Sinnvoll ist das z.B. bei einem dynamischen Ausblenden ohne zu löschen, oder für Animationen.
[[Bild:Cartesian-coordinate-system.svg | 150px]]
Wer mehr dazu wissen will, sei auf die Octave-Dokumentation verwiesen. Insbesondere siehe
* dialog
* uicontrol
* uipanel
* uibuttongroup
* uitable
* uimenu
* uitoolbar
== Aufgaben ==
=== Aufgabe 1 ===
Erzeugen Sie ein Dialogfenster mit einem Texteingabefeld und einem Button. Beim Klicken auf den Button soll der Eingabetext auf der Konsole ausgegeben werden. Das Dialogfenster soll also in etwa so aussehen:
[[Bild:octave_dialog105.jpg]]
Da dies etwas komplizierter als das oben gezeigte Beispiel ist, werden nachfolgend ein paar Codefragmente zwecks Lösung angegeben:
Datei button_callback.m:
function button_callback(editHandle)
eingegText = get(editHandle, "String");
disp(eingegText);
end
Codefragement in test1.m:
% ...
edit = uicontrol(% ...
"Style", "edit", ...
%, ...
"HorizontalAlignment", "left");
btn = uicontrol(% ...
"Callback", @(src, event) button_callback(edit));
% ...
Aufruf mit:
octave test1.m
Eingabe von z.B. "Hallo Welt!":
[[Bild:octave_dialog106.jpg]]
Ausgabe auf der Konsole nach dem Drücken des Buttons:
Hallo Welt!
=== Aufgabe 2 ===
Erzeugen Sie ein Dialogfenster mit zwei Eingabefeldern und einem Button. Eingegeben in diese zwei Eingabefelder werden vom Benutzer Zahlen. Auf der Konsole ausgegeben werden soll, nach Drücken des Buttons, das Produkt dieser zwei Zahlen.
Auch hier werden wieder Codefragemente angegeben.
Datei button_callback.m:
function button_callback(edit1, edit2)
zahl1 = str2double(get(edit1, 'String'));
zahl2 = str2double(get(edit2, 'String'));
disp(zahl1 * zahl2);
end
Codefragment Datei test1.m:
% ...
btn = uicontrol("Parent", d, ...
% ...
"Callback", @(src, event) button_callback(edit1, edit2));
% ...
Was passiert, wenn der Benutzer keine Zahlen, sondern beliebige Strings eingibt?
= Fehlerhandling mit try/catch =
Die try/catch-Anweisung entspricht weitgehend jener, die aus höheren Programmiersprachen wie C++ oder Java bekannt sind. Aufgebaut ist diese Anweisungsfolge so:
try
BODY
catch
CLEANUP
end
Beispiel:
clear;
close all;
clc;
try
a = 10 / "zahl";
disp(a);
disp("Weiter im try-Block");
catch
disp("Catch: Kann nicht durch einen String dividieren");
end
Ausgabe:
Catch: Kann nicht durch einen String dividieren
Sinnvoll ist die try/catch-Folge, wenn z.B. auch in einem Fehlerfall Dateien wieder geschlossen werden sollen.
= Ein- und Ausgabe =
== Formatierte Ausgabe am Bildschirm, formatiertes Lesen von der Tastatur ==
Folgendes Beispiel ist der Octave-Hilfe (von Octave 3.0.3) entnommen:
pct = 37;
filename = "foo.txt";
printf ("Processed %d%% of `%s'.\nPlease be patient.\n", pct, filename);
Ausgabe:
Processed 37% of `foo.txt'.
Please be patient.
"printf" gibt einen formatierten String am Bildschirm (genauer in den Stream stdout) aus. Wie man sieht, orientiert sich das Format an der Programmiersprache C.
Für das formatierte Lesen vom Stream stdin (normalerweise also von der Tastatur) steht das Pendant "scanf" bereit.
== Von einem String lesen bzw. in einen String schreiben ==
Bezüglich der Funktionen
* sprintf
und
* sscanf
sei auf die Octave-Hilfefunktion verwiesen.
== Lesen und Schreiben von einer Datei ==
=== Datei schreiben ===
% Datei c:\tmp\datei.test zum Schreiben öffnen
datei = fopen ("c:/tmp/datei.test", "w");
% Etwas in die Datei schreiben
fprintf(datei, "Hallo, Welt!");
% Datei schließen
fclose(datei);
=== Datei lesen ===
% Datei c:\tmp\datei.test zum Lesen öffnen
datei = fopen ("c:/tmp/datei.test", "r");
% Etwas aus der Datei lesen
[string] = fscanf(datei, "%s");
disp(string);
% Datei schließen
fclose(datei);
Ausgabe:
Hallo,Welt!
=== Dateiende prüfen ===
Mittels des Befehls
feof(FID);
kann das Dateiende geprüft werden. Wenn die EOF-Bedingung zutrifft, dann wird 1 zurückgegeben, wenn nicht dann 0. Ein Beispiel folgt später als Lösung einer Aufgabe.
=== warning und error ===
Eine Warnung kann man am stderr-Stream ausgeben. Die warning-Funktion entspricht ansonsten der printf-Funktion. Nach Ausgabe der Warnung wird das Programm normal fortgesetzt.
m = [1 2
3 6];
if(det(m) == 0)
warning("Matrix ist singulaer");
end
disp("Weiter geht's");
Ausgabe:
warning: Matrix ist singulaer
warning: called from
test1 at line 5 column 3
Weiter geht's
Schärfer ist der error-Befehl. Die Fehlermeldung wird am stderr-Stream ausgegeben. Vom Format her entspricht diese Funktion dem printf-Befehl. Nach Ausgabe der Fehlermeldung wird das Programm beendet.
m = [1 2
3 6];
if(det(m) == 0)
error("Matrix ist singulaer");
end
disp("Weiter geht's");
Ausgabe:
error: Matrix ist singulaer
error: called from
test1 at line 5 column 3
== Aufgaben ==
* Schreiben Sie ein Programm, das die Zahlen 1 bis 10 zeilenweise in eine Datei ausgibt.
* Lesen Sie diese Zeilen wieder von der Datei ein und geben Sie sie am Bildschirm aus.
* Gegeben sei eine Datei. Lesen Sie die Daten aus dieser Datei ein und rechnen Sie per Octave-Programm den Gesamtpreis für alle Tiere aus. Die Anzahl der Zeilen und der genaue Dateinhalt sei Ihnen vorab nicht bekannt. Bekannt ist nur das Datenformat wie folgt:
Nr. Name Einzelpreis Stueck
1 Affe 15000.50 2
2 Loewe 11000.90 1
3 Nashorn 45000.10 1
4 Elefant 51245.90 3
5 Tiger 9000.70 2
6 Maus 34.90 12
Eine einfache Lösung ohne Schnickschnack (Fehlerüberprüfungen etc.) für dieses Beispiel könnte wie folgt aussehen:
clear;
close all;
clc;
datei = fopen ("c:/tmp/daten1.txt", "r");
gesamtpreis = 0;
% Kopfzeile einlesen
[nr, name, preis, stk] = fscanf(datei, "%s %s %s %s", "C");
while(feof(datei) == 0)
% Datensätze einlesen
[nr, name, preis, stk] = fscanf(datei, "%d %s %f %d", "C");
gesamtpreis += preis*stk;
end
fclose(datei);
disp("Gesamtpreis = ");
format long;
disp(gesamtpreis);
Ausgabe:
Gesamtpreis =
258159.900000000
= Datencontainer =
== Datenstrukturen ==
Pseudocode:
STRUKTUR s
ZAHL a
VEKTOR b
STRING c
END
Octave-Code:
s.a = 45.9;
s.b = [1 2 3 4 5];
s.c = "Hallo!";
s
Ausgabe:
s =
scalar structure containing the fields:
a = 45.90000000000000
b =
1 2 3 4 5
c = Hallo!
Um ein paar weitere Möglichkeiten zum Handling mit Datenstrukturen aufzuzeigen, sei folgender Code aufgeführt.
Datei addsub.m
function res = addsub(a, b)
res.x = a + b;
res.y = a - b;
end
Datei test1.m
clear;
clc;
addsub(10, 50)
r = addsub(30, 70)
r.x
r.y
++r.x
Ausgabe:
ans =
scalar structure containing the fields:
x = 60
y = -40
r =
scalar structure containing the fields:
x = 100
y = -40
ans = 100
ans = -40
ans = 101
Die Funktion "addsub" liefert die Struktur res mit zwei Zahlenwerten. Die Elemente der Datenstruktur können auch außerhalb der Funktion angesprochen werden. Auch gerechnet werden kann mit diesen Elementen.
== Cell Arrays ==
Manchmal kann es sinnvoll sein mehrere Variablen verschiedenen Typs und Größe in einer Variablen zu speichern. Dies funktioniert ähnlich wie bei Vektoren. Es werden aber geschweifte Klammern verwendet.
Eingabe:
c = {"Hallo Welt!", [2 2], 44}
c{1}
c{1:2}
Ausgabe:
c =
{
[1,1] = Hallo Welt!
[1,2] =
2 2
[1,3] = 44
}
ans = Hallo Welt!
ans = Hallo Welt!
ans =
2 2
Elemente des Cell Arrays können auch wieder mit Variablen anderen Typs überschrieben werden.
c = {"Hallo Welt!", [2 2], 44};
c{1} = 5;
c
Ausgabe:
c =
{
[1,1] = 5
[1,2] =
2 2
[1,3] = 44
}
= Objektorientierte Programmierung =
Octave unterstützt auch objektorientierte Programmierung mit dem Schlüsselwort <code>classdef</code> (ab Version 4.0). Dieses Thema ist aber etwas für fortgeschrittene Anwender und wird hier nicht behandelt. Wen es trotzdem interessiert, der sei auf die [https://docs.octave.org/latest/Object-Oriented-Programming.html Octave-Dokumentation] verwiesen.
= Octave im Zusammenspiel mit anderen Programmiersprachen =
== .oct-Dateien ==
Eine .oct-Datei in GNU Octave ist eine kompilierte C/C++-Datei, die als dynamisch ladbares Objekt direkt in Octave ausgeführt werden kann. oct-Dateien sind meist schneller als nativer Octave-Code.
1. Schritt: Erstelle z.B. eine C++-Datei ''quadrat.cc'' (es soll das Quadrat einer Zahl berechnet werden)
#include <octave/oct.h>
DEFUN_DLD(quadrat, args, nargout, "Quadrat einer Zahl berechnen")
{
double x = args(0).double_value();
double res = x*x;
return octave_value(res);
}
* <code>DEFUN_DLD</code> ist ein Makro. Damit wird angezeigt, dass es sich um eine dynamisch ladbare Funktion handelt ('''De'''fine '''Fun'''ction – '''D'''ynamically '''L'''inked '''D'''istribution).
* Der erste Parameter muss mit dem Namen der Funktion und der erstellten oct-Datei übereinstimmen, also hier <code>quadrat</code>.
* <code>args</code>: Argumente die beim Aufruf in Octave übergeben werden.
* <code>nargout</code>: Anzahl der Rückgabewerte.
* "Quadrat einer Zahl berechnen": Dokumentationsstring
2. Schritt: ''quadrat.cc'' kompilieren
# Terminal öffnen
# In das quadrat.cc-Verzeichnis wechseln
# Octave aufrufen
# cc-Datei zu einer oct-Datei kompilieren: <code>mkoctfile quadrat.cc</code>
# Wenn das ohne Fehlermeldung durchläuft, so sollte im Anschluss eine (relativ große) ''quadrat.oct''-Datei im entsprechenden Verzeichnis zu finden sein.
3. Schritt: Funktion <code>quadrat()</code> in Octave aufrufen, z.B.:
y = quadrat(5)
Es ergibt sich folgende Ausgabe:
y = 25
Damit das funktioniert, müssen natürlich die entsprechenden Werkzeuge (Compiler etc.) installiert sein. Darauf wird hier aber nicht näher eingegangen.
Die Dokumentation zu den .oct-Dateien findet sich auf [https://docs.octave.org/v11.1.0/Oct_002dFiles.html].
== Andere Möglichkeiten ==
* .mex-Dateien ('''M'''ATLAB '''Ex'''ecutables): Wenn man kompatibel zu MATLAB bleiben muss
* Java- oder Python-Schnittstelle (Nachteil: langsamer als .oct-Dateien)
Bevor man aber diese Möglichkeiten in Anspruch nimmt, sollte man vektorisieren. Damit lassen sich oft schon höhere Geschwindigkeiten erzielen. Dieses Thema wurde früher schon kurz behandelt.
= Octave GUI =
Das GUI-Programm ('''G'''raphical '''U'''ser '''I'''nterface) von Octave entspricht im Wesentlichen anderen Programmier-Benutzeroberflächen (IDEs ... '''I'''ntegrated '''D'''evelopment '''E'''nvironments), wie z.B. Eclipse (Java), Code::Blocks (C/C++) oder Spyder (Python). Nachfolgend ist ein Screenshot des Octave-GUI mit einigen Anmerkungen dargestellt.
[[Bild:octave_gui2.jpg|600px]]
Probieren Sie einfach die Möglichkeiten der zur Verfügung gestellten GUI/IDE aus.
= Komplexere Aufgaben =
* Berechnen Sie die Fläche, den Umfang, die Seitenlängen, den Inkreis und den Umkreis eines Dreiecks. Stellen Sie das Dreieck inklusive In- und Umkreis grafisch dar. Speichern Sie die Daten in einer Datei. Die drei Eckpunkte dieses Dreiecks sollen vom Benutzer beliebig vorgegeben werden.
* Die Werte einer beliebig großen quadratischen Matrix seien in einer Datei gespeichert. Lesen Sie diese Datei ein und berechnen Sie daraus die Determinante der Matrix, die inverse Matrix, die Eigenvektoren und -werte, die Spur. Führen Sie die LR-Zerlegung durch. Geben Sie diese Werte am Bildschirm aus.
= Ausblick =
Dies war eine kurze Einführung in die Berechnungs- und Darstellungsmöglichkeiten mit Octave. Es sollten etliche relevante Themen behandelt, oder zumindest kurz angesprochen worden sein. Wem dieser Text nicht ausreichend ist, der sei auf die entsprechende weiterführende Literatur, die Octave-Hilfefunktion und die Octave-Dokumentation verwiesen. Octave kennt noch viel mehr Befehle, als hier dargestellt wurden. Aber auch Octave selbst ist erweiterbar. Man siehe z.B. Octave Packages (https://gnu-octave.github.io/packages/) oder man schreibt selbst Erweiterungen.
{{Navigation_zurückhochvor_buch|
zurücktext=Maxima|
zurücklink=Ing Mathematik: Computeralgebrasysteme am Beispiel von Maxima|
hochtext=Gesamtinhaltsverzeichnis|
hochlink=Ing:_Mathematik_für_Ingenieure|
vortext=Julia für Ingenieure|
vorlink=Ing Mathematik: Julia}}
f4zigun7mdvnyir1revuj8yycz5rnwn
1091123
1091113
2026-09-20T06:50:43Z
Intruder
1513
/* Andere Möglichkeiten */ Link hinzu
1091123
wikitext
text/x-wiki
{{Navigation_zurückhochvor_buch|
zurücktext=Maxima|
zurücklink=Ing Mathematik: Computeralgebrasysteme am Beispiel von Maxima|
hochtext=Gesamtinhaltsverzeichnis|
hochlink=Ing:_Mathematik_für_Ingenieure|
vortext=Julia für Ingenieure|
vorlink=Ing Mathematik: Julia}}
= Hallo Welt und allgemeine Hinweise =
== Was ist Octave ==
* Octave ist eine Software zur numerischen Lösung mathematischer Probleme.
* Octave ist Open-Source (GPL-Lizenz).
* Octave ist für viele Betriebssysteme erhältlich (z.B. für Linux, MS Windows, macOS).
* Octave ist weitgehend kompatibel zum Numerik-Standardprogramm {{W|Matlab|MATLAB}}.
* Octave ist ein Interpreter.
* Octave als Programmiersprache ist case-sensitive - d.h. Groß- und Kleinschreibung ist relevant bei der Eingabe von Befehlen.
{{Wikipedia | GNU Octave}}
== Octave installieren ==
=== MS Windows ===
Laden Sie das aktuelle Octave-Paket von der Webseite [https://octave.org/download] herunter. Weiter geht es wie bei jedem anderen größeren zu installierenden Programm. Einfach das Installationsprogramm im Explorer doppelklicken und den Anweisungen des Setup-Programmes folgen.
=== Linux ===
Entweder ist Octave bereits standardmäßig installiert, ansonsten ist die Installation mittels Paketmanagementsystem einfach möglich. Dazu gehen Sie auf die Seite [https://wiki.octave.org/Category:Installation], wählen die vorhandene Linux-Variante und folgen der angegebenen Beschreibung (z.B. <code>zypper ... </code> für openSUSE. Oder Sie benutzen unter openSUSE Tumbleweed direkt das Setup-Programm {{W|YaST}}).
== Octave starten ==
=== MS Windows ===
Das Icon für das Octave-Programm doppelklicken (für das Konsolenprogramm ... CLI, für die grafische Benutzeroberfläche ... GUI). Und schon startet das Programm.
[[Datei:octavestart1.jpg]]
=== Linux ===
In einer Linux-Konsole den Befehl "octave" eintippen, mit der RETURN-Taste bestätigen, und das Programm (CLI) startet:
GNU Octave (x86_64-suse-linux-gnu) version 11.1.0
Copyright (C) 1993-2026 The Octave Project Developers.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>
This is free software; see the source code for copying conditions.
There is NO WARRANTY, to the extent permitted by law. For details, type 'warranty'.
Home page: <https://octave.org>
Support resources: <https://octave.org/support>
Improve Octave: <https://octave.org/get-involved>
For changes from previous versions, type 'news'.
octave:1>
Um Octave mit der eingebauten GUI zu starten, kann der Befehl <code>octave --force-gui</code> verwendet werden:
[[File:Gnu_Octave_IDE.png|600px]]
Alternativ kann, z.B. unter openSUSE Tumbleweed (mit {{W|KDE Plasma 6|KDE-Plasma}}), die Octave-IDE auch über den Application Launcher im Menü ''Education -> GNU Octave'' gestartet werden.
== Ein paar Worte zur Erklärung ==
Im Folgenden wird immer das Konsolenprogramm (CLI ... Command Line Interface) für die Eingabe von Befehlen benutzt. Erst gegen Ende dieses Textes wird auch kurz auf das GUI von Octave eingegangen.
Teilweise werden Ergebnisse der älteren Octave-Version 3.0.3 dargestellt. Die dargestellten Grafiken und Ausgabetexte können je nach Version leicht voneinander abweichen. Der Text wurde ursprünglich mit der Octave-Version 3.0.3 erstellt und anschließend auf die Versionen 5.2 bis 11.1.0 aktualisiert. Dieser Mischmasch sollte aber kein Problem darstellen.
Getestet wurden die Beispiele ursprünglich unter dem Betriebssystem MS Windows 10, später auch mit MS Windows 11, bzw. mit openSUSE Leap 15.6 (Octave 6.4.0, nur vereinzelt) und ab März 2026 auch mit openSUSE Tumbleweed (ab Octave 10.3.0, nur vereinzelt).
== Ein erstes Programm ==
Kommentare werden in Octave mit dem Prozentzeichen (%) oder alternativ mit der Raute (#) eingeleitet. Sie werden vom Octave-Interpreter ignoriert. Will man kompatibel mit MATLAB bleiben, so ist die Version mit dem %-Zeichen vorzuziehen. Text kann mit der disp-Funktion ausgegeben werden. Starten Sie Octave und geben sie folgende Anweisungen zeilenweise ein
octave-3.0.3.exe:1> % Das ist ein Kommentar
octave-3.0.3.exe:2> # und das auch
octave-3.0.3.exe:3> disp "Hallo Welt!"
Als Ergebnis erhalten Sie
Hallo Welt!
Der Prompt (z.B. octave-3.0.3.exe:1>) ist natürlich abhängig von der Octave-Version und den schon eingegebenen Zeilen. Er ist selbstverständlich nicht einzutippen, sondern wird vom Octave-System geliefert.
Strings können in Octave entweder in Anführungszeichen (") gesetzt werden oder in Hochkommatas('). In diesem Text wird die erste Variante bevorzugt eingesetzt.
= Octave als Taschenrechner =
== Allgemeines ==
Wir wollen 3 * 5 berechnen. Dazu starten wir Octave. Geben Sie dann die Formel
octave-3.0.3.exe:1> 3 * 5
ein, drücken die Taste ENTER/RETURN und erhalten als Ergebnis
ans = 15
Auch kompliziertere Ausdrücke sind möglich. Beispielsweise mit Winkelfunktionen, Quadratwurzeln etc. Wir wollen nun den Ausdruck <math>\sin\sqrt{15}</math> berechnen :
octave-3.0.3.exe:2> sin(sqrt(15))
ans = -0.6679
Octave kennt eine Handvoll von Konstanten, z.B.:
Zeilenweise Eingabe:
% Die Kreiszahl PI
pi
% Die Eulersche Zahl
e
% Zur Maschinengenauigkeit
eps
Ausgabe:
ans = 3.1416
ans = 2.7183
ans = 2.2204e-016
"ans" steht übrigens für den Begriff "answer" (auf Deutsch "Antwort"). Mit "ans" kann wie mit jeder anderen Variable oder Konstanten weitergerechnet werden, z.B.:
Eingabe:
% Der Kreisradius sei 10
10
% Der Kreis-Umfang mit diesem Radius sei folgendes
2 * pi * ans
Ausgabe:
ans = 10
ans = 62.832
Die Ausgabe eines Befehls am Bildschirm (das "Echo") kann übrigens durch Anwendung des Semikolons (;) unterdrückt werden. Gezeigt werden soll dies nun mit Hilfe des obigen Beispiels. Es soll nur der Umfang ausgegeben werden, nicht der Radius.
Eingabe:
% Der Kreisradius sei 10
10;
% Der Kreis-Umfang mit diesem Radius sei folgendes
2 * pi * ans
Ausgabe:
ans = 62.832
Vielleicht ist manchem die Genauigkeit, mit der Echo bzw. der Befehl disp Werte ausgibt, nicht ausreichend. Dem kann Abhilfe verschafft werden und zwar so:
Eingabe:
format short
pi
format long
pi
format longe
pi
% usw.
Ausgabe:
ans = 3.1416
ans = 3.14159265358979
ans = 3.14159265358979e+00
Beenden lässt sich das Octave-Programm durch Eingabe von quit oder exit (und natürlich zur Bestätigung die RETURN-Taste drücken).
== Die Hilfefunktion von Octave ==
Die Eingabe von help mit Angabe eines Funktionsnamens liefert detaillierte Infos zu der gesuchten Funktion.
Eingabe:
help sin
Ausgabe:
'sin' is a built-in function from the file libinterp/corefcn/mappers.cc
-- Y = sin (X)
Compute the sine for each element of X in radians.
See also: asin, sind, sinh.
Additional help for built-in functions and operators is
available in the online version of the manual. Use the command
'doc <topic>' to search the manual index.
Help and information about Octave is also available on the WWW
at https://www.octave.org and via the help@octave.org
mailing list.
Auch gibt es die doc-Funktion für eine vollständige Dokumentation des Octave-Systems, z.B.:
Eingabe:
doc
Ausgabe:
[[Datei:Octave_730_doc_screenshot.jpg]]
== Sonstige einfache Berechnungen ==
In octave gibt es eine "umgekehrte" Division:
11 / 2 % normale Division (Rechtsdivision)
11 \ 2 % umgekehrte Division (Linksdivision)
Ausgabe:
ans = 5.5000
ans = 0.1818
Potenzieren kann man so:
12^5
Ausgabe:
ans = 248832
Den Modulo-Operator % wie in C/C++, Java oder Python gibt es in Octave '''nicht'''. Das Prozentzeichen ist dem Kommentar vorbehalten. Man kann aber eine Funktion hierfür benutzen
y = mod(20, 3)
Ausgabe:
y = 2
Runden mit und auf Ganzzahlen kann man in Octave so:
a = int32(10);
b = int32(3);
x = a / b
y = int32(15) / int32(4)
Ausgabe:
x = 3
y = 4
Siehe dazu aber auch die Funktionen <code>floor</code>, <code>ceil</code> und <code>idivide</code>.
Mittels <code>int32()</code> werden Zahlen als 32-Bit-Ganzzahlen dargestellt. Standardmäßig ist der Datentyp nämlich <code>double</code>. Das ist zu beachten, es ergeben sich unterschiedliche Ergebnisse.
Beispiel:
clear();
a = int32(10);
b = int32(3);
x = a / b
c = 10;
d = 3;
y = c / d
whos()
Ausgabe:
x = 3
y = 3.3333
Variables visible from the current scope:
variables in scope: top scope
Attr Name Size Bytes Class
==== ==== ==== ===== =====
a 1x1 4 int32
b 1x1 4 int32
c 1x1 8 double
d 1x1 8 double
x 1x1 4 int32
y 1x1 8 double
Total is 6 elements using 36 bytes
Ist der Wertebereich von <code>int32</code> zu klein (4 Bytes, <math>-2^{31}</math> bis <math>2^{31} - 1</math>), so gibt es auch <code>int64</code> (8 Bytes, <math>-2^{63}</math> bis <math>2^{63} - 1</math>).
<code>clear</code> löscht Namen und gibt den Speicherplatz wieder frei. <code>whos()</code> liefert detaillierte Informationen der aktuell definierten Variablen.
== Aufgaben ==
* Berechnen Sie mit Octave den Ausdruck <math>\frac{1}{2}\cdot e^2 \cdot \tan(\pi/3)</math>.
* Berechnen Sie mit Octave den Ausdruck <math>2\; \text{cosd}(60) - 3\sin(\pi/5)</math>. Anmerkung: cosd erwartet den Parameter im Gradmaß (d für "degree"), sin erwartet den Parameter im Bogenmaß.
* Erkunden Sie die Fehlerfunktion "erf" mittels Octave-Hilfe.
* Welche Zahl ergibt sich durch <code>3 / 4 \ 2</code>?
* Welche Zahlen werden durch die folgenden Anweisungen ausgegeben?
idivide(int32(10), int32(3), "fix")
idivide(int32(10), int32(3), "round")
idivide(int32(10), int32(3), "floor")
idivide(int32(10), int32(3), "ceil")
floor(10.3)
ceil(10.3)
= Octave als Scriptsprache =
Häufig wird man aber kompliziertere Anweisungsfolgen verarbeiten müssen. Diese will man normalerweise nicht jedesmal neu eingeben, sondern in einer Datei speichern und diese Datei dann zur Ausführung bringen. Speichern Sie dazu folgenden Code in einer Textdatei, z.B. unter MS Windows als c:\tmp\test1.m
% Das ist ein Kommentar
# und das auch
disp "Hallo Welt!"
Skriptdateien müssen mit der Dateiendung .m versehen werden. In der Octave-Konsole fügen Sie den Dateipfad mittels
octave-3.0.3.exe:1> addpath("c:/tmp")
hinzu (es ist der UNIX-spezifische Slash (/) zu benutzen). Alternativ können Sie zumindest unter MS Windows auch einen Doppel-Backslash (\\) einsetzen. Oder Sie wechseln mittels <code>cd c:/tmp</code> direkt ins Verzeichnis <code>c:/tmp</code>.
Danach bringen Sie die Skriptdatei test1.m (sozusagen das Hauptprogramm) zur Ausführung
octave-3.0.3.exe:2> test1
Achtung: Die Datei (die Funktion oder das Hauptprogramm) ist in der Octave-Kommandozeile ohne .m-Dateiendung anzugeben. Wie erwartet ergibt sich folgende Ausgabe am Bildschirm
Hallo Welt!
Zumindest unter Linux können Sie z.B. auch komfortabel den {{W|Shebang|Shebang}} (<code>#!</code>) nutzen. Gegeben sei das Octave-Script
#!/usr/bin/octave
disp("Hallo Welt!");
Gepeichert sei es ebenfalls als <code>test1.m</code>. Starten Sie ein Terminal, wechseln Sie in das entsprechende Arbeitsverzeichnis und geben Sie
./test1.m
ein, so erhalten Sie wieder
Hallo Welt!
als Ausgabe auf dem Terminal. Die Zugriffsberechtigung muss natürlich mittels <code>chmod</code> richtig gesetzt werden. Oder Sie führen direkt Octave mit der Datei <code>test1.m</code> aus:
octave test1.m
Sie sehen, mehrere Wege führen zum Ziel.
== Blockkommentare ==
In neueren Octave-Versionen ab dem Jahr 2009 sind auch Blockkommentare möglich. Blockkommentare werden wie normale Kommentare vom Octave-Interpreter ignoriert.
%{
Das ist ein
Blockkommentar
%}
#{
und das auch
#}
== Variablen ==
Variablenbezeichner können aus Buchstaben (A-Za-z), Ziffern (0-9) und Underscores (_) bestehen, dürfen aber nicht mit einer Zahl beginnen.
Gültige Variablenbezeichner wären also:
xyz
x1
_wert
name_anzahl
Da Octave case-sensitiv ist, repräsentieren folgende Bezeichner verschiedene Variablen:
xyz
XYZ
xYz
Werte werden an Variablen mittels Gleich-Zeichen (=) zugewiesen. Im Folgenden wird der Code immer in der Datei c:\tmp\test1.m gespeichert.
x = 5
y = 10
z = x*y
Bringen Sie die Datei test1.m zur Ausführung, so erhalten Sie folgende Bildschirmausgabe
x = 5
y = 10
z = 50
Normalerweise will man aber nur z anzeigen, die Werte von x und y sind ja bereits bekannt. Dazu fügen Sie an den Anweisungsenden, wie bereits weiter oben erwähnt, bei x und y jeweils ein Semikolon (;) an, um das Anweisungsende explizit zu markieren.
x = 5;
y = 10;
z = x*y
Nun erhalten Sie als Ergebnis nur noch
z = 50
Sie können auch mehrere Anweisungen in einer Zeile durch Semikolon getrennt schreiben.
x = 5; y = 10; z = x*y
Ausgabe:
z = 50
Auch aus der Programmiersprache C/C++ oder Java bekannte Konstrukte können Sie verwenden, z.B.
x = 5;
% inkrementiere x
++x
% x = x - 2
x -= 2
Bildschirmausgabe:
ans = 6
x = 4
Beachten Sie, dass mit dem =-Zeichen eine Wertezuweisung durchgeführt wird. Dies ist nicht äquivalent zum mathematischen =-Zeichen, wie am vorigen Beispiel zu ersehen ist.
Soll eine Anweisung auf mehrere Zeilen verteilt werden, z.B. weil sie zu lang ist, so kann dies durch Verwendung von drei Punkten (...) geschehen, wie nachfolgend dargestellt.
x = 5;
y = 1000 * x + ...
sin(x/2)
Ausgabe:
y = 5000.6
Diese Drei-Punkte-Methode soll nicht für in Anführungszeichen (") eingeschlossene Strings verwendet werden. Diese Methode ist seit geraumer Zeit "deprecated" und funktioniert mit der Version 9.1.0 gar nicht mehr. Benutzen Sie statt dessen den Backslash (\):
txt = "xxxxxxxxxxxxxxxxxxxx\
yyyyyyyyyyyyyyyyy"
Ausgabe:
txt = xxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyy
Variablen sind nicht an einen bestimmten Datentyp gebunden, folgendes ist in Octave problemlos möglich:
wert = 10
wert = 35.5
wert = "Hallo"
wert = pi
Ausgabe:
wert = 10
wert = 35.500
wert = Hallo
wert = 3.1416
Der Befehl <code>who</code>, bzw. <code>whos</code> listet die gegenwärtig definierten Variablen, z.B.:
clear;
a = 10.5;
v = [1 2 3 4 5 12 13];
m = ["s1", "s2"; "s3", "s4"];
disp "***** Der Befehl who *****"
who
disp "***** Der Befehl whos *****"
whos
Ausgabe:
***** Der Befehl who *****
Variables visible from the current scope:
a m v
***** Der Befehl whos *****
Variables visible from the current scope:
variables in scope: top scope
Attr Name Size Bytes Class
==== ==== ==== ===== =====
a 1x1 8 double
m 2x4 8 char
v 1x7 56 double
Total is 16 elements using 72 bytes
==Hexadezimale und binäre Zahlen==
% Hexadezimale Zahl
disp( 0xABC )
% Binäre Zahl
disp( 0b1000011 )
Ausgabe (als Dezimalzahlen):
2748
67
Octave kann auch dezimale in binäre Zahlen etc. umwandeln:
dec2bin( 214 )
Ausgabe:
ans = 11010110
Siehe dazu in der Octave-Hilfe auch folgende Funktionen:
bin2dec, dec2base, dec2hex, hex2dec, base2dec
== Zahlenkolonnen ==
Eine Zahlenkolonne (oder ein Vektor) mit gleichen Abständen der Werte kann folgendermaßen erzeugt werden:
% a ... Startwert
% b ... Schrittweite
% c ... Endwert
a = 0;
b = 10;
c = 100;
x = a : b : c;
disp(x);
Ausgabe:
0 10 20 30 40 50 60 70 80 90 100
Ähnliche Resultate lassen sich auch durch Anwendung der linspace-Funktion erhalten, z.B.:
% a ... Startwert
% b ... Endwert
% c ... Anzahl der Werte
a = 0;
b = 100;
c = 11;
v = linspace(a, b, c)
Ausgabe:
v =
0 10 20 30 40 50 60 70 80 90 100
== Verzweigungen ==
=== Die IF-Verzweigung ===
Die IF-Verzweigung ist aus anderen Programmiersprachen bereits bekannt. In Pseudocode lässt sie sich folgendermaßen darstellen:
WENN bedingung TRUE
führe block1 aus
SONST
führe block2 aus
ENDE
Die test1.m-Datei laute also wie folgt:
x = 5;
if x < 4
disp "x ist kleiner als 4";
else
disp "Der else-Zweig wird ausgefuehrt";
disp "x ist groesser oder gleich 4";
end
Ausgabe:
Der else-Zweig wird ausgefuehrt
x ist groesser oder gleich 4
Octave kennt eine Reihe von Vergleichs- und Verknüpfungsoperatoren:
* <, <= ... kleiner (gleich)
* >, >= ... größer (gleich)
* == ... gleich
* ~=, != ... ungleich
* &, && ... AND
* |, || ... OR
* ~, ! ... NOT
Beispielsweise:
a = 5;
b = 9;
if a<=10 & b!=7
disp("OK");
else
disp("Nicht OK");
end
Ausgabe:
OK
=== Die SWITCH-Verzweigung ===
In Pseudocode:
WECHSLE ZU var
FALLS wert1 == var
führe block1 aus
FALLS wert2 == var
führe block2 aus
...
SONST
führe blockn aus
ENDE
Eine Beispielsimplementierung in Octave könnte so aussehen:
x = "g";
switch(x)
case "k"
disp("klein");
case "g"
disp("gross");
otherwise
disp("sonstiges")
end
Ausgabe:
gross
Anmerkungen für C-Programmierer:
* in Octave darf zum Abschluß von ''case'' kein Doppelpunkt folgen (würde einen Syntaxfehler auslösen).
* ein ''break'' als Abschluß eines ''case''-Blocks ist nicht erlaubt (würde in Octave einen parse error auslösen). ''break'' ist Schleifen vorbehalten. ''switch'' hat in Octave keinen "Durchfall" und ähnelt somit eher der Fortran-Anweisung ''select case''.
Mehrere Fälle in einem ''case'' können wie nachfolgend behandelt werden:
x = "K";
switch(x)
case {"k" "K"}
disp("klein");
case {"g" "G"}
disp("gross");
otherwise
disp("sonstiges")
end
Ausgabe:
klein
== Schleifen ==
=== Die WHILE-Schleife ===
Die WHILE-Schleife ist kopfgesteuert. Sie funktioniert wie aus anderen Programmiersprachen bekannt.
In Pseudocode:
SOLANGE bedingung TRUE
führe block aus
ENDE
In Octave:
x = 0;
while x <= 10
disp(x);
x++;
end
Ausgabe:
0
1
2
3
4
5
6
7
8
9
10
=== Die DO-UNTIL-Schleife ===
Die DO-UNTIL-Schleife ist fußgesteuert. Beachte: Diese Schleife ist nicht äquivalent zu der aus anderen Programmiersprachen bekannten DO-WHILE-Schleife. DO-WHILE bedeutet "TUE SOLANGE", DO-UNTIL bedeutet "TUE BIS". Sie wird mindestens einmal ausgeführt.
Pseudocode:
TUE
führe block aus
BIS bedingung TRUE
Mittels Octave:
x = 0;
do
disp(x);
x++;
until(x >= 5)
Ausgabe:
0
1
2
3
4
=== Die FOR-Schleife ===
for x = 0 : 2 : 10
disp(x);
end
Ausgabe:
0
2
4
6
8
10
Der FOR-Schleifenkopf ist in Form einer Zahlenkolonne folgendermaßen aufgebaut:
for variable = startwert : schrittweite : endwert
Man beachte, dass Vektorisierung gegenüber einem Schleifendurchlauf eine erhebliche Zeiteinsparung bewirken kann (man siehe in der [https://docs.octave.org/latest/Vectorization-and-Faster-Code-Execution.html Octave-Dokumentation das Kapitel 19 "Vectorization and Faster Code Execution"]). Folgendes Beispiel ist an genanntes Octave-Kapitel angelehnt. Zuerst wird eine Berechnung mittels Schleifendurchlauf durchgeführt und der Zeitbedarf ausgegeben. Dieser Zeitbedarf hängt natürlich auch von der verwendeten Hardware etc. ab.
Eingabe:
n = m = 500;
a = b = eye(500);
t1 = time();
for i = 1:n
for j = 1:m
c(i,j) = a(i,j) + b(i,j);
endfor
endfor
t2 = time();
t_diff = t2-t1
Ausgabe:
t_diff = 3.7566
Der Zeitverbrauch beträgt hier also ca. 4 Sekunden. Im Gegensatz dazu
Eingabe:
a = b = eye(500);
t1 = time();
c = a + b;
t2 = time();
t_diff = t2-t1
Ausgabe:
t_diff = 1.5974e-05
ist der Zeitverbrauch hier sehr gering. Vektoren und Matrizen werden etwas später in diesem Text detailliert behandelt. Hier nur soviel: Mittels ''eye'' wird eine Einheitsmatrix kreiert.
=== Schleifen abbrechen ===
Zum Abbrechen einer Schleife gibt es den Befehl "break".
for var = 0 : 1 : 100
disp (var);
if var == 5
break;
end
end
Ausgabe:
0
1
2
3
4
5
"continue" setzt mit dem nächsten Schleifendurchlauf fort, z.B.
for var = 0 : 1 : 10
if var == 5
continue;
end
disp (var);
end
Ausgabe:
0
1
2
3
4
6
7
8
9
10
== Aufgaben ==
* Berechnen Sie die Summe der ersten 10000 natürlichen Zahlen (bei 1 beginnend)
** in Form einer WHILE-Schleife
** in Form einer DO-UNTIL-Schleife
** in Form einer FOR-Schleife
** mittels sum-Befehl (siehe dazu auch die von Octave zur Verfügung gestellte Hilfefunktion).
** mittels gaußscher Summenformel (<math>\sum_{i=1}^n{i} = 1+2+...+n = n(n+1) / 2</math>)
* Schreiben Sie für obige Alternativen Programme mit denen der Zeitbedarf der Schleifen, Befehle bzw. Formeln gemessen werden kann. Welche Alternativen sind aus Zeitgründen (minimale Laufzeit) empfehlenswert?
= Grafiken zeichnen =
== 2D ==
=== Graph einer Funktion ===
Es soll die cosh-Funktion im Intervall <math>x\in[-3,3]</math> gezeichnet werden. Der Programmcode lautet in der einfachsten Form:
x = -3 : .1: 3;
y = cosh(x);
plot(x,y);
grid on;
Ausgabe:
[[Datei:octave_cosh.jpg]]
Der Code ist quasi selbsterklärend. x läuft von -3 bis +3. y wird für jeden x-Wert per Formel ausgerechnet. "plot" ist der Zeichenbefehl. "grid on" schaltet ein Zeichengitter ein.
Die Schrittweite 0.1 wurde so gewählt, um einen ausreichend glatten Verlauf des Graphen zu gewährleisten. Das ist immer ein Kompromiss zwischen Berechnungszeit und Ansehnlichkeit. Testen Sie einfach ein paar verschiedene Werte, um ein Gefühl dafür zu zu bekommen.
Sie könnten nun auf die Idee kommen, obiges Script unter Linux mit der Shebang-Zeile zu erweitern, um es direkt als Programm auszuführen.
#!/usr/bin/octave
x = -3 : .1: 3;
y = cosh(x);
plot(x,y);
grid on;
Die Enttäuschung folgt auf dem Fuß. Außer einem kurzen Aufblinken des Grafikfensters ist nicht viel zu sehen. Das Programm läuft einfach durch und wird nach der letzten Anweisung beendet. Abhilfe kann z.B. der <code>input</code>-Befehl schaffen:
#!/usr/bin/octave
x = -3 : .1: 3;
y = cosh(x);
plot(x,y);
grid on;
refresh();
input("Zum Beenden RETURN-Taste drücken");
Das Programm wartet somit, bis Sie im Terminal die RETURN-Taste drücken. <code>refresh()</code> dient dazu, das Grafikfenster unmittelbar zu aktualisieren. Sonst würde das Ausgabefenster leer bleiben, bis es durch externe Anreize aktualisiert wird (z.B. durch Fenster minimieren/maximieren). Gleiches gilt für die <code>octave test1.m</code>-Variante.
Ein etwas komplexeres Beispiel ist Folgendes
x = -3 : .1: 3;
y = cosh(x) + 2.^x;
plot(x,y);
grid on;
Man beachte den Punkt bei 2.^x (2 hoch x). Vergisst man den Punkt, dann erhält man eine Fehlermeldung (ähnlich dieser):
error: for x^y, only square matrix arguments are permitted and one argument must be scalar. Use .^ for elementwise power.
error: called from
test1 at line 2 column 3
Ausgabe:
[[Datei:octave_cosh2.jpg]]
Der Funktionsgraph kann auch als Fläche eingefärbt werden:
x = -3 : .1: 3;
y = cosh(x) + 2.^x;
fill (x, y, "b");
Ausgabe:
[[Datei:octave_cosh3.jpg | 500px]]
=== Graphen mehrerer Funktionen und weiteres ===
Mehrere Graphen lassen sich folgendermaßen in ein Fenster zeichnen:
x = -3 : .1: 3;
y1 = cosh(x) + 2.^x;
y2 = sin(x) .* cos(x);
plot(x,y1, x,y2);
title("Funktionsgraphen");
legend("cosh ...", "sin ...");
xlabel("x");
ylabel("y");
grid on;
[[Bild:octave_cosh14.jpg|600px]]
Um die Linienstile etwas individueller zu gestalten, ist folgender Programmcode gedacht:
x = -3 : .1: 3;
y1 = cosh(x) + 2.^x;
y2 = sin(x) .* cos(x);
plot(x,y1,"*r", x,y2,"ob");
title("Funktionsgraphen");
legend("cosh ...", "sin ...");
xlabel("x");
ylabel("y");
grid on;
[[Datei:octave_cosh4.jpg]]
Bei plot kann auch der Linienstil des jeweiligen Graphen angegeben werden, z.B. steht
* für Sternchenlinie
o für Kreise in der Linie
r für rot
b für blau
Ein ähnliches Resultat liefert der Code:
x = -3 : .1: 3;
y1 = cosh(x) + 2.^x;
y2 = sin(x) .* cos(x);
plot(x,y1, "Color", "red", "*", x,y2, "Color", "blue", "o");
title("Funktionsgraphen");
legend("cosh ...", "sin ...");
xlabel("x");
ylabel("y");
grid on;
Will man mehrere Graphen in ein Fenster zeichnen, aber nicht alles in einen plot-Befehl quetschen, so kann die "hold on"-Anweisung die Lösung des Problems sein:
%Lösche alle benutzerdefinierten Variablen aus der Symboltabelle
clear;
%Schließe alle Fenster
close all;
%Lösche Konsolenfenster und setze Cursor zurück
clc;
x = -3 : .1: 3;
y1 = cosh(x) + 2.^x;
y2 = sin(x) .* cos(x);
plot(x,y1, "Color", "red");
hold on;
plot(x,y2, "Color", "blue");
title("Funktionsgraphen");
legend("cosh ...", "sin ...");
xlabel("x");
ylabel("y");
grid on;
[[Datei:octave_coshsin1.jpg]]
Bei diesem Program wurden auch einige Möglichkeiten (clear, close, clc) gezeigt, um das System aufzuräumen. Ein "hold off" würde natürlich die hold-Funktion wieder ausschalten.
=== Funktion in Parameterdarstellung ===
Es soll die archimedische Spirale <math>x = t \cos(t), y = t \sin(t)</math> im Intervall <math>[0, 6\pi]</math> gezeichnet werden.
clear;
close all;
clc;
t = 0 : .1: 6*pi;
x = t .* cos(t);
y = t .* sin(t);
plot(x,y);
grid on;
[[Datei:octave_spirale1.jpg]]
Diese Darstellung erscheint verzerrt. Will man gleiche Achsenskalierungen, so kann man den axis-Befehl verwenden (axis muss nach plot erscheinen).
t = 0 : .1: 6*pi;
x = t .* cos(t);
y = t .* sin(t);
plot(x,y);
grid on;
axis equal;
[[Datei:octave_spirale222.jpg]]
=== Strichstärke ===
Für manche Zwecke ist es sinnvoll die Strichstärke des Graphen zu erhöhen. Dies kann über den Parameter "LineWidth" der plot-Funktion geschehen.
t = 0 : .1: 6*pi;
x = t .* cos(t);
y = t .* sin(t);
plot(x,y, "LineWidth", 2);
grid on;
axis equal;
Ausgabe:
[[Datei:octave_spirale3.jpg]]
=== Beliebigen Text ausgeben ===
x = -10:0.1:10;
plot (x, sin (x), "LineWidth", 2);
text (2.7, 0.8, "Das ist die sin-Funktion");
Ausgabe:
[[Datei:octave_text1.jpg]]
=== Logarithmische Achseneinteilung ===
x = -3 : .1: 3;
y = cosh(x) + 2.^x;
% Halblogarithmische Darstellung
semilogy(x,y);
grid on;
Ausgabe:
[[Datei:octave_semilog1.jpg]]
Auch die x-Achse kann mit "semilogx" logarithmisch skaliert werden. Mit "loglog" werden beide Achsen logarithmisch skaliert.
=== Aufgaben ===
* Zeichnen Sie die Strophoide <math>x = \frac{a(t^2-1)}{t^2+1}, y = \frac{at(t^2-1)}{t^2+1}, a = 2, -3 \leq t \leq 3</math>. Das Ganze sollte in etwa so aussehen wie folgende Grafik:
[[Datei:octave_strophoide.jpg]]
* Zeichnen Sie die verschlungene Hypozykloide <math>x = (R-r)\cos t + c\cos\frac{R-r}{r}t, y = (R-r)\sin t - c\sin\frac{R-r}{r}t, c = 3, r = 2, R = 6, -15 \leq t \leq 15</math>. Das Ganze sollte in etwa so aussehen wie folgende Grafik:
[[Datei:octave_hypozykloide.jpg]]
* Testen Sie bei den obigen Übungsaufgaben verschiedene Linienstile und Farben (Hinweis: Siehe dazu auch die Octave-Hilfefunktion für den plot-Befehl).
* Testen Sie bei den obigen Übungsaufgaben verschiedene Werte für a, c, r und R.
* Erkunden Sie in der Octave-Hilfe den ezplot-Befehl.
== 3D ==
=== Räumliche Kurven ===
Mittels "plot3" lassen sich Raumkurven zeichnen.
t = 0 : .1 : 9*pi;
x = cos(t);
y = sin(t);
z = 1.3 .^ t;
plot3(x,y,z);
grid on;
[[Datei:octave_raumkurve1.jpg]]
=== Flächen ===
==== ezsurf ====
Die wahrscheinlich einfachste Möglichkeit 3D-Flächen zu erzeugen, besteht in der Verwendung des ezsurf-Befehls. Beachten Sie beim folgenden Beispiel auch wieder den Punkt beim Multiplikationssymbol (elementweise Multiplikation soll verwendet werden, keine Matrizenmultiplikation) in der anonymen Funktion. Was eine anonyme Funktion ist, wird weiter hinten in diesem Text kurz erklärt. Fürs Erste reicht es zu wissen, dass die Funktion f(x, y) jeweils im Intervall [0, 10] gezeichnet werden soll.
clear; close all; clc; clf;
f = @(x, y) sin(x) + 3.*cos(y);
ezsurf (f, [0, 10]);
[[Bild:octave_ezsurf1.jpg|600px]]
Dieses Bild wurde mit der Octave-Version 5.2 erstellt. Es ist im Prinzip identisch zu jenen des folgenden Abschnitts, die mit der Version 3.0.3 erstellt wurden, nur die Farbschattierung ist anders. Ändern lässt sich diese Eigenschaft mit dem colormap-Befehl (siehe auch Octave-Hilfe):
clear; close all; clc; clf;
colormap(hot);
f = @(x, y) sin(x) + 3.*cos(y);
ezsurf (f, [0, 10]);
[[Bild:octave_colormap_hot.jpg|600px]]
==== surf und mesh ====
Für das Zeichnen von Flächen existiert der surf-Befehl. Der meshgrid-Befehl kreiert ein Netz in der xy-Zeichenebene. Beachten Sie beim folgenden Beispiel auch wieder den Punkt beim Multiplikationssymbol der Formel für z.
x = 0 : .1 : 10;
y = 0 : .1 : 10;
[x_grid, y_grid] = meshgrid(x, y);
z = sin(x_grid) + 3.*cos(y_grid);
surf(x_grid, y_grid, z);
[[Datei:octave_flaeche1.jpg]]
Auch ein Farbstreifen kann via "colorbar" zur Grafik hinzugefügt werden.
x = 0 : .1 : 10;
y = 0 : .1 : 10;
[x_grid, y_grid] = meshgrid(x, y);
z = sin(x_grid) + 3.*cos(y_grid);
surf(x_grid, y_grid, z);
colorbar("East");
[[Datei:octave_flaeche2.jpg]]
Das Ganze in Netzdarstellung läßt sich so programmieren:
x = 0 : .2 : 10;
y = 0 : .2 : 10;
[x_grid, y_grid] = meshgrid(x, y);
z = sin(x_grid) + 3.*cos(y_grid);
mesh(x_grid, y_grid, z);
Ausgabe:
[[Datei:octave_mesh1.jpg]]
==== Ellipsoide und Kegel ====
Für das Zeichnen von Kugeln oder Ellipsoiden stellt Octave den "sphere"-Befehl bzw. den "ellipsoid"-Befehl zur Verfügung.
clear; close all; clc;
% Ellipsoiden zeichnen
[x, y, z] = sphere(30);
surf(5*x, 4*y, 3*z);
hold on;
[x, y, z] = ellipsoid(5, 5, 5, 6, 3, 2, 30);
surf(x, y, z);
axis equal;
[[Bild:octave_ellipsoid2.jpg|600px]]
Für Zylinder und Kegel ist der "cylinder"-Befehl zuständig.
clear; close all; clc;
% Kegel und Zylinder zeichnen
[x, y, z] = cylinder([1 2], 100);
surf(x, y, z*3);
hold on;
[x, y, z] = cylinder([0.5 0.5], 50);
surf(x+3, y, z*2);
axis equal;
[[Bild:octave_cylinder2.jpg|600px]]
=== Aufgaben ===
* Zeichnen Sie die räumliche Kurve <math>x = 2 \cdot \cosh(t)</math>, <math>y = 5 \cdot \sin(t)</math>, <math> z = t^{2} - t</math>, <math>0 \leq t \leq 3\pi</math>. Das Ganze sollte etwa wie folgt aussehen:
[[Datei:octave_kurve10.jpg]]
* Zeichnen Sie die Fläche <math>z = \log(x) + \cos(y)</math>. Das Ganze sollte etwa wie folgt aussehen:
[[Datei:octave_flaeche10.jpg]]
== Weiteres ==
=== subplot ===
Zeichnen mit Untergrafiken: Hier wird z.B. ein Fenster mit drei Untergrafiken gezeichnet.
Eingabe:
t = 0 : .5 : 10;
[x_grid, y_grid] = meshgrid(t, t);
subplot(311);
surf(x_grid, y_grid, sin(x_grid) + cos(y_grid) );
subplot(312);
surf(x_grid, y_grid, sin(x_grid) + log(y_grid) );
subplot(313);
surf(x_grid, y_grid, x_grid + cos(y_grid) );
Ausgabe:
[[Datei:octave_subplot2.jpg]]
Die dreistellige Ziffer beim subplot-Befehl bedeutet folgendes:
* Die erste Ziffer ist die Zeilenanzahl
* Die zweite Ziffer ist die Reihenanzahl und
* Die dritte Ziffer ist der Index.
Nun sei ein Beispiel mit 3x2-Untergrafiken angeführt.
clear;
close all;
clc;
x = 0 : .1 : 10;
subplot(321);
plot(x, sin(x));
text(2, -0.5, "Index 1");
subplot(322);
plot(x, tan(x));
text(2, 2, "Index 2");
subplot(323);
plot(x, cosh(x) );
text(2, 3000, "Index 3");
subplot(324);
plot(x, gamma(x) )
text(2, 100000, "Index 4");
subplot(325);
plot(x, log(x) );
text(2, 0, "Index 5");
subplot(326);
plot(x, exp(x) );
text(2, 10000, "Index 6");
Ausgabe:
[[Datei:octave_subplot3.jpg]]
Hier ist sehr gut zu sehen, in welcher Reihenfolge der Index läuft.
=== figure ===
Zeichnen in verschiedene Fenster, z.B.
clear;
close all;
clc;
x = 0 : .1 : 10;
y = 0 : .1 : 10;
[x_grid, y_grid] = meshgrid(x, y);
figure(1)
surf(x_grid, y_grid, sin(x_grid) + cos(y_grid));
figure(2)
surf(x_grid, y_grid, sin(x_grid) + log(y_grid));
Ausgabe:
[[Datei:octave_figure111.jpg|700px]]
=== Linien zeichnen ===
Zeichnen Sie eine Linie von der Koordinate [-15, 0] zu [15, 5]:
clear;
close all;
clc;
x = line([-15 15], [0, 5], "Color", "black", "LineWidth", 2);
Ausgabe:
[[Datei:octave_linie1.jpg]]
Man beachte, dass Octave nicht Punkte P1(x1, y1), P2(x2, y2) erwartet, sondern einen x-Vektor [x1 x2] und einen y-Vektor [y1 y2].
Ein allgemeines Viereck wird z.B. mit folgendem Befehl gezeichnet.
line([-15 15 10 -5, -15], [0, 5, 20, 15, 0], "LineWidth", 2);
[[Datei:octave_viereck2.jpg]]
Auch dreidimensionale Formen lassen sich mit dem line-Befehl zeichnen:
clear; close all; clc;
line([-15 15 10 -5, -15], [0, 5, 20, 15, 0], [10, 20, 30, 40, 50], "LineWidth", 2);
[[Datei:octave_dreidim2.jpg]]
=== Aufgaben ===
* Zeichnen Sie mittels "subplot" die Funktionsgrafen <math>y_1=\tan(x), y_2=\tan(2x), y_3=\tan\sqrt x, y_4=x\cdot \tan(x)</math> in folgender Form in ein Fenster:
** in 2x2-Darstellung
** in 1x4-Darstellung.
* Zeichnen Sie die im obigen Beispiel angegebenen Funktionsgrafen mittels "figure" jeweils in ein eigenes Fenster.
= Vektoren und Matrizen =
== Vektoren ==
Vektoren sollten jedem aus der Linearen Algebra bekannt sein.
=== Zeilen- und Spaltenvektoren ===
% Ein Zeilenvektor
v1 = [1, 2, 3]
% Ein Spaltenvektor
v2 = [6; 7; 8]
Ausgabe:
v1 =
1 2 3
v2 =
6
7
8
Alternative Schreibweisen:
% Ein Zeilenvektor
v1 = [1 2 3]
% Ein Spaltenvektor
v2 = [6
7
8]
Die Ausgabe entspricht der obigen Darstellung.
=== Zugriff auf Vektorelemente ===
Nachfolgend seien einige Zugriffsmöglichkeiten auf die einzelnen Vektorelemente erläutert.
Auf ein einzelnes Element kann via Index zugegriffen werden. Der Index startet bei 1:
v1 = [1 2 4 8 16];
v2 = v1(3)
Ausgabe:
v2 = 4
Mehrere Elemente werden folgendermaßen angesprochen:
v1 = [1 2 4 8 16];
v2 = v1(3:4)
Ausgabe:
v2 =
4 8
Liefere den Teilvektor von einem gegebenen Index bis zum letzten Element:
v1 = [1 2 4 8 16];
v2 = v1(3:end)
Ausgabe:
v2 =
4 8 16
=== Addition und Subtraktion von Vektoren ===
v1 = [1, 2, 3];
v2 = [5, 7, 9];
res = v1 + v2
res = v1 - v2
Ausgabe:
res =
6 9 12
res =
-4 -5 -6
=== Multiplikation mit Skalaren ===
faktor = 3;
v = [1, 2, 3];
res = faktor * v
Ausgabe:
res =
3 6 9
=== Skalarprodukt ===
Das Skalarprodukt ist bekanntermaßen als <math>v_1 \cdot v_2 = |v_1| |v_2| \cos(\angle(v_1, v_2))</math> definiert. In Octave sieht das so aus:
v1 = [1, 2, 3];
v2 = [5, 6, 7];
res = dot(v1, v2)
Ausgabe:
res = 38
=== Vektorprodukt ===
v1 = [1, 2, 3];
v2 = [5, 6, 7];
res = cross(v1, v2)
Ausgabe:
res =
-4 8 -4
Enger an die mathematische Darstellung lehnt sich folgender Code an. Die zu multiplizierenden Vektoren seien in Form von Spaltenvektoren gegeben.
Mathematisch:
<math>a\ast b=\left(\begin{array}{c}
a_{1}\\
a_{2}\\
a_{3}
\end{array}\right)\ast\left(\begin{array}{c}
b_{1}\\
b_{2}\\
b_{3}
\end{array}\right)=\left(\begin{array}{c}
a_{2}b_{3}-a_{3}b_{2}\\
a_{3}b_{1}-a_{1}b_{3}\\
a_{1}b_{2}-a_{2}b_{1}
\end{array}\right)
</math>
Octave-Code:
a = [1
2
3];
b = [5
6
7];
res = cross(a, b)
Ausgabe:
res =
-4
8
-4
=== Transponierter Vektor ===
v1 = [1, 2, 3];
v2 = [5; 6; 7];
res1 = v1'
res2 = v2'
Ausgabe:
res1 =
1
2
3
res2 =
5 6 7
=== Einige weitere Vektorfunktionen ===
Beispiel:
% 1 + 2 + 3
v = [1 2 3];
sum(v)
Ausgabe:
ans = 6
Beispiel:
% 1 * 2 * 3 * 4
v = [1 2 3 4];
prod(v)
Ausgabe:
ans = 24
Beispiel:
% 1^2 + 2^2 + 3^2
v = [1 2 3];
sumsq (v)
Ausgabe:
ans = 14
== Matrizen ==
Gegeben sei folgende 2x3-Matrix <math>m=\left(\begin{array}{ccc}
1 & 2 & 3\\
4 & 5 & 6
\end{array}\right)</math>.
Eingabe:
m = [1, 2, 3; 4, 5, 6]
Ausgabe:
m =
1 2 3
4 5 6
Alternativ und anschaulicher kann diese 2x3-Matrix auch so eingegeben werden:
m = [1 2 3
4 5 6]
Dies ist schon sehr nahe an der mathematischen Darstellungsweise.
=== Zugriff auf Matrizenelemente ===
m = [1 2 3
4 5 6];
% Element aus Zeile 2 und Spalte 3
m(2,3)
Ausgabe:
ans = 6
Eine andere Zugriffsmöglichkeit ist diese:
m = [1 2 3
4 5 6];
% Auf das fünfte Element soll zugegriffen werden
m(5)
Ausgabe:
ans = 3
Die Matrix wird also spaltenweise durchlaufen (nicht zeilenweise). Dies ist vielleicht auf den ersten Blick etwas ungewöhnlich, wird aber z.B. auch in Fortran so gehandhabt.
Auch Teilmatrizen können einfach gebildet werden:
m = [1 2 3
4 5 6];
m(2:end, 2:end)
Ausgabe:
ans =
5 6
Siehe zu diesem Thema auch etwas weiter hinten in diesem Text den Abschnitt "Teilmatrizen".
=== Addition und Subtraktion von Matrizen ===
m1 = [1, 2, 3; 4, 5, 6];
m2 = [-4, -2, 0; 2, 4, 6];
m1 + m2
m1 - m2
Ausgabe:
ans =
-3 0 3
6 9 12
ans =
5 4 3
2 1 0
=== Transponierte Matrix ===
m = [1, 2, 3; 4, 5, 6];
m'
Ausgabe:
ans =
1 4
2 5
3 6
=== Rang einer Matrix ===
Der Rang einer Matrix Rg(M) ist die maximale Anzahl der linear unabhängigen Zeilenvektoren (Spaltenvektoren).
m1 = [1, 2, 3; 4, 5, 6];
m2 = [1, 2; 2, 4];
rank(m1)
rank(m2)
Ausgabe:
ans = 2
ans = 1
Regulär ist eine nxn-Matrix, wenn der Rg(M) = n. D.h. die erste Matrix m1 ist regulär, die zweite m2 singulär.
=== Inverse Matrix ===
m1 = [1, 3; 0, -5 ];
m2 = [1, 2; 2, 4];
inv(m1)
inv(m2)
Ausgabe:
ans =
1.00000 0.60000
0.00000 -0.20000
warning: matrix singular to machine precision
warning: called from
test1 at line 4 column 1
ans =
Inf Inf
Inf Inf
Die Matrix m2 in diesem Beispiel ist singulär (d.h. die Determinante ist 0). Determinanten werden etwas weiter unten in diesem Text behandelt. Inf steht für Infinity (= Unendlich).
=== Multiplikation von Matrizen (falksches Schema) ===
m1 = [1, 3, 4; 0, -5, 1];
m2 = [1, 2; 2, 3; 0, 2];
m1 * m2
Ausgabe:
ans =
7 19
-10 -13
Will man aus irgendwelchen Gründen nicht das falksche Schema ausführen, sondern elementweise Multiplikation, so funktioniert das mit dem Punkt-Operator, z.B.
m1 = [1, 3; 0, -5];
m2 = [1, 2; 4, 2];
% falksches Schema
m1 * m2
% elementweise Multiplikation
m1 .* m2
Ausgabe:
ans =
13 8
-20 -10
ans =
1 6
0 -10
Verifikation, falksches Schema (Zeile*Spalte):
[ 1 3 ] [ 1 2 ] [ 1*1+3*4 1*2+3*2 ] [ 13 8 ]
[ 0 -5 ] [ 4 2 ] = [ 0*1-4*5 0*2-5*2 ] = [ -20 -10 ]
Verifikation, elementweise Multiplikation (homologe Elemente):
[ 1 3 ] [ 1 2 ] [ 1*1 3*2 ] [ 1 6 ]
[ 0 -5 ] [ 4 2 ] = [ 0*4 -5*2 ] = [ 0 -10 ]
=== Determinante einer Matrix ===
m1 = [1, 3; 0, -5 ];
m2 = [1, 2; 2, 4];
det(m1)
det(m2)
Ausgabe:
ans = -5
ans = 0
m1 ist regulär, m2 ist singulär. Determinanten können nur von quadratischen Matrizen gebildet werden.
=== Teilmatrizen ===
m = [1, 2, 3; 0, 5, 1];
% Die Matrix in einen Spaltenvektor umwandeln
m1 = m(:)
% Das Element aus der 1. Zeile und der 2. Spalte extrahieren
m2 = m(1,2)
% Erste Zeile extrahieren
m3 = m(1, 1:3)
m4 = m(1, :)
% Zweite Spalte extrahieren
m5 = m(1:2, 2)
m6 = m(:, 2)
Ausgabe:
m1 =
1
0
2
5
3
1
m2 = 2
m3 =
1 2 3
m4 =
1 2 3
m5 =
2
5
m6 =
2
5
=== Einheitsmatrizen ===
eye(3,2)
Ausgabe:
ans =
1 0
0 1
0 0
=== Nullmatrizen ===
zeros(2,3)
Ausgabe:
ans =
0 0 0
0 0 0
=== Diagonalmatrizen ===
diag([1, 2, 3])
Ausgabe:
ans =
1 0 0
0 2 0
0 0 3
=== Spur einer Matrix ===
trace([1,2,3; 6,9, 0])
Ausgabe:
ans = 10
=== LR-Zerlegung einer Matrix ===
Führen Sie die LR-Faktorisierung (LR ... links/rechts bzw. LU ... left/upper) einer Matrix m aus. l sei die linke Dreiecksmatrix, r die rechte Dreiecksmatrix und p die Permutationsmatrix
m = [1 0 5
-1 1 -2
0 0 3];
[l, r, p] = lu(m)
Ausgabe:
l =
1 0 0
-1 1 0
0 0 1
r =
1 0 5
0 1 3
0 0 3
p =
1 0 0
0 1 0
0 0 1
=== Eigenwerte ===
a = [5 8
1 3];
% Eigenvektoren und Eigenwerte
[ev, ew] = eig(a)
Ausgabe:
ev =
0.9701 -0.8944
0.2425 0.4472
ew =
Diagonal Matrix
7 0
0 1
Die Eigenwerte sind hier <math>\lambda_1 = 7</math> und <math>\lambda_2 = 1</math>. Die Eigenvektoren sind [0.9701 0.2425] bzw. [-0.8944 0.4472]. Da das Gleichungssystem <math>(A - \lambda_i E) x_i = 0</math> singulär ist, sind alle Lösungsvektoren Vielfache dieser Eigenvektoren.
=== Schwach besetzte Matrizen ===
{{Wikipedia | Dünnbesetzte Matrix}}
Gegeben sei die schwach besetzte Matrix
m = [0 1 0 0 0
0 0 0 3 0
4 0 0 2 0
0 0 1 0 0
0 0 0 1 7]
Mittels dem sparse-Befehl kann man einfach die Elemente != 0 nach folgendem Schema eingeben.
sparse ([zeilenindizes] [spaltenindizes] [werte])
also in unserem Fall:
ms = sparse([1 2 3 3 4 5 5], [2 4 1 4 3 4 5], [1 3 4 2 1 1 7])
Ausgabe:
ms =
Compressed Column Sparse (rows = 5, cols = 5, nnz = 7)
(3, 1) -> 4
(1, 2) -> 1
(4, 3) -> 1
(2, 4) -> 3
(3, 4) -> 2
(5, 4) -> 1
(5, 5) -> 7
Die volle Matrix erhält man mit dem Befehl full:
m = full(ms)
Ausgabe:
m =
0 1 0 0 0
0 0 0 3 0
4 0 0 2 0
0 0 1 0 0
0 0 0 1 7
Grafisch anzeigen lassen kann man sich die Besetzung von Matrizen mit dem spy-Befehl:
spy(ms);
oder (für allgemeine Matrizen auch mittels)
spy(m);
Ausgabe:
[[Datei:octave_sparse1.jpg]]
Wirklich interessant ist der spy-Befehl für größere Matrizen, z.B. um die Bandstruktur zu visualisieren.
e = eye(200);
es = sparse(e);
% Auf sparse-Matrizen kann genauso zugegriffen werden wie auf normalen Matrizen
es(100, 15) = 100;
spy(es);
Ausgabe:
[[Datei:octave_sparse2.jpg]]
=== Matrizen mit Zufallswerten ===
Insbesondere für Testzwecke kann es manchmal sinnvoll sein größere Matrizen mit Zufallswerten zu bilden. Dazu stellt Octave u.a. den rand-Befehl zur Verfügung.
m = rand(5, 6)
Ausgabe:
m =
0.86605 0.61108 0.71347 0.97119 0.52428 0.21993
0.74059 0.49062 0.56073 0.68592 0.74737 0.62680
0.20790 0.84874 0.36834 0.31102 0.25813 0.28933
0.84732 0.98777 0.91512 0.42240 0.87891 0.63757
0.76823 0.80367 0.24639 0.78208 0.77170 0.95281
Die Zufallszahlen liegen gleichverteilt zwischen 0 und 1 und werden nach dem Mersenne-Twister-Verfahren mit einer Periode von <math>2^{19937}-1</math> gebildet.
Andere Verfahren sind:
* randn: Normalverteilte Pseudozufallselemente mit Mittelwert=0 und Varianz=1
* rande: Exponentialverteilte Zufallselemente
* randg: Gammaverteilte Zufallselemente
* randp: Poissonverteilte Zufallselemente
Details dazu siehe in der Octave-Hilfefunktion.
== Aufgaben ==
* Berechnen Sie den Winkel zwischen den beiden Vektoren a = [1 2 0] und b = [2 1 1]. Hinweis: Siehe diesbezüglich auch im Oktave-Hilfesystem den Befehl "norm".
* Gegeben seien Vektoren a = [1 2 5], b = [0 0 -1] und c = [-1 -2 2]. Berechnen Sie das Spatprodukt aus diesen drei Vektoren.
* Multiplizieren Sie die beiden Matrizen A und B (mit Octave und zur Kontrolle händisch)
A = [0 0 1
1 2 1]
B = [1 1
1 2
0 4]
* Ist die Matrix C regulär? Wenn ja, dann bilden Sie die inverse Matrix.
C = [-1 0 0 -4
2 0 1 5
7 6 2 0
3 0 2 6]
* Ist die Matrix D regulär? Wenn ja, dann bilden Sie die inverse Matrix.
D = [2 1 0 0
0 0 2 1
0 0 0 2
1 1 0 0]
* Berechnen Sie die Konditionszahl der folgenden Matrix. Hinweis: Siehe diesbezüglich im Oktave-Hilfesystem den Befehl cond
[3 4 -5
6 0 3
1 1 2]
* Berechnen Sie die Eigenwerte und Eigenvektoren der folgenden Matrix
[6 -3 4 0
0 7 -1 1
0 10 -3 -2
0 1 -2 1]
= Komplexe Zahlen =
Die imaginäre Einheit wird in Octave durch den Buchstaben i, j, I oder J symbolisiert. Darstellen kann man eine komplexe Zahl bekannterweise in mehreren Formen:
* Kartesische Darstellung <math>z = \Re(z) + i \cdot \Im(z)</math>
* Polardarstellungen <math>z = r \cdot (\cos(\phi) + i \cdot \sin(\phi)) = r \cdot e^{i\cdot \phi}</math>
Die konjugiert komplexe Zahl ist <math>z^* = \Re(z) - i \cdot \Im(z)</math>
== Mit komplexen Zahlen rechnen ==
z1 = 2 + 5i; % kartesische Darstellung
z2 = 3 * exp(3j); % Polardarstellung
% Addition
res = z1 + z2;
disp("z1 + z2 = "); disp(res);
% Multiplikation
res = z1 * z2;
disp("z1 * z2 = "); disp(res);
% Realteil
res = real(z2);
disp("Realteil von z2 = "); disp(res);
% Imaginärteil
res = imag(z2);
disp("Imaginaerteil von z2 = "); disp(res);
% Betrag
res = abs(z1);
disp("Betrag von z1 = "); disp(res);
% Argument
res = angle(z1);
disp("Argument von z1 = "); disp(res);
% Konjugiert komplexe Zahl
res = conj(z1);
disp("Konjugiert komplexe Zahl von z1 = "); disp(res);
Ausgabe:
z1 + z2 =
-0.96998 + 5.42336i
z1 * z2 =
-8.0568 - 14.0032i
Realteil von z2 =
-2.9700
Imaginaerteil von z2 =
0.42336
Betrag von z1 =
5.3852
Argument von z1 =
1.1903
Konjugiert komplexe Zahl von z1 =
2 - 5i
== Die gaußsche Zahlenebene ==
clear; close all; clc;
z1 = 3 + 5i;
z2 = 5 * exp(0.5i);
hold on;
plot(z1, "*");
compass(z1);
plot(z2, "o");
compass(z2);
grid on;
[[Datei:octave_komplex1.jpg]]
== Aufgaben ==
* Berechnen Sie die Quadratwurzel der komplexen Zahl <math>z = 3 + 2i</math>.
* Verwandeln Sie folgende Zahlen in die Polarkoordinatendarstellung: <math>-11 - 3i</math> und <math>(1+i)^{10}</math>
* Verwandeln Sie folgende Zahlen in die Normaldarstellung: <math>12 \cdot e^{i\cdot \pi / 4}</math> und <math>3 \cdot (\cos(\pi / 3) + i \cdot \sin(\pi / 3))</math>
* Zeichnen Sie die Zahl <math>3 + 5i</math> in der gaußschen Zahlenebene als Zeiger.
= Funktionen =
Um Programme zu strukturieren und einfacher zu gestalten können Programmteile in Funktionen ausgelagert werden. Eingebaute Funktionen haben wir schon kennengelernt (z.B. die Sinus-Funktion sin). Nun wollen wir sehen, wie man selbst solche Funktionen schreiben kann.
== Eine einfache Funktion schreiben ==
Datei addiere.m:
function res = addiere(a, b)
% Addiere zwei Zahlen a + b
res = a + b;
end
Datei test1.m:
addiere(10, 15)
Ausgabe:
ans = 25
* Jede Funktion sollte in einer eigenen m-Datei stehen.
* Der Dateiname sollte mit dem Funktionsnamen (natürlich ohne Dateiendung .m) übereinstimmen.
* Der Kommentar unter dem Funktionskopf wird als Hilfstext angezeigt, wenn die help-Funktion (hier "help addiere") aufgerufen wird.
== Inline-Funktionen ==
Kurze Funktionen können auch als Inline-Funktionen geschrieben werden.
addiere = inline("a + b");
x = 5;
y = 10;
z = addiere(x, y)
Oder in diesem Fall noch kürzer
addiere = inline("a + b");
z = addiere(5, 10)
Ausgabe:
z = 15
Bei neueren Octave-Versionen kann bei der Verwendung von Inline-Funktionen die Warnung
warning: inline is obsolete; use anonymous functions instead
erscheinen. Ein Blick in die Hilfe-Funktion
help inline
zeigt das selbe Ergebnis. Es sollen also anonyme Funktionen (siehe etwas weiter unten in diesem Text) anstelle von Inline-Funktionen verwendet werden.
== Funktionsstring ==
addiere = "a + b";
a = 5;
b = 10;
z = eval(addiere)
Ausgabe:
z = 15
== Anonyme Funktionen ==
{{Wikipedia | Anonyme Funktion}}
addiere = @(a, b) a + b;
x = 10;
y = 20;
z = addiere(x, y)
oder kürzer
addiere = @(a, b) a + b;
z = addiere(10, 20)
Ausgabe:
z = 30
== Nullstellen von Funktionen bestimmen ==
sinh2 = @(x) sinh(x) + 2;
z = fzero(sinh2, 1)
Ausgabe:
z = -1.4436
Zur Kontrolle soll hier der Graph der Funktion dargestellt werden
clear;
close all;
clc;
sinh2 = @(x) sinh(x) + 2;
x = -2 : 0.1 : 0;
y = sinh2(x);
z = fzero(sinh2, 1)
plot(x, y);
hold on;
plot(z, 0, "o", "Color", "red", "LineWidth", 2);
text (-1.8, 0.8, "Nullstelle");
line([z -1.7], [0, .7], "Color", "black");
grid on;
Ausgabe:
[[Datei:octave_funktion5.jpg]]
Weiter unten im Text wird die ähnliche Funktion "fsolve" beschrieben. "fzero" benutzt zwei verschiedene Funktionen zur Problemlösung, darunter eben auch "fsolve".
Für die Nullstellenbestimmung von Polynomen gibt es die Funktion "roots". Näheres dazu folgt im nächsten Kapitel.
== Globale Variablen ==
Datei addiere.m:
function res = addiere()
global a b;
res = a + b;
end
Datei test1.m:
clear;
close all;
clc;
global a b;
a = 5;
b = 3;
addiere()
Ausgabe:
ans = 8
== Aufgaben ==
* Schreiben Sie eine Funktion "ellipse", welche eine Ellipse am Bildschirm darstellt. Zur Erinnerung: Die Parameterdarstellung der Ellipse lautet <math>x = a\cdot\cos(t), y = b\cdot\sin(t), 0 \leq t \leq 2\pi</math>, Funktionsargumente seien a und b.
* Schreiben Sie <math>y = 2\cdot\sin(x) + 3\cdot\cos(x/2)</math>
** als normale Funktion
** als Funktionsstring
** als Inlinefunktion
** als anonyme Funktion
** stellen Sie diese Funktion grafisch am Bildschirm dar.
= Polynome =
== Einzelne Polynomwerte berechnen ==
% y = 2*x^3 + 5*x^2 + 4 für x = 2 berechnen
p = [2, 5, 0, 4];
polyval(p, 2)
Ausgabe:
ans = 40
== Polynome zeichnen ==
% y = 2*x^3 - 5*x^2 + 4 für das Intervall -5 <= x <= 5 grafisch darstellen
x = -5 : .1 : 5;
p = [2, 5, 0, 4];
y = polyval(p, x);
plot(x,y);
grid on;
Ausgabe:
[[Datei:octave_polynom1.jpg]]
== Nullstellen bestimmen ==
Für Polynome existiert die Funktion "roots" zur Nullstellenbestimmung.
% Nullstellen für y = 2*x^3 - 5*x^2 + 4 bestimmen
p = [2, 5, 0, 4];
r = roots(p)
Ausgabe:
r =
-2.76214 + 0.00000i
0.13107 + 0.84077i
0.13107 - 0.84077i
Dieses Polynom hat nur eine reelle Nullstelle. Diese liegt, wie am obigen Grafen zu ersehen ist, in der Nähe von -2.762. Die beiden anderen Nullstellen sind konjugiert komplex zueinander (wie es auch sein sollte).
== Aufgaben ==
* Berechnen Sie den Wert für x = 3 des Polynoms <math>y = 2x^4 - 3x^3 - x + 7</math>.
* Berechnen Sie die Nullstellen von <math>y = 7x^5 - 3x^2 + 12</math>.
* Zeichnen Sie das Polynom <math>y = 12x^4 - 70x</math> im Intervall <math>-5 \leq x \leq 5</math>.
= Lineare Gleichungssysteme =
Sei <math>Ax = b</math> ein lineares Gleichungssystem. <math>A</math> sei die Koeffizientenmatrix, <math>x</math> der Lösungsvektor und <math>b</math> ein bekannter Vektor.
== Einfache Berechnung mittels Gauß-Verfahren ==
{{Wikipedia | Gaußsches Eliminationsverfahren}}
Beispiel:
A = [5 1
0 2];
b = [1
2];
x = A \ b
Ausgabe:
x =
0
1
== Das gmres-Verfahren ==
gmres steht für Generalized Minimal Residual.
{{Wikipedia | GMRES-Verfahren}}
A = [5 1
0 2];
b = [1
2];
x = gmres(A, b)
Ausgabe:
gmres converged at iteration 2 to a solution with relative residual 2.22045e-16
x =
-1.6653e-16
1.0000e+00
Das Ergebnis weicht etwas vom gaußschen Verfahren ab, ist aber trotzdem im Rahmen der Näherung korrekt.
Weiters kennt Octave noch andere iterative Verfahren, z.B. cgs (Conjugate Gradient Squared) oder bicgstab (Bi-Conjugate Gradient Stabilized). Näheres zu diesen Verfahren siehe in der weiterführenden Literatur (z.B. bei Meister: Numerik linearer Gleichungssysteme, Vieweg+Teubner, 2011)
{{Wikipedia | CGS-Verfahren}}
== Aufgabe ==
* Lösen Sie folgendes Gleichungssystem mittels Octave (und zur Kontrolle auch händisch):
5x + 6y - 2z = 12
3x - y - 3z = 6
2x + 2y + 4z = 5
= Nichtlineare Gleichungssysteme =
== fsolve und fzero ==
Löse eine beliebige Gleichung f(x) = 0, z.B. <math> f(x) = x^2 - 5\cos(x) - 10 = 0 </math>:
f = @(x) x^2 - 5*cos(x) - 10;
xstart = 1;
[x, fval, info] = fsolve(f, xstart)
Ausgabe:
x = 2.4681
fval = -1.7764e-015
info = 1
* x ist eine Nullstelle in der Nähe vom Startwert xstart.
* fval ist die Abweichung, den f bei x aufweist.
* info ist ein "Fehlercode": 1 bedeutet, dass der relative Fehler in der spezifizierten Toleranz liegt (wie es sein soll). 3 würde bedeuten, dass der Algorithmus nicht konvergiert (z.B. weil keine Nullstelle existiert).
Zur Kontrolle plotten wir den Funktionsgraphen:
x = - 1 : .1 : 3;
y = x.^2 - 5.*cos(x) - 10;
plot(x,y, "LineWidth", 2);
grid on;
Ausgabe:
[[Datei:octave_nichtlin1.jpg]]
Und siehe da, die gesuchte Nullstelle liegt wie berechnet bei einem Wert nahe 2,5. Die Funktion <math>x^2 - 5\cos(x) - 10</math> hat noch eine zweite Nullstelle, wie in der folgenden Abbildung zu erkennen ist.
[[Datei:octave_nichtlin2.jpg]]
Diese zweite Nullstelle erhalten wir, wenn der Startwert in der Nähe dieser zweiten Nullstelle liegt, also z.B. bei -1. Ändern Sie einfach den entsprechenden Startwert im obigen Programmcode, und das Programm sollte die Nullstelle in der Nähe von -2.5 liefern.
Auch die Funktion ''fzero'' kann zur Lösung einer nichtlinearen Gleichung verwendet werden. Die Hilfe-Funktion von Octave empfiehlt dies sogar eindringlich für den Fall einer nichtlinearen Gleichung in einer Variablen. Für das gleiche Beispiel wie oben kann der Programmcode folgendermaßen aussehen:
Eingabe:
f = @(x) x^2 - 5*cos(x) - 10;
[x0, y0] = fzero (f, [0, 3])
Ausgabe:
x0 = 2.4681
y0 = -1.2434e-14
== Gleichungssysteme ==
Folgende Aufgabe ist dem Buch "Knorrenschild: Numerische Mathematik, Hanser, 2017, Seite 72" entnommen. Zu lösen ist das nichtlineare Gleichungssystem
<math>f_1 = 2x_1 + 4x_2 = 0 </math>
<math>f_2 = 4x_1 + 8x_2^3 = 0</math>
Lösung:
f.m:
function y = f(x)
y(1) = 2*x(1) + 4*x(2);
y(2) = 4*x(1) + 8*x(2)^3;
end
test1.m:
clear;
close all;
clc;
[x, fval, info] = fsolve (@f, [0, 1])
[x, fval, info] = fsolve (@f, [0, -1])
[x, fval, info] = fsolve (@f, [0, 0])
Ausgabe:
x =
-2 1
fval =
0 7.4930e-09
info = 1
x =
2 -1
fval =
0 -7.4930e-09
info = 1
x =
0 0
fval =
0 0
info = 1
== Aufgaben ==
* Bestimmen Sie die Nullstellen von <math>f(x) = x^2 - 3</math>. Plotten Sie den Grafen.
* Bestimmen Sie die Nullstelle von <math>f(x) = sin(x) - x - 1</math>. Plotten Sie den Grafen.
* Lösen Sie das folgende Gleichungssystem (und stellen Sie das Ganze grafisch am Bildschirm dar): <math> f_1 = x_1 + x_2 = 0; f_2 = x_1 + \sin{x_2} = 0</math>
= Interpolation =
== Eindimensionale Interpolation ==
{{Wikipedia | Interpolation (Mathematik)}}
Bezüglich eindimensionaler Interpolation sei auf die [https://docs.octave.org/v11.1.0/One_002ddimensional-Interpolation.html Octave-Dokumentation und Hilfefunktion zum Befehl " interp1"] verwiesen. Dort findet sich auch ein Programmbeispiel, das als Grundlage des folgenden Plots dient:
[[Datei:octave_interpol1.jpg]]
== Mehrdimensionale Interpolation ==
Bezüglich mehrdimensionaler Interpolation siehe die [https://docs.octave.org/v11.1.0/Multi_002ddimensional-Interpolation.html Hilfefunktion zu "interp2", "interp3" und "interpn"].
== Aufgabe ==
* Gegeben seinen die fünf Stützpunkte p1 = [1, 0], p2 = [2, -5], p3 = [3, 2], p4 = [4, 7], p5 = [5, 6]. Legen Sie eine Funktion (die Interpolierende) durch diese Stützpunkte. Eine Lösungsmöglichkeit:
xp = [1 2 3 4 5];
yp = [0, -5, 2, 7, 6];
xf = 1 : .1 : 5;
spl = interp1(xp, yp, xf, "spline");
pch = interp1(xp, yp, xf, "pchip");
plot(xp, yp, "or", "LineWidth", 2, xf, spl, "LineWidth", 2, ...
xf, pch, "LineWidth", 2);
legend("stuetzpunkte", "spline", "pchip", "location", "southeast");
[[Datei:octave_interpol3.jpg]]
= Differenzialrechnung =
== Polynome differenzieren ==
Es soll das Polynom <math>y = 2x^3 - 5x^2 + 7</math> differenziert werden.
% Differenzieren des Polynoms y = 2*x^3 - 5*x^2 + 7
p = [2, -5, 0, 7];
polyder(p)
Ausgabe:
ans =
6 -10 0
D.h. also, die Ableitung von <math>y = 2x^3 - 5x^2 + 7</math> ist <math>y' = 6x^2 - 10x</math>.
== Sonstige Funktionen differenzieren ==
Als Beispiel differenzieren wir <math>y = 5x\sin{x}</math> und stellen das Ganze grafisch dar.
clear;
close all;
clc;
x = 0 : 0.01 : 10;
y = 5 .* x .* sin(x);
y_strich = diff(y) / 0.01;
plot(x, y, "Color", "red", "LineWidth", 2);
hold on;
plot(x(1:length(x)-1), y_strich, "Color", "blue", "LineWidth", 2);
legend("y", "y'");
grid on;
Ausgabe:
[[Datei:octave_diff1.jpg]]
diff(y) ist der Vektor aus den Differenzen y(2)-y(1), ..., y(n)-y(n-1). Für die genaue Arbeitsweise der diff-Funktion siehe "help diff".
== Aufgaben ==
* Differenzieren Sie das Polynom <math>y = 5y^5 - y^4 + 6y - 4</math>.
* Differenzieren Sie die Funktion <math>y = \log(x) + 10x</math> und stellen Sie y, sowie y' grafisch am Bildschirm dar.
* Differenzieren Sie die Funktion <math>y = \frac{\sinh(x)}{(1+x)}</math> und stellen Sie y, sowie y' grafisch am Bildschirm dar.
= Integralrechnung =
== Polynome integrieren ==
Berechnen Sie das unbestimmte Integral von <math>y = 2x^3 - 7x^2 + 7</math>
p = [2, -7, 0, 7];
p_int = polyint(p)
Ausgabe:
p_int =
0.50000 -2.33333 0.00000 7.00000 0.00000
Das Ergebnis lautet also <math>\int{y dx} = 0.5x^4 - 2.33333x^3 + 7x + C</math> (auf die Integrationskonstante C darf nicht vergessen werden!).
== Gauß-Quadratur ==
{{Wikipedia | Gauß-Quadratur}}
Berechnen Sie das Integral <math>\int_{0}^{3}x^2 dx</math> mittels Gauß-Quadratur.
Datei f.m:
function y = f(x)
y = x^2;
end
Datei test1.m:
[v, ier, nfun, err] = quad ("f", 0, 3)
Ausgabe:
v = 9.0000
ier = 0
nfun = 21
err = 9.9920e-014
Erläuterung zur Ausgabe:
* v ... Resultat der Integration
* ier ... integer error code
* nfun ... Anzahl der Funktionsaufrufe
* err ... Fehler in der Lösung
== Quadratur mittels adaptiver Lobatto-Regel ==
Berechnen Sie diesmal das Integral <math>\int_{0}^{3}x^2 dx</math> mittels Lobatto-Quadratur.
f = inline("x.^2");
v = quadl (f, 0, 3)
Ausgabe:
v = 9
Wie weiter oben bereits angesprochen kann bei der Ausgabe eine Warnung erfolgen. Inline-Funktionen sind inzwischen als obsolet erklärt und es sollen stattdessen anonyme Funktionen verwendet werden.
Zwecks Übung sei nachfolgend nochmals dieses Beispiel berechnet. Diesmal wird aber eine anonyme Funktion verwendet.
v = quadl (@(x) x.^2, 0, 3)
== Aufgaben ==
* Integrieren Sie das Polynom <math>y = 5y^5 - y4 + 6y - 4</math>.
* Integrieren Sie die Funktion <math>y = \log(x) + 10x</math> von -5 bis 5.
* Integrieren Sie die Funktion <math>y = x^3</math> von 0 bis 4. Verwenden Sie hierzu die Simpsonregel (siehe dazu in der Hilfefunktion den Befehl "quadv").
= Gewöhnliche Differenzialgleichungen =
== ode23, ode45 und lsode ==
Für die Lösung von Differenzialgleichungen stehen die Funktionen
* ode23
bzw.
* ode45
zur Verfügung. Diese Funktionen implementieren das Runge-Kutta-Verfahren. "ode" steht für "Ordinary Differential Equation" (also auf Deutsch für "Gewöhnliche Differentialgleichung"). Die Zahlen bei ode23 oder ode45 stehen für die Ordnung.
{{Wikipedia | Runge-Kutta-Verfahren}}
Beispiel <math>y' = x^2 + y^3</math>:
clear;
close all;
clc;
[x, y] = ode45(@(x,y) (x^2+y^3), [0 1], 0);
plot(x, y, "LineWidth", 2);
Ausgabe:
[[Datei:octave_ode1.jpg]]
Bezüglich der genauen Funktionsweise von "ode45" (oder "ode23") siehe die Octave-Hilfe.
Auch die Funktion "lsode" steht zur Lösung von ODEs zur Verfügung.
Beispiel <math>y' = x + y</math>:
clear;
close all;
clc;
t = 0 : .1 : 5;
[y2, istate, msg] = lsode(@(x,y) (x + y), 1, t);
istate
msg
plot(t, y2);
Ausgabe:
istate = 2
msg = successful exit
[[Datei:octave_lsode1.jpg]]
Bezüglich der genauen Funktionsweise von "lsode" siehe die Octave-Hilfe.
== Aufgaben ==
* Lösen Sie die Differenzialgleichung <math>y' = \frac{1}{x\cdot y}</math> mit Octave. Kontrollieren Sie das Ergebnis, indem Sie die DGl händisch lösen.
* Lösen Sie die Differenzialgleichung <math>m' = -k\cdot m</math>. Kontrollieren Sie das Ergebnis, indem Sie die DGl händisch lösen.
* Lösen Sie die Differenzialgleichung <math>y' = \sqrt{|y|}</math>.
= Die Fast-Fourier-Transformation =
{{Wikipedia | Schnelle Fourier-Transformation}}
Für die Funktion "fft" siehe das Octave-Hilfesystem.
= Mengenrechnung =
== Vereinigungsmenge ==
v1 = [1 2 3 4];
v2 = [2 4 6];
union(v1, v2)
Ausgabe:
ans =
1 2 3 4 6
== Schnittmenge ==
v1 = [1 2 3 4];
v2 = [2 4 6];
intersect(v1, v2)
Ausgabe:
ans =
2 4
= Logik =
Logische Operatoren werden oft benötigt, z.B. bei Schleifen und Verzweigungen.
Octave kennt die logischen Operatoren <code>or, and, not</code> und <code>xor</code>. Als Beispiel sei die Wahrheitstabelle für den Operator <code>or</code> dargestellt.
A B A or B
--------------------
true true true
true false true
false true true
false false false
In Octave kann das so ausgedrückt werden:
or( true, true )
or( true, false )
or( false, true )
or( false, false )
Ausgabe:
ans = 1
ans = 1
ans = 1
ans = 0
Zahlen ungleich 0 stehen für true, 0 für false. Z.B.:
or( 22, 0)
Ausgabe:
ans = 1
Äquivalent zu <code>or</code> ist der Operator <code>|</code>:
22 | 0
Ausgabe:
ans = 1
Zwecks näheren Informationen zu den Operatoren <code>and (&, &&), not (~, !)</code> und <code>xor</code> bemühe man Octaves Help-Funktion.
Bitweise logische Funktionen kennt Octave auch, so kann man z.B. zwei Zahlen mit dem bitweisen OR-Operator verknüpfen:
0b1100101
0b0110001
---------
0b1110101
Oder in Dezimalzahlen:
101
49
---
117
In Octave:
bitor( 0b1100101, 0b0110001 )
dec2bin( ans )
Ausgabe:
ans = 117
ans = 1110101
Zu <code>bitand, bitxor</code> usw. siehe die Octave-Hilfe-Funktion.
= Stochastik =
==Deskriptive Statistik ==
=== Lageparameter ===
Arithmetischer Mittelwert:
vec = [1 2 3 4 5 12 13];
mw = mean(vec)
Ausgabe:
mw = 5.7143
Der Median oder Zentralwert läßt sich folgendermaßen berechnen:
vec = [1 2 3 4 5 12 13];
median(vec)
Ausgabe:
ans = 4
Der Modus oder häufigste Wert läßt sich mittels "mode"-Funktion eruieren:
vec = [1 2 1 3 5 1 2 7];
[m, f, c] = mode (vec);
disp(m);
disp(f);
disp(c);
Ausgabe:
1
3
{
[1,1] = 1
}
m (erste Zeile der Ausgabe) ist der Modus. f (zweite Zeile) ist die Häufigkeit. Näheres dazu siehe im Octave-Hilfesystem.
=== Streuungsparameter ===
Varianz:
vec = [1 2 3 1 1 6 7];
v = var(vec)
Ausgabe:
v = 6.3333
Standardabweichung:
vec = [1 2 3 1 1 6 7];
s = std(vec)
Ausgabe:
s = 2.5166
=== Grafiken erzeugen ===
Histogramme:
v = [1 1 2 3 1 6 7 6 1 1 1 2];
hist(v, max(v));
Ausgabe:
[[Datei:octave_histo2.jpg]]
Balkendiagramme:
v = [1 1 2 3 1 6 7 6];
bar(v);
Ausgabe:
[[Datei:octave_bar111.jpg]]
Treppendiagramm:
v = [1 1 2 3 1 6 7 6];
stairs(v);
Ausgabe:
[[Datei:octave_stairs1.jpg]]
Stabdiagramm:
v = [1 1 2 3 1 6 7 6];
stem(v);
Ausgabe:
[[Datei:octave_stem1.jpg]]
=== Aufgaben ===
Gegeben sei folgende Datentabelle mit den Werten:
v1 = [3 4 1 1 7 2 1 9 2 5 9 7 2 2 9 2 2 1 2 8]
v2 = [1 1 0 2 3 4 1 2 7 0 2 1 5 5 5 4 5 2 5 0]
* Berechnen Sie die Lageparameter und Streuungsparameter des Vektors v1.
* Berechnen Sie Kovarianz und Korrelationskoeffizient der beiden zugeordneten Vektoren v1 und v2.
* Zeichnen Sie das Histogramm des Vektors v1.
== Wahrscheinlichkeitsrechnung ==
=== Kombinatorik ===
Der Binomialkoeffizient:
<math>\binom{n}{k}=\frac{n!}{k!(n-k)!}</math>
In Octave z.B.:
n = 30;
k = 4;
n_ueber_k = nchoosek (n, k)
Ausgabe:
n_ueber_k = 27405
Permutationen sind die verschiedenen Anordnungsmöglichkeiten mit der Anzahl n! = n * (n-1) * ... * 2 * 1.
Beispiel:
v = [1, 2, 3];
p = perms(v)
Ausgabe:
p =
1 2 3
2 1 3
1 3 2
2 3 1
3 1 2
3 2 1
n! (n-Fakultät) selbst kann so berechnet werden:
% 10!
n = 10;
factorial (n)
Ausgabe:
ans = 3628800
=== Verteilungen ===
Octave kennt eine ganze Reihe von Dichte- und Verteilungsfunktionen und zwar
* Probability Density Functions (PDF, Dichtefunktionen)
* Cumulative Distribution Functions (CDF, Verteilungsfunktionen)
Z.B.:
* Binomialverteilung:
** binopdf
** binocdf
* Hypergeometrische Verteilung:
** hygepdf
** hygecdf
* Normalverteilung:
** normpdf
** normcdf
* Studentverteilung:
** tpdf
** tcdf
* Weibullverteilung:
** wblpdf
** wblcdf
Ein Codebeispiel zur Binomialverteilung:
clear;
close all;
clc;
x = 0 : 1 : 10;
n = 10;
p = 0.1;
b1 = binopdf (x, n, p);
b2 = binocdf (x, n, p);
subplot(221);
bar(x, b1);
title("binopdf");
text(1, 0.1, "n=10; p=0.1");
subplot(222);
bar(x, b2);
title("binocdf");
text(1, 0.5, "n=10; p=0.1");
n = 10;
p = 0.5;
b1 = binopdf (x, n, p);
b2 = binocdf (x, n, p);
subplot(223);
bar(x, b1);
text(1, 0.1, "n=10; p=0.5");
subplot(224);
bar(x, b2);
text(1, 0.1, "n=10; p=0.5");
Ausgabe:
[[Datei:octave_bino3.jpg]]
Möglicherweise erhalten Sie bei diesem Beispiel eine Fehlermeldung in der Form
error: 'binopdf' undefined near line 8, column 6
The 'binopdf' function belongs to the statistics package from Octave
Forge which you have installed but not loaded. To load the package, run
'pkg load statistics' from the Octave prompt.
Laden Sie einfach das Paket für die Statistikfunktionen, wie in der Fehlermeldung beschrieben.
Ein Codebeispiel zur Normalverteilung:
clear;
close all;
clc;
x = -4 : .1 : 4;
b1 = normpdf(x);
b2 = normcdf(x);
subplot(121);
plot(x, b1);
title("normpdf");
grid on;
subplot(122);
plot(x, b2);
title("normcdf");
grid on;
Ausgabe:
[[Datei:octave_norm111.jpg]]
== Zufallszahlengeneratoren ==
Octave kann Zufallszahlen aus einer großen Anzahl von Verteilungen generieren, z.B.
* Chi-Quadrat-Verteilung: chi2rnd
* Log-Normal-Verteilung: lognrnd
* Normalverteilung: normrnd
Codebeispiel:
mean = 0;
standardabweichung = 1;
zufallszahl = normrnd (mean, standardabweichung)
Ausgabe (gibt eine Zufallszahl rund um den Mittelwert 0 aus), z.B.
zufallszahl = 1.0451
Auch Zufallsvektoren (oder Zufallsmatrizen) können erstellt werden:
mean = [0 0 0 0 0];
standardabweichung = 1;
zufallsvektor = normrnd (mean, standardabweichung)
Ausgabe, z.B.:
zufallsvektor =
1.47108 -0.51280 0.52726 0.31730 -1.04422
= Einfache Benutzeroberflächen erstellen=
== Input ==
fflush (stdout);
x = input("Gib eine Zahl ein: ");
disp(2 * x);
Ein-/Ausgabe:
Gib eine Zahl ein: 12
24
Der "fflush"-Befehl sollte immer vor dem Aufruf des input-Befehls aufgerufen werden. Näheres zu "fflush" siehe im Octave-Hilfesystem.
== Diverse einfache vorgefertigte Dialoge ==
Fehlermeldung:
errordlg("Fehlermeldung");
[[Bild:octave_fehlermeldung1.jpg]]
Warnung:
warndlg("Warnung");
[[Bild:octave_warnung1.jpg]]
Hilfedialog:
helpdlg
[[Bild:octave_hilfe1.jpg]]
Abfragedialog:
button = questdlg ("Frage")
[[Bild:octave_abfrage1.jpg]]
Eingabedialog:
in = inputdlg("Eingabe")
[[Bild:octave_eingabe1.jpg]]
Messagebox:
h = msgbox ("Eine Mitteilung!");
[[Bild:octave_messagebox1.jpg]]
== Komplexere vorgefertigte Dialogboxen ==
=== Menübox ===
auswahl = menu("Auswahl", "Affe", "Elefant", "Loewe", "Sonstiges");
switch(auswahl)
case 1
disp "Affe quietscht"
case 2
disp "Elefant trompetet"
case 3
disp "Loewe bruellt"
otherwise
disp "Sonstiges"
end
Ausgabe:
[[Bild:octave_menu1.jpg]]
Es werde beispielsweise die Nummer 2 gewählt.
Ausgabe:
Elefant trompetet
=== Dialogliste ===
clear;
close all;
clc;
opt = {"Eins", "Zwei", "Drei"};
[sel, ok] = listdlg ("ListString", opt, "SelectionMode", "Multiple");
if (ok == 1)
for i = 1 : numel(sel)
disp(opt{sel(i)});
end
else
disp("Cancel");
end
[[Bild:octave_dialog1.jpg]]
Es werden beispielsweise alle Optionen ausgewählt.
Ausgabe:
Eins
Zwei
Drei
=== Fortschrittsbalken ===
h = waitbar ([0.5])
[[Bild:octave_fortschritt1.jpg]]
=== Datei- und Verzeichnisdialoge ===
Dateidialog:
[fname, fpath, fltidx] = uigetfile ()
[[Bild:octave_dateidialog2.jpg]]
Ähnlich sind die Befehle "uiputfile" und "uigetdir". Dazu sei auf die Octave-Hilfe verwiesen.
== Eigene Dialoge kreieren ==
Dieses Thema sei hier nur kurz angerissen.
Programmcode:
d = dialog("Position", [300, 300, 250, 150], "Name", "Dialog");
txt = uicontrol("Parent", d, ...
"Style", "text", ...
"Position", [20, 80, 210, 40], ...
"String", "Hallo Welt");
btn_servus = uicontrol("Parent", d, ...
"Position", [30, 20, 80, 30], ...
"String", "Servus", ...
"Callback", "disp('Servus angeklickt!');");
btn_hallo = uicontrol("Parent", d, ...
"Position", [140, 20, 80, 30], ...
"String", "Hallo", ...
"Callback", "disp('Hallo angeklickt!');");
uiwait(d);
Ausgegebenes Dialogfenster:
[[Bild:octave_dialog100.jpg]]
Ausgabe auf der Konsole (je nach gedrücktem Button), z.B.:
Servus angeklickt!
Die Position wird als [links, unten, breite, höhe] angegeben. Der Koordinatennullpunkt liegt, bezogen auf das Elternfenster, links unten. Es sind auch negative Koordinatenwerte möglich. Sinnvoll ist das z.B. bei einem dynamischen Ausblenden ohne zu löschen, oder für Animationen.
[[Bild:Cartesian-coordinate-system.svg | 150px]]
Wer mehr dazu wissen will, sei auf die Octave-Dokumentation verwiesen. Insbesondere siehe
* dialog
* uicontrol
* uipanel
* uibuttongroup
* uitable
* uimenu
* uitoolbar
== Aufgaben ==
=== Aufgabe 1 ===
Erzeugen Sie ein Dialogfenster mit einem Texteingabefeld und einem Button. Beim Klicken auf den Button soll der Eingabetext auf der Konsole ausgegeben werden. Das Dialogfenster soll also in etwa so aussehen:
[[Bild:octave_dialog105.jpg]]
Da dies etwas komplizierter als das oben gezeigte Beispiel ist, werden nachfolgend ein paar Codefragmente zwecks Lösung angegeben:
Datei button_callback.m:
function button_callback(editHandle)
eingegText = get(editHandle, "String");
disp(eingegText);
end
Codefragement in test1.m:
% ...
edit = uicontrol(% ...
"Style", "edit", ...
%, ...
"HorizontalAlignment", "left");
btn = uicontrol(% ...
"Callback", @(src, event) button_callback(edit));
% ...
Aufruf mit:
octave test1.m
Eingabe von z.B. "Hallo Welt!":
[[Bild:octave_dialog106.jpg]]
Ausgabe auf der Konsole nach dem Drücken des Buttons:
Hallo Welt!
=== Aufgabe 2 ===
Erzeugen Sie ein Dialogfenster mit zwei Eingabefeldern und einem Button. Eingegeben in diese zwei Eingabefelder werden vom Benutzer Zahlen. Auf der Konsole ausgegeben werden soll, nach Drücken des Buttons, das Produkt dieser zwei Zahlen.
Auch hier werden wieder Codefragemente angegeben.
Datei button_callback.m:
function button_callback(edit1, edit2)
zahl1 = str2double(get(edit1, 'String'));
zahl2 = str2double(get(edit2, 'String'));
disp(zahl1 * zahl2);
end
Codefragment Datei test1.m:
% ...
btn = uicontrol("Parent", d, ...
% ...
"Callback", @(src, event) button_callback(edit1, edit2));
% ...
Was passiert, wenn der Benutzer keine Zahlen, sondern beliebige Strings eingibt?
= Fehlerhandling mit try/catch =
Die try/catch-Anweisung entspricht weitgehend jener, die aus höheren Programmiersprachen wie C++ oder Java bekannt sind. Aufgebaut ist diese Anweisungsfolge so:
try
BODY
catch
CLEANUP
end
Beispiel:
clear;
close all;
clc;
try
a = 10 / "zahl";
disp(a);
disp("Weiter im try-Block");
catch
disp("Catch: Kann nicht durch einen String dividieren");
end
Ausgabe:
Catch: Kann nicht durch einen String dividieren
Sinnvoll ist die try/catch-Folge, wenn z.B. auch in einem Fehlerfall Dateien wieder geschlossen werden sollen.
= Ein- und Ausgabe =
== Formatierte Ausgabe am Bildschirm, formatiertes Lesen von der Tastatur ==
Folgendes Beispiel ist der Octave-Hilfe (von Octave 3.0.3) entnommen:
pct = 37;
filename = "foo.txt";
printf ("Processed %d%% of `%s'.\nPlease be patient.\n", pct, filename);
Ausgabe:
Processed 37% of `foo.txt'.
Please be patient.
"printf" gibt einen formatierten String am Bildschirm (genauer in den Stream stdout) aus. Wie man sieht, orientiert sich das Format an der Programmiersprache C.
Für das formatierte Lesen vom Stream stdin (normalerweise also von der Tastatur) steht das Pendant "scanf" bereit.
== Von einem String lesen bzw. in einen String schreiben ==
Bezüglich der Funktionen
* sprintf
und
* sscanf
sei auf die Octave-Hilfefunktion verwiesen.
== Lesen und Schreiben von einer Datei ==
=== Datei schreiben ===
% Datei c:\tmp\datei.test zum Schreiben öffnen
datei = fopen ("c:/tmp/datei.test", "w");
% Etwas in die Datei schreiben
fprintf(datei, "Hallo, Welt!");
% Datei schließen
fclose(datei);
=== Datei lesen ===
% Datei c:\tmp\datei.test zum Lesen öffnen
datei = fopen ("c:/tmp/datei.test", "r");
% Etwas aus der Datei lesen
[string] = fscanf(datei, "%s");
disp(string);
% Datei schließen
fclose(datei);
Ausgabe:
Hallo,Welt!
=== Dateiende prüfen ===
Mittels des Befehls
feof(FID);
kann das Dateiende geprüft werden. Wenn die EOF-Bedingung zutrifft, dann wird 1 zurückgegeben, wenn nicht dann 0. Ein Beispiel folgt später als Lösung einer Aufgabe.
=== warning und error ===
Eine Warnung kann man am stderr-Stream ausgeben. Die warning-Funktion entspricht ansonsten der printf-Funktion. Nach Ausgabe der Warnung wird das Programm normal fortgesetzt.
m = [1 2
3 6];
if(det(m) == 0)
warning("Matrix ist singulaer");
end
disp("Weiter geht's");
Ausgabe:
warning: Matrix ist singulaer
warning: called from
test1 at line 5 column 3
Weiter geht's
Schärfer ist der error-Befehl. Die Fehlermeldung wird am stderr-Stream ausgegeben. Vom Format her entspricht diese Funktion dem printf-Befehl. Nach Ausgabe der Fehlermeldung wird das Programm beendet.
m = [1 2
3 6];
if(det(m) == 0)
error("Matrix ist singulaer");
end
disp("Weiter geht's");
Ausgabe:
error: Matrix ist singulaer
error: called from
test1 at line 5 column 3
== Aufgaben ==
* Schreiben Sie ein Programm, das die Zahlen 1 bis 10 zeilenweise in eine Datei ausgibt.
* Lesen Sie diese Zeilen wieder von der Datei ein und geben Sie sie am Bildschirm aus.
* Gegeben sei eine Datei. Lesen Sie die Daten aus dieser Datei ein und rechnen Sie per Octave-Programm den Gesamtpreis für alle Tiere aus. Die Anzahl der Zeilen und der genaue Dateinhalt sei Ihnen vorab nicht bekannt. Bekannt ist nur das Datenformat wie folgt:
Nr. Name Einzelpreis Stueck
1 Affe 15000.50 2
2 Loewe 11000.90 1
3 Nashorn 45000.10 1
4 Elefant 51245.90 3
5 Tiger 9000.70 2
6 Maus 34.90 12
Eine einfache Lösung ohne Schnickschnack (Fehlerüberprüfungen etc.) für dieses Beispiel könnte wie folgt aussehen:
clear;
close all;
clc;
datei = fopen ("c:/tmp/daten1.txt", "r");
gesamtpreis = 0;
% Kopfzeile einlesen
[nr, name, preis, stk] = fscanf(datei, "%s %s %s %s", "C");
while(feof(datei) == 0)
% Datensätze einlesen
[nr, name, preis, stk] = fscanf(datei, "%d %s %f %d", "C");
gesamtpreis += preis*stk;
end
fclose(datei);
disp("Gesamtpreis = ");
format long;
disp(gesamtpreis);
Ausgabe:
Gesamtpreis =
258159.900000000
= Datencontainer =
== Datenstrukturen ==
Pseudocode:
STRUKTUR s
ZAHL a
VEKTOR b
STRING c
END
Octave-Code:
s.a = 45.9;
s.b = [1 2 3 4 5];
s.c = "Hallo!";
s
Ausgabe:
s =
scalar structure containing the fields:
a = 45.90000000000000
b =
1 2 3 4 5
c = Hallo!
Um ein paar weitere Möglichkeiten zum Handling mit Datenstrukturen aufzuzeigen, sei folgender Code aufgeführt.
Datei addsub.m
function res = addsub(a, b)
res.x = a + b;
res.y = a - b;
end
Datei test1.m
clear;
clc;
addsub(10, 50)
r = addsub(30, 70)
r.x
r.y
++r.x
Ausgabe:
ans =
scalar structure containing the fields:
x = 60
y = -40
r =
scalar structure containing the fields:
x = 100
y = -40
ans = 100
ans = -40
ans = 101
Die Funktion "addsub" liefert die Struktur res mit zwei Zahlenwerten. Die Elemente der Datenstruktur können auch außerhalb der Funktion angesprochen werden. Auch gerechnet werden kann mit diesen Elementen.
== Cell Arrays ==
Manchmal kann es sinnvoll sein mehrere Variablen verschiedenen Typs und Größe in einer Variablen zu speichern. Dies funktioniert ähnlich wie bei Vektoren. Es werden aber geschweifte Klammern verwendet.
Eingabe:
c = {"Hallo Welt!", [2 2], 44}
c{1}
c{1:2}
Ausgabe:
c =
{
[1,1] = Hallo Welt!
[1,2] =
2 2
[1,3] = 44
}
ans = Hallo Welt!
ans = Hallo Welt!
ans =
2 2
Elemente des Cell Arrays können auch wieder mit Variablen anderen Typs überschrieben werden.
c = {"Hallo Welt!", [2 2], 44};
c{1} = 5;
c
Ausgabe:
c =
{
[1,1] = 5
[1,2] =
2 2
[1,3] = 44
}
= Objektorientierte Programmierung =
Octave unterstützt auch objektorientierte Programmierung mit dem Schlüsselwort <code>classdef</code> (ab Version 4.0). Dieses Thema ist aber etwas für fortgeschrittene Anwender und wird hier nicht behandelt. Wen es trotzdem interessiert, der sei auf die [https://docs.octave.org/latest/Object-Oriented-Programming.html Octave-Dokumentation] verwiesen.
= Octave im Zusammenspiel mit anderen Programmiersprachen =
== .oct-Dateien ==
Eine .oct-Datei in GNU Octave ist eine kompilierte C/C++-Datei, die als dynamisch ladbares Objekt direkt in Octave ausgeführt werden kann. oct-Dateien sind meist schneller als nativer Octave-Code.
1. Schritt: Erstelle z.B. eine C++-Datei ''quadrat.cc'' (es soll das Quadrat einer Zahl berechnet werden)
#include <octave/oct.h>
DEFUN_DLD(quadrat, args, nargout, "Quadrat einer Zahl berechnen")
{
double x = args(0).double_value();
double res = x*x;
return octave_value(res);
}
* <code>DEFUN_DLD</code> ist ein Makro. Damit wird angezeigt, dass es sich um eine dynamisch ladbare Funktion handelt ('''De'''fine '''Fun'''ction – '''D'''ynamically '''L'''inked '''D'''istribution).
* Der erste Parameter muss mit dem Namen der Funktion und der erstellten oct-Datei übereinstimmen, also hier <code>quadrat</code>.
* <code>args</code>: Argumente die beim Aufruf in Octave übergeben werden.
* <code>nargout</code>: Anzahl der Rückgabewerte.
* "Quadrat einer Zahl berechnen": Dokumentationsstring
2. Schritt: ''quadrat.cc'' kompilieren
# Terminal öffnen
# In das quadrat.cc-Verzeichnis wechseln
# Octave aufrufen
# cc-Datei zu einer oct-Datei kompilieren: <code>mkoctfile quadrat.cc</code>
# Wenn das ohne Fehlermeldung durchläuft, so sollte im Anschluss eine (relativ große) ''quadrat.oct''-Datei im entsprechenden Verzeichnis zu finden sein.
3. Schritt: Funktion <code>quadrat()</code> in Octave aufrufen, z.B.:
y = quadrat(5)
Es ergibt sich folgende Ausgabe:
y = 25
Damit das funktioniert, müssen natürlich die entsprechenden Werkzeuge (Compiler etc.) installiert sein. Darauf wird hier aber nicht näher eingegangen.
Die Dokumentation zu den .oct-Dateien findet sich auf [https://docs.octave.org/v11.1.0/Oct_002dFiles.html].
== Andere Möglichkeiten ==
* .mex-Dateien ('''M'''ATLAB '''Ex'''ecutables): Wenn man kompatibel zu MATLAB bleiben muss
* Java- oder Python-Schnittstelle (Nachteil: langsamer als .oct-Dateien)
Bevor man aber diese Möglichkeiten in Anspruch nimmt, sollte man vektorisieren. Damit lassen sich oft schon höhere Geschwindigkeiten erzielen. Dieses Thema wurde früher schon kurz behandelt ([[Ing_Mathematik:_Numerische_Mathematiksysteme_am_Beispiel_von_Octave#Die_FOR-Schleife|FOR-Schleife]]).
= Octave GUI =
Das GUI-Programm ('''G'''raphical '''U'''ser '''I'''nterface) von Octave entspricht im Wesentlichen anderen Programmier-Benutzeroberflächen (IDEs ... '''I'''ntegrated '''D'''evelopment '''E'''nvironments), wie z.B. Eclipse (Java), Code::Blocks (C/C++) oder Spyder (Python). Nachfolgend ist ein Screenshot des Octave-GUI mit einigen Anmerkungen dargestellt.
[[Bild:octave_gui2.jpg|600px]]
Probieren Sie einfach die Möglichkeiten der zur Verfügung gestellten GUI/IDE aus.
= Komplexere Aufgaben =
* Berechnen Sie die Fläche, den Umfang, die Seitenlängen, den Inkreis und den Umkreis eines Dreiecks. Stellen Sie das Dreieck inklusive In- und Umkreis grafisch dar. Speichern Sie die Daten in einer Datei. Die drei Eckpunkte dieses Dreiecks sollen vom Benutzer beliebig vorgegeben werden.
* Die Werte einer beliebig großen quadratischen Matrix seien in einer Datei gespeichert. Lesen Sie diese Datei ein und berechnen Sie daraus die Determinante der Matrix, die inverse Matrix, die Eigenvektoren und -werte, die Spur. Führen Sie die LR-Zerlegung durch. Geben Sie diese Werte am Bildschirm aus.
= Ausblick =
Dies war eine kurze Einführung in die Berechnungs- und Darstellungsmöglichkeiten mit Octave. Es sollten etliche relevante Themen behandelt, oder zumindest kurz angesprochen worden sein. Wem dieser Text nicht ausreichend ist, der sei auf die entsprechende weiterführende Literatur, die Octave-Hilfefunktion und die Octave-Dokumentation verwiesen. Octave kennt noch viel mehr Befehle, als hier dargestellt wurden. Aber auch Octave selbst ist erweiterbar. Man siehe z.B. Octave Packages (https://gnu-octave.github.io/packages/) oder man schreibt selbst Erweiterungen.
{{Navigation_zurückhochvor_buch|
zurücktext=Maxima|
zurücklink=Ing Mathematik: Computeralgebrasysteme am Beispiel von Maxima|
hochtext=Gesamtinhaltsverzeichnis|
hochlink=Ing:_Mathematik_für_Ingenieure|
vortext=Julia für Ingenieure|
vorlink=Ing Mathematik: Julia}}
pen6f76nhmd81gfiik91cc17kyzb2tm
Diskussion:Ing Mathematik: Numerische Mathematiksysteme am Beispiel von Octave
1
109846
1091081
1029375
2026-09-19T12:42:47Z
Intruder
1513
Neuer Abschnitt /* Frage an die Google KI -> Ist das Kapitel "Octave" im Ing Math-Wikibook empfehlenswert? */
1091081
wikitext
text/x-wiki
Was fehlt noch:
* Korrekturlesen
* Bilder umbenennen (entsprechend Wikipediaregeln und alte Bilder zum Löschen vorschlagen)
* Feedback (ist der Text verständlich, zu leicht/zu schwierig ...)
* Raum für Verbesserungen und Erweiterungen gibt es immer
Stand: --[[Benutzer:Intruder|Intruder]] 18:47, 9. Mai 2020 (CEST)
: Bilder habe ich umbenannt und alte Bilder zum Löschen vorgeschlagen --[[Benutzer:Intruder|Intruder]] 16:32, 10. Mai 2020 (CEST)
: Einmal Korrektur gelesen habe ich den Text auch --[[Benutzer:Intruder|Intruder]] 15:49, 16. Mai 2020 (CEST)
== Anmerkung zu Nichtlineare Gleichungssysteme / Gleichungssysteme ==
Das angegebene fsolve-Beispiel funktioniert mit der Octave-Version 7.3.0 nicht! Fehlermeldung:
error: for x^y, only square matrix arguments are permitted and one argument must be scalar. Use .^ for elementwise power.
error: called from
f at line 2 column 5
fsolve at line 246 column 8
test1 at line 5 column 17
Aber auch die ähnlichen Beispiele in der Octave-Dokumentation zu fsolve funtionieren nicht - gleiche Fehlermeldung. Das macht mich stutzig. Ev. ist das ein Bug in Octave? Abwarten, ob die Fehlermeldung in einer späteren Version weiterhin auftritt?
--[[Benutzer:Intruder|Intruder]] 18:22, 5. Mär. 2023 (CET)
: Kein Bug, sondern ein Fehler meinerseits! Beispiel funktioniert auch mit Octave 7.3.0. --[[Benutzer:Intruder|Intruder]] 18:17, 7. Mär. 2023 (CET)
== Version 8.1.0 ==
Der Text wurde mit der Octave-Version 8.1.0 durchgesehen. --[[Benutzer:Intruder|Intruder]] 14:07, 11. Mär. 2023 (CET)
== Version 8.3.0 ==
Der Text wurde mit der Octave-Version 8.3.0 durchgesehen. --[[Benutzer:Intruder|Intruder]] 10:19, 22. Okt. 2023 (CEST)
== Version 9.1.0 ==
Der Text wurde mit der Octave-Version 9.1.0 durchgesehen. --[[Benutzer:Intruder|Intruder]] 16:57, 19. Mär. 2024 (CET)
== Frage an die Google KI -> Ist das Kapitel "Octave" im Ing Math-Wikibook empfehlenswert? ==
Antwort von soeben: "Das Kapitel „Numerische Mathematiksysteme am Beispiel von Octave“ im Wikibook „Ing: Mathematik für Ingenieure“ ist sehr empfehlenswert" ... Wenn Sie Mathematik im Ingenieurskontext anwenden müssen, ist das Kapitel eine der besten kostenlosen deutschsprachigen Ressourcen ... [[Benutzer:Intruder|Intruder]] 14:42, 19. Sep. 2026 (CEST)
8ccfy986noriedvux8bdtxth38cljik
Ing Mathematik: Julia
0
117895
1091124
1089662
2026-09-20T07:19:43Z
Intruder
1513
/* Ein paar Worte zur Erklärung */
1091124
wikitext
text/x-wiki
{{Navigation_zurückhochvor_buch|
zurücktext=Octave|
zurücklink=Ing Mathematik: Numerische Mathematiksysteme am Beispiel von Octave|
hochtext=Gesamtinhaltsverzeichnis|
hochlink=Ing:_Mathematik_für_Ingenieure|
vortext=Python für Ingenieure|
vorlink=Ing Mathematik: Python}}
= Hallo Welt und allgemeine Hinweise =
== Was ist Julia ==
* Julia ist eine höhere Programmiersprache, die vor allem für numerisches und wissenschaftliches Rechnen entwickelt wurde.
* Julia ist Open-Source (MIT-Lizenz).
* Julia ist schnell (JIT-Compiler).
* Julia ist für wichtige Betriebssysteme erhältlich (z.B. für Linux, MS Windows, macOS).
* Julia als Programmiersprache ist case-sensitive - d.h. Groß- und Kleinschreibung ist relevant bei der Eingabe von Befehlen.
{{Wikipedia | Julia (Programmiersprache)}}
== Julia installieren ==
=== MS Windows ===
Laden Sie das aktuelle Julia-Paket von der Webseite [https://julialang.org/downloads/] herunter (Manual Downloads). Weiter geht es wie bei jedem anderen größeren zu installierenden Programm. Einfach das Installationsprogramm im Explorer doppelklicken und den Anweisungen des Setup-Programmes folgen. Alternativ können Sie auch den "MSIX App Installer" verwenden, siehe die genannte Download-Seite.
=== Linux ===
Den Install-Button auf der Seite [https://julialang.org/] anklicken und den Anweisungen folgen (<code>curl ...</code>). Das Programm wird dann automatisch installiert. Unter openSUSE Tumbleweed können sie Julia auch via YaST installieren (Paket <code>juliaup</code>).
== Julia starten ==
=== MS Windows ===
Das Icon für das Julia-Programm doppelklicken. Und schon startet das Programm.
[[Datei:juliastart1.jpg]]
Das Julia-System präsentiert sich dann folgendermaßen (interaktives Kommandozeilenprogramm REPL [Read–eval–print loop]):
[[Datei:Julia1.0.jpg|500px]]
=== Linux ===
Einfach <code>julia</code> in einer Konsole eintippen und mit der <code>Return</code>-Taste abschließen. Dies startet die Julia-REPL.
Es gibt auch noch andere Möglichkeiten Julia zwecks Programmausführung zu starten, z. B. den {{W|Shebang}} (<code>#!</code>) am Beginn eines Julia-Scripts. Das Script sei als Script.py gespeichert. Dann kann das Script mit ./Script.py ausgeführt werden. Für openSUSE Tumbleweed sei nachfolgend ein lauffähiges "Hallo Welt!"-Script angegeben.
#!/usr/bin/julia
println("Hallo Welt!")
Die Berechtigungen zum Ausführen der Datei müssen natürlich noch richtig gesetzt werden, z.B. mittels <code>chmod 777 Script.py</code>. <small>Die "Maske" <code>777</code> ist nur für Testzwecke sinnvoll, weil sie leicht zu merken ist und für alle Benutzer alle Zugriffsberechtigungen ('''r'''ead/'''w'''rite/e'''x'''ecute für owner/group/others) setzt. Im richtigen Einsatz wird man das aus Sicherheitsgründen nicht so handhaben, sondern nur die Berechtigungen setzen, die unbedingt erforderlich sind.</small>
== Ein paar Worte zur Erklärung ==
=== Test ===
Getestet wurden die Beispiele unter den Betriebssystemen
* MS Windows 10 mit den Julia-Versionen 1.9.4 und 1.10.2 (bis Ende 2024).
* openSUSE Leap 15.6 mit der Julia-Version 1.11.6 (im Juli 2025, nur vereinzelt).
* openSUSE Tumbleweed ab der Julia-Version 1.12.5 (ab März 2026, nur vereinzelt).
=== Popularität ===
* An Beliebtheit rangiert Julia mit Stand September 2026 mit einem Rating von 0,74% an 21. Stelle der beliebtesten Programmiersprachen ([https://www.tiobe.com/tiobe-index/ lt. TPCI - TIOBE Programming Community Index]).
* Lt. [https://pypl.github.io/PYPL.html PYPL] (PopularitY of Programming Language) liegt Julia auf dem 21. Platz (0,45%; Stand: September 2026).
== Ein erstes Programm ==
Kommentare werden in Julia mit der Raute (#) eingeleitet. Sie werden vom Julia-Interpreter ignoriert. Text kann mit der print- oder println-Funktion ausgegeben werden. Starten Sie Julia und geben sie folgende Anweisungen zeilenweise ein (die Anweisungen sind jeweils mit der Return-Taste abzuschließen)
julia> # Das ist ein Kommentar
julia> print("Hallo Welt!")
Als Ergebnis erhalten Sie
Hallo Welt!
Der Prompt (julia>) ist selbstverständlich nicht einzutippen, sondern wird vom Julia-System geliefert.
Strings sind in Julia in Anführungszeichen (") zu setzen. Zwischen dem Befehl print und der öffnenden Klammer ( darf kein Leerzeichen gesetzt werden.
= Julia als Taschenrechner =
== Allgemeines ==
Wir wollen 3 * 5 berechnen. Dazu starten wir Julia. Geben Sie dann die Formel
julia> 3 * 5
ein, drücken die Taste ENTER/RETURN und erhalten als Ergebnis
15
Auch kompliziertere Ausdrücke sind möglich. Beispielsweise mit Winkelfunktionen, Quadratwurzeln etc. Wir wollen nun den Ausdruck <math>\sin\sqrt{15}</math> berechnen :
julia> sin(sqrt(15))
-0.6679052983383519
Mit dieser Zahl kann unmittelbar weitergerechnet werden, z.B.
julia> ans * 2
-1.3358105966767038
"ans" steht übrigens für den Begriff "answer" (auf Deutsch "Antwort").
Das Mal-Zeichen (*) kann übrigens eingespart werden. <code>ans * 2</code> ist dasselbe wie <code>2ans</code>. Man beachte aber, dass in der Kurzform kein Leerzeichen zwischen 2 und ans stehen darf.
Beenden lässt sich das Julia-Programm durch Eingabe von exit() (und natürlich ist zur Bestätigung die RETURN-Taste zu drücken). Beachten Sie wieder, dass zwischen der Funktion exit und der öffnenden Klammer kein Leerzeichen stehen darf.
== Die Hilfefunktion von Julia ==
Bei Eingabe eines Fragezeichens (?) springt Julia in das Hilfesystem.
Eingabe:
?
Eingabe:
help?> sin
Ausgabe:
sin
search: sin sinh sind sinc sinpi sincos sincosd sincospi asin using isinf asinh asind isinteger isinteractive thisind
sin(x)
Compute sine of x, where x is in radians.
See also sind, sinpi, sincos, cis, asin.
Examples
≡≡≡≡≡≡≡≡≡≡
julia> round.(sin.(range(0, 2pi, length=9)'), digits=3)
...
...
...
0.454649 0.454649
Für die komplette Julia-Dokumentation siehe [https://docs.julialang.org/en/v1/].
== Aufgaben ==
* Erkunden Sie die Tangensfunktion "tan" mittels Julia-Hilfe.
* Berechnen Sie mit Julia den Ausdruck <math>\frac{1}{2}\cdot e^2 \cdot \tan(\pi/3)</math>. Siehe für die Exponentialfunktion im Julia-Hilfesystem auch den Befehl exp(). Potenzieren kann man bei Julia mit dem ^-Operator (z.B. 2^3 = 8)
* Berechnen Sie mit Julia den Ausdruck <math>2\text{cosd}(60) - 3\sin(\pi/5)</math>. Anmerkung: cosd erwartet den Parameter im Gradmaß (d für "degree"), sin erwartet den Parameter im Bogenmaß.
= Julia als Scriptsprache =
Häufig wird man aber kompliziertere Anweisungsfolgen verarbeiten müssen. Diese will man normalerweise nicht jedesmal neu eingeben, sondern in einer Datei speichern und diese Datei dann zur Ausführung bringen. Speichern Sie dazu folgenden Code in einer Textdatei, z.B. unter MS Windows als c:\tmp\test1.jl
# Das ist ein Kommentar
print("Hallo Welt!")
Julia-Dateien werden mit der Dateiendung .jl versehen.
Danach bringen Sie die Skriptdatei test1.jl (sozusagen das Hauptprogramm) folgendermaßen zur Ausführung:
1) Starten Sie unter MS Windows die Eingabeaufforderung (oder alternativ die Windows PowerShell). Das sieht dann etwa so aus:
Microsoft Windows [Version 10.0.19045.3693]
(c) Microsoft Corporation. Alle Rechte vorbehalten.
C:\Users\xyz>
: <small>Falls jemand nicht weiß, wie man die Eingabeaufforderung startet: Eine Möglichkeit ist, einfach in der Taskleiste von Windows das "Start"-Symbol mit der rechten Maustaste anklicken. "Ausführen" auswählen (oder alternativ für die PowerShell den Eintrag "Windows PowerShell"). Im sich öffnenden Dialogfenster gibt man in die "Öffnen"-Zeile das Wort <code>cmd</code> ein und mit "OK" wird das Ganze bestätigt.</small>
2) Wechseln Sie mittels <code>cd c:\tmp</code> in das Verzeichnis c:\tmp
3) Angenommen, Sie haben Julia unter dem Pfad <code>c:\devel\Julia-1.9.4\</code> installiert. Starten Sie das Programm so (der Prompt <code>c:\tmp></code>ist natürlich nicht mit einzutippen):
c:\tmp>c:\devel\Julia-1.9.4\bin\julia.exe test1.jl
4) Wie erwartet ergibt sich folgende Ausgabe am Bildschirm
Hallo Welt!
Die Vorgehensweise unter Linux ist sehr ähnlich, wird hier deshalb nicht noch mal gezeigt.
== Variablen ==
Variablenbezeichner können aus Buchstaben (A-Za-z), Ziffern (0-9), Underscores (_) und etlichen Unicode-Zeichen bestehen, dürfen aber nicht mit einer Zahl beginnen.
Gültige Variablenbezeichner wären also:
xyz
x1
_wert
name_anzahl
a₂
γπΩ
Wie kann man eigentlich die griechischen Zeichen im vorhergehenden Beispiel eingeben? Auf einer deutschen oder englischen Tastatur sind sie jedenfalls nicht zu finden. Des Rätsels Lösung kann folgendermaßen aussehen (wird am Beispiel des Omega-Zeichens (Ω) vorgeführt):
1) Starten Sie das Julia-System (z.B. mittels Doppelklick auf das Julia-Icon oder in der Eingabeaufforderung durch direkte Eingabe von julia.exe (ggf. mit dem entsprechenden Programmpfad).
2) geben Sie <code>\Omega</code> ein (ohne den Befehl mit Return abzuschließen)
julia> \Omega
3 Tippen Sie auf die Tabulatortaste und schon erscheint das Ω.
4) Dieses Zeichen können Sie dann mittels Zwischenablage z.B. auch in eine jl.-Datei einfügen (ggf. unter Verwendung eines geeigneten Text-Editors, z.B. Geany oder unter Linux auch Kate)
Ähnliches gilt für tiefgestellte Indizes, z.B. <code>a\_2</code> gefolgt von einem Tabulator ergibt a₂.
Da Julia case-sensitiv ist, repräsentieren folgende Bezeichner verschiedene Variablen:
xyz
XYZ
xYz
Werte werden an Variablen mittels Gleich-Zeichen (=) zugewiesen. Im Folgenden wird der Code unter MS Windows immer in der Datei <code>c:\tmp\test1.jl</code> oder unter Linux z.B. unter <code>~/tmp/test1.jl</code> gespeichert.
x = 5
y = 10
z = x*y
print(z)
Bringen Sie die Datei test1.jl zur Ausführung, so erhalten Sie folgende Bildschirmausgabe
50
Sie können auch mehrere Anweisungen in einer Zeile durch Semikolon getrennt schreiben.
x = 5; y = 10; z = x*y
print(z)
Ausgabe:
50
Auch aus der Programmiersprache C/C++ oder Java bekannte Konstrukte können Sie verwenden, z.B.
x = 5;
println(x)
# x = x - 2
x -= 2
println(x)
Bildschirmausgabe:
5
3
Beachten Sie, dass mit dem =-Zeichen eine Wertezuweisung durchgeführt wird. Dies ist nicht äquivalent zum mathematischen =-Zeichen, wie am vorigen Beispiel zu ersehen ist.
Die Verwendung von Prä-/Postfix-Operatoren (++, --) wie unter C/C++ oder Java ist in Julia nicht erlaubt, sondern liefert nur eine Fehlermeldung.
Soll eine Anweisung auf mehrere Zeilen verteilt werden, z.B. weil sie zu lang ist, so kann dies geschehen, wie nachfolgend dargestellt.
x = 5;
y = 1000 * x +
sin(x/2)
print(y)
Ausgabe:
5000.598472144104
Beachten Sie, dass die Zeilentrennung nach einem Operator erfolgt! Folgendes würde ein falsches Resultat liefern:
x = 5;
y = 1000 * x
+ sin(x/2)
print(y)
Ausgabe:
5000
Variablen sind nicht an einen bestimmten Datentyp gebunden, folgendes ist mit Julia problemlos möglich:
wert = 10
println(wert)
wert = 35.5
println(wert)
wert = "Hallo"
println(wert)
wert = pi
println(wert)
Ausgabe:
10
35.5
Hallo
π
==Hexadezimale, oktale und binäre Zahlen==
# Hexadezimale Zahl
println(0xABC)
# Oktale Zahl
println(0o56)
# Binäre Zahl
println( 0b1000011 )
Ausgabe (als Dezimalzahlen):
2748
46
67
Julia kann auch dezimale in binäre Zahlen etc. umwandeln:
Eingabe:
b = bitstring(30)
println(b)
Ausgabe:
0000000000000000000000000000000000000000000000000000000000011110
Ein anderes Beispiel (hexadezimal nach binär):
# hexadezimal -> binär
s = string(0xF, base=2)
print(s)
Ausgabe:
1111
== Verzweigungen ==
=== if ===
Die IF-Verzweigung ist aus anderen Programmiersprachen bereits bekannt. In Pseudocode lässt sie sich folgendermaßen darstellen:
WENN bedingung TRUE
führe block1 aus
SONST
führe block2 aus
ENDE
Die test1.jl-Datei laute also wie folgt:
x = 5;
if x < 4
println("x ist kleiner als 4");
else
println("Der else-Zweig wird ausgefuehrt");
println("x ist groesser oder gleich 4");
end
Ausgabe:
Der else-Zweig wird ausgefuehrt
x ist groesser oder gleich 4
Julia kennt eine Reihe von Vergleichs- und Verknüpfungsoperatoren:
* <, <= ... kleiner (gleich)
* >, >= ... größer (gleich)
* == ... gleich
* != ... ungleich
* &, && ... AND
* |, || ... OR
Beispielsweise:
a = 5;
b = 9;
if a<=10 & b!=7
println("OK");
else
println("Nicht OK");
end
Ausgabe:
OK
Erweiterung der if-else-end-Verzweigung - ein Beispiel mit <code>elseif</code>:
a = 5
if a==10
println("OK")
elseif a==5
println("Nicht OK")
println("a = 5")
elseif a==6
println("Auch nicht OK")
else
println("Weiß nicht")
end
Ausgabe:
Nicht OK
a = 5
=== Ternärer Operator ===
Eingabedatei:
a = 5
a >= 6 ? println("größer gleich 6") : println("kleiner 6")
Ausgabe:
kleiner 6
== Schleifen ==
=== while ===
Die WHILE-Schleife ist kopfgesteuert. Sie funktioniert nicht ganz so wie aus anderen Programmiersprachen bekannt.
In Pseudocode:
SOLANGE bedingung TRUE
führe block aus
ENDE
In Julia:
x = 0
while x <= 10
println(x)
global x += 1
end
Ausgabe:
0
1
2
3
4
5
6
7
8
9
10
Außerhalb von Funktionen muss das Schlüsselwort <code>global</code> verwendet werden. Ansonsten gibt es eine Warnung und eine Fehlermeldung. Innerhalb einer Funktion benötigt man das <code>global</code> nicht.
=== for ===
for x = 0 : 2 : 10
println(x);
end
Ausgabe:
0
2
4
6
8
10
Der FOR-Schleifenkopf ist in Form einer Zahlenkolonne folgendermaßen aufgebaut:
for variable = startwert : schrittweite : endwert
Alternativ findet man in der Literatur auch folgende for-Schleifenaufbauten.
for x in 0 : 2 : 10
println(x);
end
for x ∈ 0 : 2 : 10
println(x);
end
Achtung: Das ∈ ist kein \epsilon, sondern ein \in.
Die unterschiedlichen for-Schleifen liefern jeweils das gleiche Ergebnis.
=== break und continue ===
Zum Abbrechen einer Schleife gibt es den Befehl "break".
for var = 0 : 1 : 100
println(var)
if var == 5
break;
end
end
Ausgabe:
0
1
2
3
4
5
"continue" setzt mit dem nächsten Schleifendurchlauf fort, z.B.
for var = 0 : 1 : 10
if var == 5
continue;
end
println(var);
end
Ausgabe:
0
1
2
3
4
6
7
8
9
10
== Eingabe via Tastatur ==
Datei c:\tmp\test1.jl:
print("Geben Sie eine Zahl ein: ")
# Einlesen als String
str = readline(stdin)
print("Die Zahl lautet ")
println(str)
# Umwandeln in einen Float
zahl = parse(Float64, str)
print("Die Zahl lautet ")
println(zahl)
Eingabe der Zahl via Tastatur:
67.8
Mit der RETURN-Taste bestätigen.
Ausgabe:
Die Zahl lautet 67.8
Die Zahl lautet 67.8
In diesem Fall wird, wie gezeigt, zweimal <code>Die Zahl lautet 67.8</code> ausgegeben. Gibt man aber z.B. <code>Eins</code> ein, so wird einmal <code>Die Zahl lautet Eins</code> ausgegeben. Das ist klar, da <code>Eins</code> ein gültiger String ist. Danach folgt aber eine Fehlermeldung, weil <code>Eins</code> nicht in eine Fließkommazahl umgewandelt werden kann.
= Grafiken zeichnen =
Es gibt in Julia mehrere Möglichkeiten Grafiken zu zeichnen. Hier wird eine Einführung in das Package Plots gegeben.
== Plots installieren ==
Im Julia-REPL die schließende eckige Klammer ] eintippen. Damit springt man in das Package-System, angezeigt wird das mit dem Prompt <code>(@v1.9) pkg></code>.
Das Plots-Package zum Julia-System hinzufügen:
(@v1.9) pkg> add Plots
Mit STRG-C kann das Package-System wieder verlassen werden.
== 2D ==
=== Graph einer Funktion ===
Es soll die cosh-Funktion im Intervall <math>x\in[-3,3]</math> gezeichnet werden. Der Programmcode lautet in der einfachsten Form:
using Plots
x = -3 : .1 : 3
y = cosh.(x)
p = plot(x, y)
gui()
while(true)
end
Ausgabe:
[[Datei:Julia_cosh.jpg]]
Der Code ist quasi selbsterklärend. Das Plots-Package wird importiert. x läuft von -3 bis +3. y wird für jeden x-Wert per Formel ausgerechnet. "plot" ist der Zeichenbefehl. "gui" ist notwendig, um das Fenster mit der Grafik anzuzeigen. Es folgt eine Endlossschleife. Diese ist notwendig, weil das Fenster mit der Grafik sonst nur kurz aufblinkt und das Programm danach beendet wird. Das Gesagte gilt, wenn man die test1.jl-Datei direkt ausführt. Im REPL kann man sich den Befehl "gui" und die Endlosschleife sparen.
Die Schrittweite 0.1 wurde so gewählt, um einen ausreichend glatten Verlauf des Graphen zu gewährleisten. Das ist immer ein Kompromiss zwischen Berechnungszeit und Ansehnlichkeit. Testen Sie einfach ein paar verschiedene Werte, um ein Gefühl dafür zu zu bekommen.
Hinweise:
* Bis das Fenster mit dem cosh-Graphen erscheint, kann es einige Sekunden dauern.
* Beenden kann man die Endlosschleife, indem man STRG-C drückt (STRG ist die Steuerungs- oder Control-Taste)
* Beachten Sie den Punkt (.) bei der cosh-Funktion. Vergessen Sie diesen, so wird eine Fehlermeldung ausgegeben.
Ein etwas komplexeres Beispiel ist folgendes
using Plots
x = -3 : .1: 3
y = cosh.(x) + 2 .^x
plot(x,y)
gui()
while true
end
Man beachte die Punkte bei der Funktion y. Vergisst man die Punkte, dann erhält man eine Fehlermeldung. Weiters beachte man das Leerzeichen und die Position desselben bei 2 .^x. Setzt man das Leerzeichen an die falsche Stelle oder vergisst es ganz, so ist das auch ein Fehler.
Ausgabe:
[[Datei:Julia_cosh2.jpg]]
=== Graphen mehrerer Funktionen und weiteres ===
Mehrere Graphen lassen sich folgendermaßen in ein Fenster zeichnen (es werden auch Titel und Labels gesetzt):
using Plots
x = -3 : .1: 3
y1 = cosh.(x) + 2 .^x
y2 = sin.(x) .* cos.(x)
plot(x, [y1, y2], title="Screenshot", label=["cosh(x) + 2^x" "sin(x) + cos(x)"],
xlabel="x", ylabel="y")
gui()
while true
end
[[Bild:Julia_cosh14.jpg]]
Will man mehrere Graphen in ein Fenster zeichnen, aber nicht alles in einen plot-Befehl quetschen, so kann die "plot!"-Anweisung die Lösung des Problems sein. Auch die Linienstile sollen nun etwas individueller gestaltet werden:
using Plots
x = -3 : .1: 3
y1 = cosh.(x) + 2 .^x
y2 = sin.(x) .* cos.(x)
plot(x, y1, linestyle=:dot, label="cosh ...", linewidth=5)
plot!(x, y2, ls=:dot, label="sin ...", lw=3)
title!("Funktionsgraphen")
xlabel!("x")
ylabel!("y")
gui()
while true
end
[[Datei:Julia_cosh4.jpg]]
=== Funktion in Parameterdarstellung ===
Es soll die archimedische Spirale <math>x = t \cos(t), y = t \sin(t)</math> im Intervall <math>[0, 6\pi]</math> gezeichnet werden.
using Plots
t = 0 : .1: 6*pi
x = t .* cos.(t)
y = t .* sin.(t)
plot(x, y, lw=5)
gui()
while true
end
[[Datei:Julia_spirale1.jpg]]
Der Graph erscheint in der obigen Darstellung verzerrt. Will man das nicht, so setze man das <code>aspect_ratio</code> auf <code>:equal</code>:
using Plots
t = 0 : .1: 6*pi
x = t .* cos.(t)
y = t .* sin.(t)
plot(x, y, lw=5, aspect_ratio = :equal)
gui()
while true
end
[[Datei:Julia_spirale2.jpg]]
=== Logarithmische Achsenskalierung ===
using Plots
f(x) = 10^x
p1 = plot(f, 1, 5, lw=2, title="kartesische Koordinaten")
p2 = plot(f, 1, 5, yscale=:log10, lw=2, title="Semilog")
p3 = plot(f, 1, 5, xscale=:log10, yscale=:log10, lw=2, title="LogLog")
plot(p1, p2, p3, layout=(3,1))
gui()
while true
end
Ausgabe:
[[Datei:Julia_log1.jpg]]
=== Aufgaben ===
* Zeichnen Sie die Strophoide <math>x = \frac{a(t^2-1)}{t^2+1}, y = \frac{at(t^2-1)}{t^2+1}, a = 2, -3 \leq t \leq 3</math>. Das Ganze sollte in etwa so aussehen wie folgende Grafik:
[[Datei:octave_strophoide.jpg]]
* Zeichnen Sie die verschlungene Hypozykloide <math>x = (R-r)\cos t + c\cos\frac{R-r}{r}t, y = (R-r)\sin t - c\sin\frac{R-r}{r}t, c = 3, r = 2, R = 6, -15 \leq t \leq 15</math>. Das Ganze sollte in etwa so aussehen wie folgende Grafik:
[[Datei:octave_hypozykloide.jpg]]
* Testen Sie bei den obigen Übungsaufgaben verschiedene Werte für a, c, r und R.
== 3D ==
=== Räumliche Kurven ===
Mittels "plot3d" lassen sich Raumkurven zeichnen.
using Plots
t = 0 : .1: 6*pi
x = t .* cos.(t)
y = t .* sin.(t)
z = t
plot3d(x, y, z)
gui()
while true
end
[[Datei:Julia_raumkurve1.jpg]]
=== Flächen ===
using Plots
x = 0 : .1 : 10;
y = 0 : .1 : 10;
z(x,y) = sin(x) + 3*cos(y);
surface(x,y,z)
gui()
while true
end
[[Datei:Julia_flaeche1.jpg]]
Das Ganze in Netzdarstellung läßt sich so programmieren:
using Plots
x = 0 : .5 : 10
y = 0 : .5 : 10
z(x,y) = sin(x) + 3*cos(y)
wireframe(x, y, z)
gui()
while true
end
[[Datei:Julia_flaeche2.jpg]]
Die Kameraposition lässt sich verändern:
using Plots
x = 0 : .1 : 10
y = 0 : .1 : 10
z(x,y) = sin(x) + 3*cos(y)
# Kamerawinkel in Grad (Azimut, Altitude)
surface(x,y,z, camera = (75, 60))
gui()
while true
end
[[Datei:Julia_flaeche_3.jpg]]
{{Wikipedia | Azimut}}
=== Höhenlinien ===
using Plots
x = 0 : .1 : 10
y = 0 : .1 : 10
z(x,y) = sin(x) + 3*cos(y)
contour(x,y,z)
gui()
while true
end
[[Datei:Julia_hoehenlinien.jpg]]
Etwas abgewandelt sind das so aus:
using Plots
x = 0 : .1 : 10
y = 0 : .1 : 10
z(x,y) = sin(x) + 3*cos(y)
contour(x, y, z, levels=10, clabels=true, cbar=false)
gui()
while true
end
[[Datei:Julia_hoehenlinien2.jpg]]
Und noch eine Variante sei gezeigt.
using Plots
x = 0 : .1 : 10
y = 0 : .1 : 10
z(x,y) = sin(x) + 3*cos(y)
contourf(x, y, z)
gui()
while true
end
[[Datei:Julia_hoehenlinien3.jpg]]
=== Aufgaben ===
* Zeichnen Sie die räumliche Kurve <math>x = 2 \cdot \cosh(t)</math>, <math>y = 5 \cdot \sin(t)</math>, <math> z = t^{2} - t</math>, <math>0 \leq t \leq 3\pi</math>.
* Zeichnen Sie die Fläche <math>z = \log(x) + \cos(y)</math>.
== Animationen ==
using Plots
anim = Animation()
for i = 1:100
plt = plot(sin, 0, i*2pi/10, ylims = (-1., 1.), lab="")
frame(anim, plt)
end
gif(anim, "c:/tmp/Julia_anim1.gif",fps=10)
Dieses Programm schreibt ein animiertes {{W|GIF}} in die Datei <code>c:/tmp/Julia_anim1.gif</code>.
[[Datei:Julia_anim1.gif]]
= Vektoren und Matrizen =
== Vektoren ==
Vektoren sollten jedem aus der Linearen Algebra bekannt sein.
=== Spalten- und Zeilenvektoren ===
Starten Sie die Julia-REPL. Geben Sie folgenden Befehl ein, um einen Spaltenvektor zu erstellen:
julia> v1 = [1, 2, 3]
Ausgabe:
3-element Vector{Int64}:
1
2
3
Geben Sie folgenden Befehl ein, um einen Zeilenvektor (oder genauer eine 1x3-Matrix) zu erstellen:
julia> v1 = [1 2 3]
Ausgabe:
1×3 Matrix{Int64}:
1 2 3
=== Zugriff auf Vektorelemente ===
Nachfolgend seien Zugriffsmöglichkeiten auf die Vektorelemente erläutert.
Auf ein einzelnes Element kann via Index zugegriffen werden. Der Index startet bei 1:
v1 = [1, 2, 3]
println(v1[2])
Ausgabe:
2
Mehrere Elemente werden folgendermaßen angesprochen:
v1 = [1 2 4 8 16]
print(v1[3:4])
Ausgabe:
[4, 8]
Liefere den Teilvektor von einem gegebenen Index bis zum letzten Element:
v1 = [1 2 4 8 16]
print(v1[3:end])
Ausgabe:
[4, 8, 16]
=== Addition und Subtraktion von Vektoren ===
v1 = [1, 2, 3]
v2 = [5, 7, 9]
println(v1 + v2)
println(v1 - v2)
Ausgabe:
[6, 9, 12]
[-4, -5, -6]
=== Multiplikation mit Skalaren ===
faktor = 3;
v = [1, 2, 3];
println(v * faktor)
Ausgabe:
[3, 6, 9]
=== Skalarprodukt ===
Das Skalarprodukt ist bekanntermaßen als <math>v_1 \cdot v_2 = |v_1| |v_2| \cos(\angle(v_1, v_2))</math> definiert. In Julia sieht das so aus:
using LinearAlgebra
v1 = [1, 2, 3]
v2 = [2, 5, 10]
println(LinearAlgebra.dot(v1, v2))
Ausgabe:
42
Hinweis: Wenn das LinearAlgebra-Paket noch nicht installiert ist, so muss dies eventuell nachgeholt werden. Wie das prinzipiell funktioniert, wurde im Kapitel "Grafiken zeichnen" am Beispiel des Plots-Pakets vorgeführt.
=== Vektorprodukt ===
<math>a\ast b=\left(\begin{array}{c}
a_{1}\\
a_{2}\\
a_{3}
\end{array}\right)\ast\left(\begin{array}{c}
b_{1}\\
b_{2}\\
b_{3}
\end{array}\right)=\left(\begin{array}{c}
a_{2}b_{3}-a_{3}b_{2}\\
a_{3}b_{1}-a_{1}b_{3}\\
a_{1}b_{2}-a_{2}b_{1}
\end{array}\right)
</math>
Julia-Code:
using LinearAlgebra
v1 = [1, 2, 3]
v2 = [2, 5, 10]
println(LinearAlgebra.cross(v1, v2))
Ausgabe:
[5, -4, 1]
=== Transponierter Vektor ===
using LinearAlgebra
v = [1, 2, 3]
println(LinearAlgebra.transpose(v))
Ausgabe:
[1 2 3]
=== Einige weitere Vektorfunktionen ===
Die euklidische Norm <math>\|x\|_2 = \sqrt{x_1^2 + x_2^2 + \ldots + x_n^2}</math> in Julia:
using LinearAlgebra
v = [1 2 3]
println(norm(v))
Ausgabe:
3.7416573867739413
Beispiel:
# 1 + 2 + 3
v = [1 2 3]
println(sum(v))
Ausgabe:
6
Beispiel:
# 1 * 2 * 3 * 4
v = [1 2 3 4]
println(prod(v))
Ausgabe:
24
== Matrizen ==
Starten Sie die Julia-REPL. Geben Sie folgenden Befehl ein, um eine 2x3-Matrix zu erstellen:
julia> [1 2 3; 4 5 6]
Ausgabe:
2×3 Matrix{Int64}:
1 2 3
4 5 6
Damit verlassen wir die Julia-REPL wieder und arbeiten im Folgenden mit der test1.jl-Datei weiter.
=== Zugriff auf Matrizenelemente ===
m = [1 2 3; 4 5 6]
# Element aus Zeile 2 und Spalte 3
println(m[2,3])
Ausgabe:
6
Eine andere Zugriffsmöglichkeit ist diese:
m = [1 2 3; 4 5 6]
# Auf das Element an Position 5 soll zugegriffen werden
println(m[5])
Ausgabe:
3
Die Matrix wird also spaltenweise durchlaufen (nicht zeilenweise). Dies ist vielleicht auf den ersten Blick etwas ungewöhnlich, wird aber z.B. auch in Fortran oder Octave so gehandhabt.
[[Datei:Julia_matrix1.svg]]
=== Addition und Subtraktion von Matrizen ===
m1 = [1 2 3; 4 5 6]
m2 = [-4 -2 0; 2 4 6]
println(m1 + m2)
println(m1 - m2)
Ausgabe:
[-3 0 3; 6 9 12]
[5 4 3; 2 1 0]
=== Transponierte Matrix ===
m = [1 2 3; 4 5 6]
println(m')
Ausgabe:
[1 4; 2 5; 3 6]
=== Rang einer Matrix ===
using LinearAlgebra
m1 = [1 2 3; 4 5 6]
m2 = [1 2 3; 2 4 6]
println(LinearAlgebra.rank(m1))
println(LinearAlgebra.rank(m2))
Ausgabe:
2
1
=== Inverse Matrix ===
using LinearAlgebra
m = [1 3; 0 -5 ]
println(LinearAlgebra.inv(m))
Ausgabe:
[1.0 0.6000000000000001; 0.0 -0.2]
=== Determinate einer Matrix ===
using LinearAlgebra
m1 = [1 3; 0 -5 ]
m2 = [1 2; 2 4]
println(LinearAlgebra.det(m1))
println(LinearAlgebra.det(m2))
Ausgabe:
-5.0
0.0
m1 ist regulär, m2 ist singulär. Determinanten können nur von quadratischen Matrizen gebildet werden.
=== Multiplikation von Matrizen (falksches Schema) ===
m1 = [1 3 4; 0 -5 1]
m2 = [1 2; 2 3; 0 2]
println(m1 * m2)
Ausgabe:
[7 19; -10 -13]
=== Teilmatrizen ===
m = [1 2 3; 0 5 1]
# Die Matrix in einen Spaltenvektor umwandeln
println(m[:])
# Das Element aus der 1. Zeile und der 2. Spalte extrahieren
println(m[1,2])
# Erste Zeile extrahieren
println(m[1, 1:3])
println(m[1, :])
# Zweite Spalte extrahieren
println(m[1:2, 2])
println(m[:, 2])
Ausgabe:
[1, 0, 2, 5, 3, 1]
2
[1, 2, 3]
[1, 2, 3]
[2, 5]
[2, 5]
=== Eigenwerte und Eigenvektoren ===
using LinearAlgebra
A = [5 8; 1 3]
# Eigenvektoren und Eigenwerte
println(eigvals(A))
println(eigvecs(A))
Ausgabe:
[1.0, 7.0]
[-0.8944271909999159 0.9701425001453319; 0.447213595499958 0.24253562503633297]
=== LR-Zerlegung einer Matrix ===
Führen Sie die LR-Faktorisierung (LR ... links/rechts bzw. LU ... left/upper) einer Matrix m aus. Dazu springen wir wieder in die REPL und geben folgende Befehle ein:
julia> using LinearAlgebra
julia> m=[1 0 5; -1 1 -2; 0 0 3]
3×3 Matrix{Int64}:
1 0 5
-1 1 -2
0 0 3
julia> f = factorize(m)
LU{Float64, Matrix{Float64}, Vector{Int64}}
L factor:
3×3 Matrix{Float64}:
1.0 0.0 0.0
-1.0 1.0 0.0
0.0 0.0 1.0
U factor:
3×3 Matrix{Float64}:
1.0 0.0 5.0
0.0 1.0 3.0
0.0 0.0 3.0
=== Schwach besetzte Matrizen ===
In der Technik treten häufig große Matrizen auf, die aber nur relativ wenige von Null verschiedene Werte mit Bandstruktur besitzen. Für diese ist es ineffizient, alle Matrizenelemente zu speichern. Effizienter ist es, nur die von Null verschiedenen Elemente zu speichern. Zu diesem Zwecke gibt es das <code>SparseArrays</code>-Paket.
julia> using SparseArrays
julia> ms = sparse([1, 2, 3, 3, 4, 5, 5], [2, 4, 1, 4, 3, 4, 5], [1, 3, 4, 2, 1, 1, 7])
Ausgabe:
⋅ 1 ⋅ ⋅ ⋅
⋅ ⋅ ⋅ 3 ⋅
4 ⋅ ⋅ 2 ⋅
⋅ ⋅ 1 ⋅ ⋅
⋅ ⋅ ⋅ 1 7
=== Spezielle Matrizen ===
Nachfolgend sollen eine Nullmatrix und eine Matrix mit lauter Einsen generiert werden. Dazu starten wir wieder die Julia-REPL, geben die entsprechenden Befehle ein und erhalten:
julia> zeros(3,2)
3×2 Matrix{Float64}:
0.0 0.0
0.0 0.0
0.0 0.0
julia> ones(3,2)
3×2 Matrix{Float64}:
1.0 1.0
1.0 1.0
1.0 1.0
Insbesondere für Testzwecke kann es manchmal sinnvoll sein größere Matrizen mit Zufallswerten zu bilden. Dazu stellt Julia den rand-Befehl zur Verfügung.
julia> m = rand(5,6)
5×6 Matrix{Float64}:
0.554722 0.7314 0.571432 0.804651 0.192327 0.912537
0.684459 0.748819 0.642302 0.552636 0.671043 0.250012
0.624424 0.722093 0.125511 0.342248 0.398071 0.820795
0.0894763 0.0514967 0.310389 0.96167 0.382739 0.0181225
0.957162 0.365172 0.50859 0.0742012 0.555778 0.512406
Einheitsmatrizen: Man beachte das <code>I</code> nach der Zahl 1. Die Matrix muss quadratisch sein.
julia> using LinearAlgebra
julia> M = 1I + zeros(4,4)
4×4 Matrix{Float64}:
1.0 0.0 0.0 0.0
0.0 1.0 0.0 0.0
0.0 0.0 1.0 0.0
0.0 0.0 0.0 1.0
Alternativ:
julia> using LinearAlgebra
julia> M = 1I(4)
4×4 Diagonal{Int64, Vector{Int64}}:
1 ⋅ ⋅ ⋅
⋅ 1 ⋅ ⋅
⋅ ⋅ 1 ⋅
⋅ ⋅ ⋅ 1
Diagonalmatrizen, z.B.:
julia> using LinearAlgebra
julia> M = 3I + zeros(4,4)
4×4 Matrix{Float64}:
3.0 0.0 0.0 0.0
0.0 3.0 0.0 0.0
0.0 0.0 3.0 0.0
0.0 0.0 0.0 3.0
Und damit verlassen wir die REPL wieder.
= Komplexe Zahlen =
Die imaginäre Einheit wird in Julia durch die Buchstabenkombination <code>im</code> symbolisiert. Darstellen kann man eine komplexe Zahl bekannterweise in mehreren Formen:
* Kartesische Darstellung <math>z = \Re(z) + i \cdot \Im(z)</math>
* Polardarstellungen <math>z = r \cdot (\cos(\phi) + i \cdot \sin(\phi)) = r \cdot e^{i\cdot \phi}</math>
Die konjugiert komplexe Zahl ist <math>z^* = \Re(z) - i \cdot \Im(z)</math>
== Mit komplexen Zahlen rechnen ==
z1 = 2 + 5im # kartesische Darstellung
z2 = 3 * exp(3im) # Polardarstellung
# Addition
res = z1 + z2
println("z1 + z2 = ", res)
# Multiplikation
res = z1 * z2
println("z1 * z2 = ", res)
# Realteil
res = real(z2)
println("Realteil von z2 = ", res)
# Imaginärteil
res = imag(z2)
println("Imaginaerteil von z2 = ", res)
# Betrag
res = abs(z1)
println("Betrag von z1 = ", res)
# Argument
res = angle(z1)
println("Argument von z1 = ", res)
# Konjugiert komplexe Zahl
res = conj(z1)
println("Konjugiert komplexe Zahl von z1 = ", res)
Ausgabe:
z1 + z2 = -0.9699774898013365 + 5.423360024179601im
z1 * z2 = -8.05675510050068 - 14.003167400647481im
Realteil von z2 = -2.9699774898013365
Imaginaerteil von z2 = 0.4233600241796016
Betrag von z1 = 5.385164807134504
Argument von z1 = 1.1902899496825317
Konjugiert komplexe Zahl von z1 = 2 - 5im
= Funktionen =
Um Programme zu strukturieren und einfacher zu gestalten können Programmteile in Funktionen ausgelagert werden. Eingebaute Funktionen haben wir schon kennengelernt (z.B. die Sinus-Funktion sin). Nun wollen wir sehen, wie man selbst solche Funktionen schreiben kann.
== Eine einfache Funktion schreiben ==
f(a, b) = a + b
println(f(2, 3))
Ausgabe:
5
== function ==
Datei <code>c:\tmp\func.jl</code>:
function add(a,b)
println(a + b)
end
Datei <code>c:\tmp\test1.jl</code>:
include("func.jl")
add(5, 11)
Folgendes wird ausgegeben, wenn wir die test1.jl-Datei ausführen
16
== Anonyme Funktionen ==
println(map(a -> 5a + 10, [2, 3]))
Ausgabe:
[20, 25]
== return ==
Datei <code>c:\tmp\func.jl</code>:
function add(a,b)
return a + b
end
Datei <code>c:\tmp\test1.jl</code>:
include("func.jl")
println(add(5, 11))
Folgendes wird ausgegeben, wenn wir die test1.jl-Datei ausführen
16
Auch die Rückgabe mehrerer Werte ist möglich.
Datei <code>c:\tmp\func.jl</code>:
function add(a, b)
return a + b, "Addition"
end
Datei <code>c:\tmp\test1.jl</code>:
include("func.jl")
x, y = add(10, 20)
println(x)
println(y)
Ausgabe:
30
Addition
== Optionale Argumente ==
Datei <code>c:\tmp\func.jl</code>:
function add(a, b = 100)
return a + b
end
Datei <code>c:\tmp\test1.jl</code>:
include("func.jl")
println(add(5, 11))
println(add(5))
Folgendes wird ausgegeben, wenn wir die test1.jl-Datei ausführen
16
105
== Schlüsselwort-Argumente ==
Datei <code>c:\tmp\func.jl</code>:
function add(a; b = 100)
return a + b
end
Man beachte, dass hier zwischen den Argumenten a und b kein Beistrich, sondern ein Semikolon steht.
Datei <code>c:\tmp\test1.jl</code>:
include("func.jl")
println(add(b=16, 5))
println(add(5, b=16))
println(add(5))
Ausgabe:
21
21
105
= Polynome =
Sofern noch nicht geschehen, fügen Sie das Paket <code>Polynomials</code> zum Julia-System hinzu.
== Ein erstes einfaches Beispiel ==
using Polynomials
println(Polynomial([1, 0, 5, 7]))
Ausgabe:
1 + 5*x^2 + 7*x^3
== Einzelne Polynomwerte berechnen ==
using Polynomials
p = Polynomial([1, 0, 5, 7]);
println(p(1.5))
Ausgabe:
35.875
== Polynome integrieren und differenzieren ==
using Polynomials
p = Polynomial([1, 0, 5, 7]);
i = integrate(p)
d = derivative(p)
println(i)
println(d)
Ausgabe:
1.0*x + 1.66667*x^3 + 1.75*x^4
10*x + 21*x^2
== Nullstellen bestimmen ==
using Polynomials
p = Polynomial([4, 0, 5, 2]);
r = roots(p)
println(r)
Ausgabe:
ComplexF64[-2.7621427020576714 + 0.0im, 0.13107135102883646 - 0.8407709868482356im, 0.13107135102883646 + 0.8407709868482356im]
== Aufgaben ==
* Berechnen Sie den Wert für x = 3 des Polynoms <math>y = 2x^4 - 3x^3 - x + 7</math>.
* Differenzieren und integrieren Sie das Polynom <math>y = 2x^4 - 3x^3 - x + 7</math>.
* Berechnen Sie die Nullstellen von <math>y = 7x^5 - 3x^2 + 12</math>.
= Lineare Gleichungssysteme =
Sei <math>Ax = b</math> ein lineares Gleichungssystem. <math>A</math> sei die Koeffizientenmatrix, <math>x</math> der Lösungsvektor und <math>b</math> ein bekannter Vektor.
Beispiel:
A = [5 1; 0 2]
b = [1, 2]
x = A \ b
println(x)
Ausgabe:
[0.0, 1.0]
= Interpolation =
Als erstes muss das Interpolations-Paket installiert werden. Wenn Sie nicht wissen, wie man das macht, so sehen Sie unter dem Abschnitt "Grafiken zeichnen" den Absatz "Plots installieren". Dort wird die Vorgehensweise detailliert beschrieben.
Datei "c:\tmp\test1.jl":
using Interpolations
using Plots
# Stützpunkte
xp = 1 : 1 : 5
yp = [0; -5; 2; 7; 6]
# Interpolationsfunktionen
lspl = LinearInterpolation(xp, yp, extrapolation_bc = Line())
cspl = CubicSplineInterpolation(xp, yp, extrapolation_bc = Line())
# Stützpunkte zeichnen
plot(xp,yp,marker=4,linetype=:scatter, label = "Data", title = "Interpolation")
# Interpolierende zeichnen
x = 1 : .1 : 5
plot!(x, lspl(x), label="Linearer Spline")
plot!(x, cspl(x), label="Kubischer Spline")
gui()
while true
end
Ausgabe:
[[Datei:Julia_interpol1.jpg]]
= Differenzialrechnung =
== Symbolische Differenziation ==
julia> using Calculus
julia> differentiate("sin(x)", :x)
Ausgabe:
:(1 * cos(x))
Auswertung:
julia> x = pi/2;
julia> round(eval(differentiate("sin(x)", :x)))
Ausgabe:
0.0
== Numerische Differenziation ==
julia> using Calculus
julia> derivative("sin", pi/2)
Ausgabe:
0.0
= Integralrechnung =
julia> using QuadGK
julia> integral, err = quadgk(x -> sin(x), 0, pi/2, rtol=1e-8)
Ausgabe:
(0.9999999999999999, 1.1102230246251565e-16)
Im Rahmen der Näherung ist das Resultat richtig (exakt sollte (1.0, 0.0) rauskommen).
= Gewöhnliche Differenzialgleichungen =
Das Paket <code>DifferentialEquations</code> ist, wie so viele andere, umfangreich. Hier sei nur ein einfaches Beispiel dargestellt. Für weiterführende Studien sei auf die entsprechenden Weblinks verwiesen.
Folgende Differentialgleichung sei gegeben: <math>y' = x^2 + y^3</math>.
using DifferentialEquations
using Plots
f(y, p, x) = x^2 + y^3
problem = ODEProblem(f, 0.0, (0.0, 1.0))
s = solve(problem, Tsit5(), reltol = 1e-8, abstol = 1e-8)
plot(s, title = "ODE")
gui()
while true
end
Ausgabe:
[[Datei:Julia_dgl1.jpg]]
= Ein- und Ausgabe =
== Dateien lesen ==
# Textdatei im aktuellen Verzeichnis öffnen
f = open("test1.jl")
# Lesen aus Datei
lines = readlines(f)
# Zeilenweise Ausgabe am Bildschirm
for l in lines
println("$l")
end
# Datei schließen
close(f)
Als Ausgabe erscheint exakt obiger Source-Code im Terminal.
== Dateien schreiben ==
open("test.txt", "w") do f
write(f, "Schreibe eine Zeile in Textdatei\n")
end
Der Inhalt der Datei "test.txt" ist dann:
Schreibe eine Zeile in Textdatei
= Benutzeroberflächen erstellen =
Hier wird nur eine (sehr) kurze Einführung in das Thema GUI mit Gtk (Gimp toolkit, [https://www.gtk.org/]) gegeben. Nähere Details siehe die Gtk.jl-Dokumentation ([https://juliagraphics.github.io/Gtk.jl/latest/]). Nachfolgend wird ein gegenüber der offiziellen Dokumentation abgewandeltes Beispiel gezeigt. Das ist nötig, um Gtk.jl unter Windows 10 zum Laufen (bzw. um ein Fenster angezeigt) zu bekommen. Das Problem scheint schon seit Langem bekannt zu sein, siehe [https://stackoverflow.com/questions/52589873/gtk-jl-julia-bindings-for-gtk-gtk-window-is-not-displayed-outside-the-repl Gtk.jl, Julia Bindings for Gtk: Gtk Window is not displayed outside the REPL].
using Gtk
win = GtkWindow("Hallo Welt", 400, 200)
b = GtkButton("Push the button")
push!(win,b)
c = Condition()
endit(w) = notify(c)
signal_connect(endit, win, :destroy)
showall(win)
wait(c)
Ausgabe:
[[Datei:Julia_gtk1.jpg]]
Ein etwas komplizierteres (aber zugegebenerweise noch nicht sehr schönes) Beispiel sei nachfolgend gezeigt. Es sollen zwei Strings miteinander verknüpft und ausgegeben werden.
using Gtk
win = GtkWindow("Stringverknüpfung")
hbox = GtkBox(:h)
push!(win, hbox)
e1 = GtkEntry()
l1 = GtkLabel("verknüpfe mit")
e2 = GtkEntry()
b = GtkButton("=")
l2 = GtkLabel(" ")
push!(hbox, e1)
push!(hbox, l1)
push!(hbox, e2)
push!(hbox, b)
push!(hbox, l2)
function on_button_clicked(b)
GAccessor.text(l2, get_gtk_property(e1, :text, String) * get_gtk_property(e2, :text, String))
end
signal_connect(on_button_clicked, b, "clicked")
c = Condition()
endit(w) = notify(c)
signal_connect(endit, win, :destroy)
showall(win)
wait(c)
Ausgabe (vor der Eingabe der Teilstrings):
[[Datei:Julia_gtk2.jpg]]
Ausgabe (nach der Eingabe der Teilstrings und dem Drücken des =-Buttons):
[[Datei:Julia_gtk3.jpg]]
= Ausblick =
Dies war eine kurze Einführung in die Berechnungs- und Darstellungsmöglichkeiten mit Julia. Es sollten etliche relevante Themen behandelt, oder zumindest kurz angesprochen worden sein. Wem dieser Text nicht ausreichend ist, der sei auf die entsprechenden weiterführenden Weblinks und die Julia-Hilfefunktion
verwiesen. Julia kennt noch viel mehr Befehle, als hier dargestellt wurden. Das Themenspektrum ist auch durch die Einbindung externer Pakete fast beliebig erweiterbar.
= Weblinks =
* [https://julialang.org/ Julia Homepage]
* [https://docs.julialang.org/en/v1/ Julia Dokumentation]
* [https://en.wikibooks.org/wiki/Introducing_Julia Englisches Wikibook zu Julia]
* [https://docs.makie.org/stable/ Makie - a data visualization ecosystem for Julia]
* [https://docs.juliaplots.org/latest/ Plots - powerful convenience for visualization in Julia]
* [https://www.matecdev.com/posts/julia-numerical-computing.html Numerical Computing in Julia]
* [https://www.matecdev.com/posts/julia-tutorial-science-engineering.html Julia Programming Tutorial]
* [https://juliapackages.com/p/polynomials Polynomials.jl]
* [https://github.com/JuliaMath/Calculus.jl Calculus.jl]
* [https://github.com/JuliaMath/QuadGK.jl QuadGK.jl]
* [https://docs.sciml.ai/DiffEqDocs/stable/ DifferentialEquations.jl: Efficient Differential Equation Solving in Julia]
* [https://nextjournal.com/sosiris-de/ode-diffeq# Solving ODEs in Julia]
* [https://juliagraphics.github.io/Gtk.jl/latest/ Gtk.jl]
{{Navigation_zurückhochvor_buch|
zurücktext=Octave|
zurücklink=Ing Mathematik: Numerische Mathematiksysteme am Beispiel von Octave|
hochtext=Gesamtinhaltsverzeichnis|
hochlink=Ing:_Mathematik_für_Ingenieure|
vortext=Python für Ingenieure|
vorlink=Ing Mathematik: Python}}
ilidwbafh3nojbbqc5x2nk9cfm1pjea
1091125
1091124
2026-09-20T07:20:10Z
Intruder
1513
/* Ein paar Worte zur Erklärung */
1091125
wikitext
text/x-wiki
{{Navigation_zurückhochvor_buch|
zurücktext=Octave|
zurücklink=Ing Mathematik: Numerische Mathematiksysteme am Beispiel von Octave|
hochtext=Gesamtinhaltsverzeichnis|
hochlink=Ing:_Mathematik_für_Ingenieure|
vortext=Python für Ingenieure|
vorlink=Ing Mathematik: Python}}
= Hallo Welt und allgemeine Hinweise =
== Was ist Julia ==
* Julia ist eine höhere Programmiersprache, die vor allem für numerisches und wissenschaftliches Rechnen entwickelt wurde.
* Julia ist Open-Source (MIT-Lizenz).
* Julia ist schnell (JIT-Compiler).
* Julia ist für wichtige Betriebssysteme erhältlich (z.B. für Linux, MS Windows, macOS).
* Julia als Programmiersprache ist case-sensitive - d.h. Groß- und Kleinschreibung ist relevant bei der Eingabe von Befehlen.
{{Wikipedia | Julia (Programmiersprache)}}
== Julia installieren ==
=== MS Windows ===
Laden Sie das aktuelle Julia-Paket von der Webseite [https://julialang.org/downloads/] herunter (Manual Downloads). Weiter geht es wie bei jedem anderen größeren zu installierenden Programm. Einfach das Installationsprogramm im Explorer doppelklicken und den Anweisungen des Setup-Programmes folgen. Alternativ können Sie auch den "MSIX App Installer" verwenden, siehe die genannte Download-Seite.
=== Linux ===
Den Install-Button auf der Seite [https://julialang.org/] anklicken und den Anweisungen folgen (<code>curl ...</code>). Das Programm wird dann automatisch installiert. Unter openSUSE Tumbleweed können sie Julia auch via YaST installieren (Paket <code>juliaup</code>).
== Julia starten ==
=== MS Windows ===
Das Icon für das Julia-Programm doppelklicken. Und schon startet das Programm.
[[Datei:juliastart1.jpg]]
Das Julia-System präsentiert sich dann folgendermaßen (interaktives Kommandozeilenprogramm REPL [Read–eval–print loop]):
[[Datei:Julia1.0.jpg|500px]]
=== Linux ===
Einfach <code>julia</code> in einer Konsole eintippen und mit der <code>Return</code>-Taste abschließen. Dies startet die Julia-REPL.
Es gibt auch noch andere Möglichkeiten Julia zwecks Programmausführung zu starten, z. B. den {{W|Shebang}} (<code>#!</code>) am Beginn eines Julia-Scripts. Das Script sei als Script.py gespeichert. Dann kann das Script mit ./Script.py ausgeführt werden. Für openSUSE Tumbleweed sei nachfolgend ein lauffähiges "Hallo Welt!"-Script angegeben.
#!/usr/bin/julia
println("Hallo Welt!")
Die Berechtigungen zum Ausführen der Datei müssen natürlich noch richtig gesetzt werden, z.B. mittels <code>chmod 777 Script.py</code>. <small>Die "Maske" <code>777</code> ist nur für Testzwecke sinnvoll, weil sie leicht zu merken ist und für alle Benutzer alle Zugriffsberechtigungen ('''r'''ead/'''w'''rite/e'''x'''ecute für owner/group/others) setzt. Im richtigen Einsatz wird man das aus Sicherheitsgründen nicht so handhaben, sondern nur die Berechtigungen setzen, die unbedingt erforderlich sind.</small>
== Ein paar Worte zur Erklärung ==
=== Tests ===
Getestet wurden die Beispiele unter den Betriebssystemen
* MS Windows 10 mit den Julia-Versionen 1.9.4 und 1.10.2 (bis Ende 2024).
* openSUSE Leap 15.6 mit der Julia-Version 1.11.6 (im Juli 2025, nur vereinzelt).
* openSUSE Tumbleweed ab der Julia-Version 1.12.5 (ab März 2026, nur vereinzelt).
=== Popularität ===
* An Beliebtheit rangiert Julia mit Stand September 2026 mit einem Rating von 0,74% an 21. Stelle der beliebtesten Programmiersprachen ([https://www.tiobe.com/tiobe-index/ lt. TPCI - TIOBE Programming Community Index]).
* Lt. [https://pypl.github.io/PYPL.html PYPL] (PopularitY of Programming Language) liegt Julia auf dem 21. Platz (0,45%; Stand: September 2026).
== Ein erstes Programm ==
Kommentare werden in Julia mit der Raute (#) eingeleitet. Sie werden vom Julia-Interpreter ignoriert. Text kann mit der print- oder println-Funktion ausgegeben werden. Starten Sie Julia und geben sie folgende Anweisungen zeilenweise ein (die Anweisungen sind jeweils mit der Return-Taste abzuschließen)
julia> # Das ist ein Kommentar
julia> print("Hallo Welt!")
Als Ergebnis erhalten Sie
Hallo Welt!
Der Prompt (julia>) ist selbstverständlich nicht einzutippen, sondern wird vom Julia-System geliefert.
Strings sind in Julia in Anführungszeichen (") zu setzen. Zwischen dem Befehl print und der öffnenden Klammer ( darf kein Leerzeichen gesetzt werden.
= Julia als Taschenrechner =
== Allgemeines ==
Wir wollen 3 * 5 berechnen. Dazu starten wir Julia. Geben Sie dann die Formel
julia> 3 * 5
ein, drücken die Taste ENTER/RETURN und erhalten als Ergebnis
15
Auch kompliziertere Ausdrücke sind möglich. Beispielsweise mit Winkelfunktionen, Quadratwurzeln etc. Wir wollen nun den Ausdruck <math>\sin\sqrt{15}</math> berechnen :
julia> sin(sqrt(15))
-0.6679052983383519
Mit dieser Zahl kann unmittelbar weitergerechnet werden, z.B.
julia> ans * 2
-1.3358105966767038
"ans" steht übrigens für den Begriff "answer" (auf Deutsch "Antwort").
Das Mal-Zeichen (*) kann übrigens eingespart werden. <code>ans * 2</code> ist dasselbe wie <code>2ans</code>. Man beachte aber, dass in der Kurzform kein Leerzeichen zwischen 2 und ans stehen darf.
Beenden lässt sich das Julia-Programm durch Eingabe von exit() (und natürlich ist zur Bestätigung die RETURN-Taste zu drücken). Beachten Sie wieder, dass zwischen der Funktion exit und der öffnenden Klammer kein Leerzeichen stehen darf.
== Die Hilfefunktion von Julia ==
Bei Eingabe eines Fragezeichens (?) springt Julia in das Hilfesystem.
Eingabe:
?
Eingabe:
help?> sin
Ausgabe:
sin
search: sin sinh sind sinc sinpi sincos sincosd sincospi asin using isinf asinh asind isinteger isinteractive thisind
sin(x)
Compute sine of x, where x is in radians.
See also sind, sinpi, sincos, cis, asin.
Examples
≡≡≡≡≡≡≡≡≡≡
julia> round.(sin.(range(0, 2pi, length=9)'), digits=3)
...
...
...
0.454649 0.454649
Für die komplette Julia-Dokumentation siehe [https://docs.julialang.org/en/v1/].
== Aufgaben ==
* Erkunden Sie die Tangensfunktion "tan" mittels Julia-Hilfe.
* Berechnen Sie mit Julia den Ausdruck <math>\frac{1}{2}\cdot e^2 \cdot \tan(\pi/3)</math>. Siehe für die Exponentialfunktion im Julia-Hilfesystem auch den Befehl exp(). Potenzieren kann man bei Julia mit dem ^-Operator (z.B. 2^3 = 8)
* Berechnen Sie mit Julia den Ausdruck <math>2\text{cosd}(60) - 3\sin(\pi/5)</math>. Anmerkung: cosd erwartet den Parameter im Gradmaß (d für "degree"), sin erwartet den Parameter im Bogenmaß.
= Julia als Scriptsprache =
Häufig wird man aber kompliziertere Anweisungsfolgen verarbeiten müssen. Diese will man normalerweise nicht jedesmal neu eingeben, sondern in einer Datei speichern und diese Datei dann zur Ausführung bringen. Speichern Sie dazu folgenden Code in einer Textdatei, z.B. unter MS Windows als c:\tmp\test1.jl
# Das ist ein Kommentar
print("Hallo Welt!")
Julia-Dateien werden mit der Dateiendung .jl versehen.
Danach bringen Sie die Skriptdatei test1.jl (sozusagen das Hauptprogramm) folgendermaßen zur Ausführung:
1) Starten Sie unter MS Windows die Eingabeaufforderung (oder alternativ die Windows PowerShell). Das sieht dann etwa so aus:
Microsoft Windows [Version 10.0.19045.3693]
(c) Microsoft Corporation. Alle Rechte vorbehalten.
C:\Users\xyz>
: <small>Falls jemand nicht weiß, wie man die Eingabeaufforderung startet: Eine Möglichkeit ist, einfach in der Taskleiste von Windows das "Start"-Symbol mit der rechten Maustaste anklicken. "Ausführen" auswählen (oder alternativ für die PowerShell den Eintrag "Windows PowerShell"). Im sich öffnenden Dialogfenster gibt man in die "Öffnen"-Zeile das Wort <code>cmd</code> ein und mit "OK" wird das Ganze bestätigt.</small>
2) Wechseln Sie mittels <code>cd c:\tmp</code> in das Verzeichnis c:\tmp
3) Angenommen, Sie haben Julia unter dem Pfad <code>c:\devel\Julia-1.9.4\</code> installiert. Starten Sie das Programm so (der Prompt <code>c:\tmp></code>ist natürlich nicht mit einzutippen):
c:\tmp>c:\devel\Julia-1.9.4\bin\julia.exe test1.jl
4) Wie erwartet ergibt sich folgende Ausgabe am Bildschirm
Hallo Welt!
Die Vorgehensweise unter Linux ist sehr ähnlich, wird hier deshalb nicht noch mal gezeigt.
== Variablen ==
Variablenbezeichner können aus Buchstaben (A-Za-z), Ziffern (0-9), Underscores (_) und etlichen Unicode-Zeichen bestehen, dürfen aber nicht mit einer Zahl beginnen.
Gültige Variablenbezeichner wären also:
xyz
x1
_wert
name_anzahl
a₂
γπΩ
Wie kann man eigentlich die griechischen Zeichen im vorhergehenden Beispiel eingeben? Auf einer deutschen oder englischen Tastatur sind sie jedenfalls nicht zu finden. Des Rätsels Lösung kann folgendermaßen aussehen (wird am Beispiel des Omega-Zeichens (Ω) vorgeführt):
1) Starten Sie das Julia-System (z.B. mittels Doppelklick auf das Julia-Icon oder in der Eingabeaufforderung durch direkte Eingabe von julia.exe (ggf. mit dem entsprechenden Programmpfad).
2) geben Sie <code>\Omega</code> ein (ohne den Befehl mit Return abzuschließen)
julia> \Omega
3 Tippen Sie auf die Tabulatortaste und schon erscheint das Ω.
4) Dieses Zeichen können Sie dann mittels Zwischenablage z.B. auch in eine jl.-Datei einfügen (ggf. unter Verwendung eines geeigneten Text-Editors, z.B. Geany oder unter Linux auch Kate)
Ähnliches gilt für tiefgestellte Indizes, z.B. <code>a\_2</code> gefolgt von einem Tabulator ergibt a₂.
Da Julia case-sensitiv ist, repräsentieren folgende Bezeichner verschiedene Variablen:
xyz
XYZ
xYz
Werte werden an Variablen mittels Gleich-Zeichen (=) zugewiesen. Im Folgenden wird der Code unter MS Windows immer in der Datei <code>c:\tmp\test1.jl</code> oder unter Linux z.B. unter <code>~/tmp/test1.jl</code> gespeichert.
x = 5
y = 10
z = x*y
print(z)
Bringen Sie die Datei test1.jl zur Ausführung, so erhalten Sie folgende Bildschirmausgabe
50
Sie können auch mehrere Anweisungen in einer Zeile durch Semikolon getrennt schreiben.
x = 5; y = 10; z = x*y
print(z)
Ausgabe:
50
Auch aus der Programmiersprache C/C++ oder Java bekannte Konstrukte können Sie verwenden, z.B.
x = 5;
println(x)
# x = x - 2
x -= 2
println(x)
Bildschirmausgabe:
5
3
Beachten Sie, dass mit dem =-Zeichen eine Wertezuweisung durchgeführt wird. Dies ist nicht äquivalent zum mathematischen =-Zeichen, wie am vorigen Beispiel zu ersehen ist.
Die Verwendung von Prä-/Postfix-Operatoren (++, --) wie unter C/C++ oder Java ist in Julia nicht erlaubt, sondern liefert nur eine Fehlermeldung.
Soll eine Anweisung auf mehrere Zeilen verteilt werden, z.B. weil sie zu lang ist, so kann dies geschehen, wie nachfolgend dargestellt.
x = 5;
y = 1000 * x +
sin(x/2)
print(y)
Ausgabe:
5000.598472144104
Beachten Sie, dass die Zeilentrennung nach einem Operator erfolgt! Folgendes würde ein falsches Resultat liefern:
x = 5;
y = 1000 * x
+ sin(x/2)
print(y)
Ausgabe:
5000
Variablen sind nicht an einen bestimmten Datentyp gebunden, folgendes ist mit Julia problemlos möglich:
wert = 10
println(wert)
wert = 35.5
println(wert)
wert = "Hallo"
println(wert)
wert = pi
println(wert)
Ausgabe:
10
35.5
Hallo
π
==Hexadezimale, oktale und binäre Zahlen==
# Hexadezimale Zahl
println(0xABC)
# Oktale Zahl
println(0o56)
# Binäre Zahl
println( 0b1000011 )
Ausgabe (als Dezimalzahlen):
2748
46
67
Julia kann auch dezimale in binäre Zahlen etc. umwandeln:
Eingabe:
b = bitstring(30)
println(b)
Ausgabe:
0000000000000000000000000000000000000000000000000000000000011110
Ein anderes Beispiel (hexadezimal nach binär):
# hexadezimal -> binär
s = string(0xF, base=2)
print(s)
Ausgabe:
1111
== Verzweigungen ==
=== if ===
Die IF-Verzweigung ist aus anderen Programmiersprachen bereits bekannt. In Pseudocode lässt sie sich folgendermaßen darstellen:
WENN bedingung TRUE
führe block1 aus
SONST
führe block2 aus
ENDE
Die test1.jl-Datei laute also wie folgt:
x = 5;
if x < 4
println("x ist kleiner als 4");
else
println("Der else-Zweig wird ausgefuehrt");
println("x ist groesser oder gleich 4");
end
Ausgabe:
Der else-Zweig wird ausgefuehrt
x ist groesser oder gleich 4
Julia kennt eine Reihe von Vergleichs- und Verknüpfungsoperatoren:
* <, <= ... kleiner (gleich)
* >, >= ... größer (gleich)
* == ... gleich
* != ... ungleich
* &, && ... AND
* |, || ... OR
Beispielsweise:
a = 5;
b = 9;
if a<=10 & b!=7
println("OK");
else
println("Nicht OK");
end
Ausgabe:
OK
Erweiterung der if-else-end-Verzweigung - ein Beispiel mit <code>elseif</code>:
a = 5
if a==10
println("OK")
elseif a==5
println("Nicht OK")
println("a = 5")
elseif a==6
println("Auch nicht OK")
else
println("Weiß nicht")
end
Ausgabe:
Nicht OK
a = 5
=== Ternärer Operator ===
Eingabedatei:
a = 5
a >= 6 ? println("größer gleich 6") : println("kleiner 6")
Ausgabe:
kleiner 6
== Schleifen ==
=== while ===
Die WHILE-Schleife ist kopfgesteuert. Sie funktioniert nicht ganz so wie aus anderen Programmiersprachen bekannt.
In Pseudocode:
SOLANGE bedingung TRUE
führe block aus
ENDE
In Julia:
x = 0
while x <= 10
println(x)
global x += 1
end
Ausgabe:
0
1
2
3
4
5
6
7
8
9
10
Außerhalb von Funktionen muss das Schlüsselwort <code>global</code> verwendet werden. Ansonsten gibt es eine Warnung und eine Fehlermeldung. Innerhalb einer Funktion benötigt man das <code>global</code> nicht.
=== for ===
for x = 0 : 2 : 10
println(x);
end
Ausgabe:
0
2
4
6
8
10
Der FOR-Schleifenkopf ist in Form einer Zahlenkolonne folgendermaßen aufgebaut:
for variable = startwert : schrittweite : endwert
Alternativ findet man in der Literatur auch folgende for-Schleifenaufbauten.
for x in 0 : 2 : 10
println(x);
end
for x ∈ 0 : 2 : 10
println(x);
end
Achtung: Das ∈ ist kein \epsilon, sondern ein \in.
Die unterschiedlichen for-Schleifen liefern jeweils das gleiche Ergebnis.
=== break und continue ===
Zum Abbrechen einer Schleife gibt es den Befehl "break".
for var = 0 : 1 : 100
println(var)
if var == 5
break;
end
end
Ausgabe:
0
1
2
3
4
5
"continue" setzt mit dem nächsten Schleifendurchlauf fort, z.B.
for var = 0 : 1 : 10
if var == 5
continue;
end
println(var);
end
Ausgabe:
0
1
2
3
4
6
7
8
9
10
== Eingabe via Tastatur ==
Datei c:\tmp\test1.jl:
print("Geben Sie eine Zahl ein: ")
# Einlesen als String
str = readline(stdin)
print("Die Zahl lautet ")
println(str)
# Umwandeln in einen Float
zahl = parse(Float64, str)
print("Die Zahl lautet ")
println(zahl)
Eingabe der Zahl via Tastatur:
67.8
Mit der RETURN-Taste bestätigen.
Ausgabe:
Die Zahl lautet 67.8
Die Zahl lautet 67.8
In diesem Fall wird, wie gezeigt, zweimal <code>Die Zahl lautet 67.8</code> ausgegeben. Gibt man aber z.B. <code>Eins</code> ein, so wird einmal <code>Die Zahl lautet Eins</code> ausgegeben. Das ist klar, da <code>Eins</code> ein gültiger String ist. Danach folgt aber eine Fehlermeldung, weil <code>Eins</code> nicht in eine Fließkommazahl umgewandelt werden kann.
= Grafiken zeichnen =
Es gibt in Julia mehrere Möglichkeiten Grafiken zu zeichnen. Hier wird eine Einführung in das Package Plots gegeben.
== Plots installieren ==
Im Julia-REPL die schließende eckige Klammer ] eintippen. Damit springt man in das Package-System, angezeigt wird das mit dem Prompt <code>(@v1.9) pkg></code>.
Das Plots-Package zum Julia-System hinzufügen:
(@v1.9) pkg> add Plots
Mit STRG-C kann das Package-System wieder verlassen werden.
== 2D ==
=== Graph einer Funktion ===
Es soll die cosh-Funktion im Intervall <math>x\in[-3,3]</math> gezeichnet werden. Der Programmcode lautet in der einfachsten Form:
using Plots
x = -3 : .1 : 3
y = cosh.(x)
p = plot(x, y)
gui()
while(true)
end
Ausgabe:
[[Datei:Julia_cosh.jpg]]
Der Code ist quasi selbsterklärend. Das Plots-Package wird importiert. x läuft von -3 bis +3. y wird für jeden x-Wert per Formel ausgerechnet. "plot" ist der Zeichenbefehl. "gui" ist notwendig, um das Fenster mit der Grafik anzuzeigen. Es folgt eine Endlossschleife. Diese ist notwendig, weil das Fenster mit der Grafik sonst nur kurz aufblinkt und das Programm danach beendet wird. Das Gesagte gilt, wenn man die test1.jl-Datei direkt ausführt. Im REPL kann man sich den Befehl "gui" und die Endlosschleife sparen.
Die Schrittweite 0.1 wurde so gewählt, um einen ausreichend glatten Verlauf des Graphen zu gewährleisten. Das ist immer ein Kompromiss zwischen Berechnungszeit und Ansehnlichkeit. Testen Sie einfach ein paar verschiedene Werte, um ein Gefühl dafür zu zu bekommen.
Hinweise:
* Bis das Fenster mit dem cosh-Graphen erscheint, kann es einige Sekunden dauern.
* Beenden kann man die Endlosschleife, indem man STRG-C drückt (STRG ist die Steuerungs- oder Control-Taste)
* Beachten Sie den Punkt (.) bei der cosh-Funktion. Vergessen Sie diesen, so wird eine Fehlermeldung ausgegeben.
Ein etwas komplexeres Beispiel ist folgendes
using Plots
x = -3 : .1: 3
y = cosh.(x) + 2 .^x
plot(x,y)
gui()
while true
end
Man beachte die Punkte bei der Funktion y. Vergisst man die Punkte, dann erhält man eine Fehlermeldung. Weiters beachte man das Leerzeichen und die Position desselben bei 2 .^x. Setzt man das Leerzeichen an die falsche Stelle oder vergisst es ganz, so ist das auch ein Fehler.
Ausgabe:
[[Datei:Julia_cosh2.jpg]]
=== Graphen mehrerer Funktionen und weiteres ===
Mehrere Graphen lassen sich folgendermaßen in ein Fenster zeichnen (es werden auch Titel und Labels gesetzt):
using Plots
x = -3 : .1: 3
y1 = cosh.(x) + 2 .^x
y2 = sin.(x) .* cos.(x)
plot(x, [y1, y2], title="Screenshot", label=["cosh(x) + 2^x" "sin(x) + cos(x)"],
xlabel="x", ylabel="y")
gui()
while true
end
[[Bild:Julia_cosh14.jpg]]
Will man mehrere Graphen in ein Fenster zeichnen, aber nicht alles in einen plot-Befehl quetschen, so kann die "plot!"-Anweisung die Lösung des Problems sein. Auch die Linienstile sollen nun etwas individueller gestaltet werden:
using Plots
x = -3 : .1: 3
y1 = cosh.(x) + 2 .^x
y2 = sin.(x) .* cos.(x)
plot(x, y1, linestyle=:dot, label="cosh ...", linewidth=5)
plot!(x, y2, ls=:dot, label="sin ...", lw=3)
title!("Funktionsgraphen")
xlabel!("x")
ylabel!("y")
gui()
while true
end
[[Datei:Julia_cosh4.jpg]]
=== Funktion in Parameterdarstellung ===
Es soll die archimedische Spirale <math>x = t \cos(t), y = t \sin(t)</math> im Intervall <math>[0, 6\pi]</math> gezeichnet werden.
using Plots
t = 0 : .1: 6*pi
x = t .* cos.(t)
y = t .* sin.(t)
plot(x, y, lw=5)
gui()
while true
end
[[Datei:Julia_spirale1.jpg]]
Der Graph erscheint in der obigen Darstellung verzerrt. Will man das nicht, so setze man das <code>aspect_ratio</code> auf <code>:equal</code>:
using Plots
t = 0 : .1: 6*pi
x = t .* cos.(t)
y = t .* sin.(t)
plot(x, y, lw=5, aspect_ratio = :equal)
gui()
while true
end
[[Datei:Julia_spirale2.jpg]]
=== Logarithmische Achsenskalierung ===
using Plots
f(x) = 10^x
p1 = plot(f, 1, 5, lw=2, title="kartesische Koordinaten")
p2 = plot(f, 1, 5, yscale=:log10, lw=2, title="Semilog")
p3 = plot(f, 1, 5, xscale=:log10, yscale=:log10, lw=2, title="LogLog")
plot(p1, p2, p3, layout=(3,1))
gui()
while true
end
Ausgabe:
[[Datei:Julia_log1.jpg]]
=== Aufgaben ===
* Zeichnen Sie die Strophoide <math>x = \frac{a(t^2-1)}{t^2+1}, y = \frac{at(t^2-1)}{t^2+1}, a = 2, -3 \leq t \leq 3</math>. Das Ganze sollte in etwa so aussehen wie folgende Grafik:
[[Datei:octave_strophoide.jpg]]
* Zeichnen Sie die verschlungene Hypozykloide <math>x = (R-r)\cos t + c\cos\frac{R-r}{r}t, y = (R-r)\sin t - c\sin\frac{R-r}{r}t, c = 3, r = 2, R = 6, -15 \leq t \leq 15</math>. Das Ganze sollte in etwa so aussehen wie folgende Grafik:
[[Datei:octave_hypozykloide.jpg]]
* Testen Sie bei den obigen Übungsaufgaben verschiedene Werte für a, c, r und R.
== 3D ==
=== Räumliche Kurven ===
Mittels "plot3d" lassen sich Raumkurven zeichnen.
using Plots
t = 0 : .1: 6*pi
x = t .* cos.(t)
y = t .* sin.(t)
z = t
plot3d(x, y, z)
gui()
while true
end
[[Datei:Julia_raumkurve1.jpg]]
=== Flächen ===
using Plots
x = 0 : .1 : 10;
y = 0 : .1 : 10;
z(x,y) = sin(x) + 3*cos(y);
surface(x,y,z)
gui()
while true
end
[[Datei:Julia_flaeche1.jpg]]
Das Ganze in Netzdarstellung läßt sich so programmieren:
using Plots
x = 0 : .5 : 10
y = 0 : .5 : 10
z(x,y) = sin(x) + 3*cos(y)
wireframe(x, y, z)
gui()
while true
end
[[Datei:Julia_flaeche2.jpg]]
Die Kameraposition lässt sich verändern:
using Plots
x = 0 : .1 : 10
y = 0 : .1 : 10
z(x,y) = sin(x) + 3*cos(y)
# Kamerawinkel in Grad (Azimut, Altitude)
surface(x,y,z, camera = (75, 60))
gui()
while true
end
[[Datei:Julia_flaeche_3.jpg]]
{{Wikipedia | Azimut}}
=== Höhenlinien ===
using Plots
x = 0 : .1 : 10
y = 0 : .1 : 10
z(x,y) = sin(x) + 3*cos(y)
contour(x,y,z)
gui()
while true
end
[[Datei:Julia_hoehenlinien.jpg]]
Etwas abgewandelt sind das so aus:
using Plots
x = 0 : .1 : 10
y = 0 : .1 : 10
z(x,y) = sin(x) + 3*cos(y)
contour(x, y, z, levels=10, clabels=true, cbar=false)
gui()
while true
end
[[Datei:Julia_hoehenlinien2.jpg]]
Und noch eine Variante sei gezeigt.
using Plots
x = 0 : .1 : 10
y = 0 : .1 : 10
z(x,y) = sin(x) + 3*cos(y)
contourf(x, y, z)
gui()
while true
end
[[Datei:Julia_hoehenlinien3.jpg]]
=== Aufgaben ===
* Zeichnen Sie die räumliche Kurve <math>x = 2 \cdot \cosh(t)</math>, <math>y = 5 \cdot \sin(t)</math>, <math> z = t^{2} - t</math>, <math>0 \leq t \leq 3\pi</math>.
* Zeichnen Sie die Fläche <math>z = \log(x) + \cos(y)</math>.
== Animationen ==
using Plots
anim = Animation()
for i = 1:100
plt = plot(sin, 0, i*2pi/10, ylims = (-1., 1.), lab="")
frame(anim, plt)
end
gif(anim, "c:/tmp/Julia_anim1.gif",fps=10)
Dieses Programm schreibt ein animiertes {{W|GIF}} in die Datei <code>c:/tmp/Julia_anim1.gif</code>.
[[Datei:Julia_anim1.gif]]
= Vektoren und Matrizen =
== Vektoren ==
Vektoren sollten jedem aus der Linearen Algebra bekannt sein.
=== Spalten- und Zeilenvektoren ===
Starten Sie die Julia-REPL. Geben Sie folgenden Befehl ein, um einen Spaltenvektor zu erstellen:
julia> v1 = [1, 2, 3]
Ausgabe:
3-element Vector{Int64}:
1
2
3
Geben Sie folgenden Befehl ein, um einen Zeilenvektor (oder genauer eine 1x3-Matrix) zu erstellen:
julia> v1 = [1 2 3]
Ausgabe:
1×3 Matrix{Int64}:
1 2 3
=== Zugriff auf Vektorelemente ===
Nachfolgend seien Zugriffsmöglichkeiten auf die Vektorelemente erläutert.
Auf ein einzelnes Element kann via Index zugegriffen werden. Der Index startet bei 1:
v1 = [1, 2, 3]
println(v1[2])
Ausgabe:
2
Mehrere Elemente werden folgendermaßen angesprochen:
v1 = [1 2 4 8 16]
print(v1[3:4])
Ausgabe:
[4, 8]
Liefere den Teilvektor von einem gegebenen Index bis zum letzten Element:
v1 = [1 2 4 8 16]
print(v1[3:end])
Ausgabe:
[4, 8, 16]
=== Addition und Subtraktion von Vektoren ===
v1 = [1, 2, 3]
v2 = [5, 7, 9]
println(v1 + v2)
println(v1 - v2)
Ausgabe:
[6, 9, 12]
[-4, -5, -6]
=== Multiplikation mit Skalaren ===
faktor = 3;
v = [1, 2, 3];
println(v * faktor)
Ausgabe:
[3, 6, 9]
=== Skalarprodukt ===
Das Skalarprodukt ist bekanntermaßen als <math>v_1 \cdot v_2 = |v_1| |v_2| \cos(\angle(v_1, v_2))</math> definiert. In Julia sieht das so aus:
using LinearAlgebra
v1 = [1, 2, 3]
v2 = [2, 5, 10]
println(LinearAlgebra.dot(v1, v2))
Ausgabe:
42
Hinweis: Wenn das LinearAlgebra-Paket noch nicht installiert ist, so muss dies eventuell nachgeholt werden. Wie das prinzipiell funktioniert, wurde im Kapitel "Grafiken zeichnen" am Beispiel des Plots-Pakets vorgeführt.
=== Vektorprodukt ===
<math>a\ast b=\left(\begin{array}{c}
a_{1}\\
a_{2}\\
a_{3}
\end{array}\right)\ast\left(\begin{array}{c}
b_{1}\\
b_{2}\\
b_{3}
\end{array}\right)=\left(\begin{array}{c}
a_{2}b_{3}-a_{3}b_{2}\\
a_{3}b_{1}-a_{1}b_{3}\\
a_{1}b_{2}-a_{2}b_{1}
\end{array}\right)
</math>
Julia-Code:
using LinearAlgebra
v1 = [1, 2, 3]
v2 = [2, 5, 10]
println(LinearAlgebra.cross(v1, v2))
Ausgabe:
[5, -4, 1]
=== Transponierter Vektor ===
using LinearAlgebra
v = [1, 2, 3]
println(LinearAlgebra.transpose(v))
Ausgabe:
[1 2 3]
=== Einige weitere Vektorfunktionen ===
Die euklidische Norm <math>\|x\|_2 = \sqrt{x_1^2 + x_2^2 + \ldots + x_n^2}</math> in Julia:
using LinearAlgebra
v = [1 2 3]
println(norm(v))
Ausgabe:
3.7416573867739413
Beispiel:
# 1 + 2 + 3
v = [1 2 3]
println(sum(v))
Ausgabe:
6
Beispiel:
# 1 * 2 * 3 * 4
v = [1 2 3 4]
println(prod(v))
Ausgabe:
24
== Matrizen ==
Starten Sie die Julia-REPL. Geben Sie folgenden Befehl ein, um eine 2x3-Matrix zu erstellen:
julia> [1 2 3; 4 5 6]
Ausgabe:
2×3 Matrix{Int64}:
1 2 3
4 5 6
Damit verlassen wir die Julia-REPL wieder und arbeiten im Folgenden mit der test1.jl-Datei weiter.
=== Zugriff auf Matrizenelemente ===
m = [1 2 3; 4 5 6]
# Element aus Zeile 2 und Spalte 3
println(m[2,3])
Ausgabe:
6
Eine andere Zugriffsmöglichkeit ist diese:
m = [1 2 3; 4 5 6]
# Auf das Element an Position 5 soll zugegriffen werden
println(m[5])
Ausgabe:
3
Die Matrix wird also spaltenweise durchlaufen (nicht zeilenweise). Dies ist vielleicht auf den ersten Blick etwas ungewöhnlich, wird aber z.B. auch in Fortran oder Octave so gehandhabt.
[[Datei:Julia_matrix1.svg]]
=== Addition und Subtraktion von Matrizen ===
m1 = [1 2 3; 4 5 6]
m2 = [-4 -2 0; 2 4 6]
println(m1 + m2)
println(m1 - m2)
Ausgabe:
[-3 0 3; 6 9 12]
[5 4 3; 2 1 0]
=== Transponierte Matrix ===
m = [1 2 3; 4 5 6]
println(m')
Ausgabe:
[1 4; 2 5; 3 6]
=== Rang einer Matrix ===
using LinearAlgebra
m1 = [1 2 3; 4 5 6]
m2 = [1 2 3; 2 4 6]
println(LinearAlgebra.rank(m1))
println(LinearAlgebra.rank(m2))
Ausgabe:
2
1
=== Inverse Matrix ===
using LinearAlgebra
m = [1 3; 0 -5 ]
println(LinearAlgebra.inv(m))
Ausgabe:
[1.0 0.6000000000000001; 0.0 -0.2]
=== Determinate einer Matrix ===
using LinearAlgebra
m1 = [1 3; 0 -5 ]
m2 = [1 2; 2 4]
println(LinearAlgebra.det(m1))
println(LinearAlgebra.det(m2))
Ausgabe:
-5.0
0.0
m1 ist regulär, m2 ist singulär. Determinanten können nur von quadratischen Matrizen gebildet werden.
=== Multiplikation von Matrizen (falksches Schema) ===
m1 = [1 3 4; 0 -5 1]
m2 = [1 2; 2 3; 0 2]
println(m1 * m2)
Ausgabe:
[7 19; -10 -13]
=== Teilmatrizen ===
m = [1 2 3; 0 5 1]
# Die Matrix in einen Spaltenvektor umwandeln
println(m[:])
# Das Element aus der 1. Zeile und der 2. Spalte extrahieren
println(m[1,2])
# Erste Zeile extrahieren
println(m[1, 1:3])
println(m[1, :])
# Zweite Spalte extrahieren
println(m[1:2, 2])
println(m[:, 2])
Ausgabe:
[1, 0, 2, 5, 3, 1]
2
[1, 2, 3]
[1, 2, 3]
[2, 5]
[2, 5]
=== Eigenwerte und Eigenvektoren ===
using LinearAlgebra
A = [5 8; 1 3]
# Eigenvektoren und Eigenwerte
println(eigvals(A))
println(eigvecs(A))
Ausgabe:
[1.0, 7.0]
[-0.8944271909999159 0.9701425001453319; 0.447213595499958 0.24253562503633297]
=== LR-Zerlegung einer Matrix ===
Führen Sie die LR-Faktorisierung (LR ... links/rechts bzw. LU ... left/upper) einer Matrix m aus. Dazu springen wir wieder in die REPL und geben folgende Befehle ein:
julia> using LinearAlgebra
julia> m=[1 0 5; -1 1 -2; 0 0 3]
3×3 Matrix{Int64}:
1 0 5
-1 1 -2
0 0 3
julia> f = factorize(m)
LU{Float64, Matrix{Float64}, Vector{Int64}}
L factor:
3×3 Matrix{Float64}:
1.0 0.0 0.0
-1.0 1.0 0.0
0.0 0.0 1.0
U factor:
3×3 Matrix{Float64}:
1.0 0.0 5.0
0.0 1.0 3.0
0.0 0.0 3.0
=== Schwach besetzte Matrizen ===
In der Technik treten häufig große Matrizen auf, die aber nur relativ wenige von Null verschiedene Werte mit Bandstruktur besitzen. Für diese ist es ineffizient, alle Matrizenelemente zu speichern. Effizienter ist es, nur die von Null verschiedenen Elemente zu speichern. Zu diesem Zwecke gibt es das <code>SparseArrays</code>-Paket.
julia> using SparseArrays
julia> ms = sparse([1, 2, 3, 3, 4, 5, 5], [2, 4, 1, 4, 3, 4, 5], [1, 3, 4, 2, 1, 1, 7])
Ausgabe:
⋅ 1 ⋅ ⋅ ⋅
⋅ ⋅ ⋅ 3 ⋅
4 ⋅ ⋅ 2 ⋅
⋅ ⋅ 1 ⋅ ⋅
⋅ ⋅ ⋅ 1 7
=== Spezielle Matrizen ===
Nachfolgend sollen eine Nullmatrix und eine Matrix mit lauter Einsen generiert werden. Dazu starten wir wieder die Julia-REPL, geben die entsprechenden Befehle ein und erhalten:
julia> zeros(3,2)
3×2 Matrix{Float64}:
0.0 0.0
0.0 0.0
0.0 0.0
julia> ones(3,2)
3×2 Matrix{Float64}:
1.0 1.0
1.0 1.0
1.0 1.0
Insbesondere für Testzwecke kann es manchmal sinnvoll sein größere Matrizen mit Zufallswerten zu bilden. Dazu stellt Julia den rand-Befehl zur Verfügung.
julia> m = rand(5,6)
5×6 Matrix{Float64}:
0.554722 0.7314 0.571432 0.804651 0.192327 0.912537
0.684459 0.748819 0.642302 0.552636 0.671043 0.250012
0.624424 0.722093 0.125511 0.342248 0.398071 0.820795
0.0894763 0.0514967 0.310389 0.96167 0.382739 0.0181225
0.957162 0.365172 0.50859 0.0742012 0.555778 0.512406
Einheitsmatrizen: Man beachte das <code>I</code> nach der Zahl 1. Die Matrix muss quadratisch sein.
julia> using LinearAlgebra
julia> M = 1I + zeros(4,4)
4×4 Matrix{Float64}:
1.0 0.0 0.0 0.0
0.0 1.0 0.0 0.0
0.0 0.0 1.0 0.0
0.0 0.0 0.0 1.0
Alternativ:
julia> using LinearAlgebra
julia> M = 1I(4)
4×4 Diagonal{Int64, Vector{Int64}}:
1 ⋅ ⋅ ⋅
⋅ 1 ⋅ ⋅
⋅ ⋅ 1 ⋅
⋅ ⋅ ⋅ 1
Diagonalmatrizen, z.B.:
julia> using LinearAlgebra
julia> M = 3I + zeros(4,4)
4×4 Matrix{Float64}:
3.0 0.0 0.0 0.0
0.0 3.0 0.0 0.0
0.0 0.0 3.0 0.0
0.0 0.0 0.0 3.0
Und damit verlassen wir die REPL wieder.
= Komplexe Zahlen =
Die imaginäre Einheit wird in Julia durch die Buchstabenkombination <code>im</code> symbolisiert. Darstellen kann man eine komplexe Zahl bekannterweise in mehreren Formen:
* Kartesische Darstellung <math>z = \Re(z) + i \cdot \Im(z)</math>
* Polardarstellungen <math>z = r \cdot (\cos(\phi) + i \cdot \sin(\phi)) = r \cdot e^{i\cdot \phi}</math>
Die konjugiert komplexe Zahl ist <math>z^* = \Re(z) - i \cdot \Im(z)</math>
== Mit komplexen Zahlen rechnen ==
z1 = 2 + 5im # kartesische Darstellung
z2 = 3 * exp(3im) # Polardarstellung
# Addition
res = z1 + z2
println("z1 + z2 = ", res)
# Multiplikation
res = z1 * z2
println("z1 * z2 = ", res)
# Realteil
res = real(z2)
println("Realteil von z2 = ", res)
# Imaginärteil
res = imag(z2)
println("Imaginaerteil von z2 = ", res)
# Betrag
res = abs(z1)
println("Betrag von z1 = ", res)
# Argument
res = angle(z1)
println("Argument von z1 = ", res)
# Konjugiert komplexe Zahl
res = conj(z1)
println("Konjugiert komplexe Zahl von z1 = ", res)
Ausgabe:
z1 + z2 = -0.9699774898013365 + 5.423360024179601im
z1 * z2 = -8.05675510050068 - 14.003167400647481im
Realteil von z2 = -2.9699774898013365
Imaginaerteil von z2 = 0.4233600241796016
Betrag von z1 = 5.385164807134504
Argument von z1 = 1.1902899496825317
Konjugiert komplexe Zahl von z1 = 2 - 5im
= Funktionen =
Um Programme zu strukturieren und einfacher zu gestalten können Programmteile in Funktionen ausgelagert werden. Eingebaute Funktionen haben wir schon kennengelernt (z.B. die Sinus-Funktion sin). Nun wollen wir sehen, wie man selbst solche Funktionen schreiben kann.
== Eine einfache Funktion schreiben ==
f(a, b) = a + b
println(f(2, 3))
Ausgabe:
5
== function ==
Datei <code>c:\tmp\func.jl</code>:
function add(a,b)
println(a + b)
end
Datei <code>c:\tmp\test1.jl</code>:
include("func.jl")
add(5, 11)
Folgendes wird ausgegeben, wenn wir die test1.jl-Datei ausführen
16
== Anonyme Funktionen ==
println(map(a -> 5a + 10, [2, 3]))
Ausgabe:
[20, 25]
== return ==
Datei <code>c:\tmp\func.jl</code>:
function add(a,b)
return a + b
end
Datei <code>c:\tmp\test1.jl</code>:
include("func.jl")
println(add(5, 11))
Folgendes wird ausgegeben, wenn wir die test1.jl-Datei ausführen
16
Auch die Rückgabe mehrerer Werte ist möglich.
Datei <code>c:\tmp\func.jl</code>:
function add(a, b)
return a + b, "Addition"
end
Datei <code>c:\tmp\test1.jl</code>:
include("func.jl")
x, y = add(10, 20)
println(x)
println(y)
Ausgabe:
30
Addition
== Optionale Argumente ==
Datei <code>c:\tmp\func.jl</code>:
function add(a, b = 100)
return a + b
end
Datei <code>c:\tmp\test1.jl</code>:
include("func.jl")
println(add(5, 11))
println(add(5))
Folgendes wird ausgegeben, wenn wir die test1.jl-Datei ausführen
16
105
== Schlüsselwort-Argumente ==
Datei <code>c:\tmp\func.jl</code>:
function add(a; b = 100)
return a + b
end
Man beachte, dass hier zwischen den Argumenten a und b kein Beistrich, sondern ein Semikolon steht.
Datei <code>c:\tmp\test1.jl</code>:
include("func.jl")
println(add(b=16, 5))
println(add(5, b=16))
println(add(5))
Ausgabe:
21
21
105
= Polynome =
Sofern noch nicht geschehen, fügen Sie das Paket <code>Polynomials</code> zum Julia-System hinzu.
== Ein erstes einfaches Beispiel ==
using Polynomials
println(Polynomial([1, 0, 5, 7]))
Ausgabe:
1 + 5*x^2 + 7*x^3
== Einzelne Polynomwerte berechnen ==
using Polynomials
p = Polynomial([1, 0, 5, 7]);
println(p(1.5))
Ausgabe:
35.875
== Polynome integrieren und differenzieren ==
using Polynomials
p = Polynomial([1, 0, 5, 7]);
i = integrate(p)
d = derivative(p)
println(i)
println(d)
Ausgabe:
1.0*x + 1.66667*x^3 + 1.75*x^4
10*x + 21*x^2
== Nullstellen bestimmen ==
using Polynomials
p = Polynomial([4, 0, 5, 2]);
r = roots(p)
println(r)
Ausgabe:
ComplexF64[-2.7621427020576714 + 0.0im, 0.13107135102883646 - 0.8407709868482356im, 0.13107135102883646 + 0.8407709868482356im]
== Aufgaben ==
* Berechnen Sie den Wert für x = 3 des Polynoms <math>y = 2x^4 - 3x^3 - x + 7</math>.
* Differenzieren und integrieren Sie das Polynom <math>y = 2x^4 - 3x^3 - x + 7</math>.
* Berechnen Sie die Nullstellen von <math>y = 7x^5 - 3x^2 + 12</math>.
= Lineare Gleichungssysteme =
Sei <math>Ax = b</math> ein lineares Gleichungssystem. <math>A</math> sei die Koeffizientenmatrix, <math>x</math> der Lösungsvektor und <math>b</math> ein bekannter Vektor.
Beispiel:
A = [5 1; 0 2]
b = [1, 2]
x = A \ b
println(x)
Ausgabe:
[0.0, 1.0]
= Interpolation =
Als erstes muss das Interpolations-Paket installiert werden. Wenn Sie nicht wissen, wie man das macht, so sehen Sie unter dem Abschnitt "Grafiken zeichnen" den Absatz "Plots installieren". Dort wird die Vorgehensweise detailliert beschrieben.
Datei "c:\tmp\test1.jl":
using Interpolations
using Plots
# Stützpunkte
xp = 1 : 1 : 5
yp = [0; -5; 2; 7; 6]
# Interpolationsfunktionen
lspl = LinearInterpolation(xp, yp, extrapolation_bc = Line())
cspl = CubicSplineInterpolation(xp, yp, extrapolation_bc = Line())
# Stützpunkte zeichnen
plot(xp,yp,marker=4,linetype=:scatter, label = "Data", title = "Interpolation")
# Interpolierende zeichnen
x = 1 : .1 : 5
plot!(x, lspl(x), label="Linearer Spline")
plot!(x, cspl(x), label="Kubischer Spline")
gui()
while true
end
Ausgabe:
[[Datei:Julia_interpol1.jpg]]
= Differenzialrechnung =
== Symbolische Differenziation ==
julia> using Calculus
julia> differentiate("sin(x)", :x)
Ausgabe:
:(1 * cos(x))
Auswertung:
julia> x = pi/2;
julia> round(eval(differentiate("sin(x)", :x)))
Ausgabe:
0.0
== Numerische Differenziation ==
julia> using Calculus
julia> derivative("sin", pi/2)
Ausgabe:
0.0
= Integralrechnung =
julia> using QuadGK
julia> integral, err = quadgk(x -> sin(x), 0, pi/2, rtol=1e-8)
Ausgabe:
(0.9999999999999999, 1.1102230246251565e-16)
Im Rahmen der Näherung ist das Resultat richtig (exakt sollte (1.0, 0.0) rauskommen).
= Gewöhnliche Differenzialgleichungen =
Das Paket <code>DifferentialEquations</code> ist, wie so viele andere, umfangreich. Hier sei nur ein einfaches Beispiel dargestellt. Für weiterführende Studien sei auf die entsprechenden Weblinks verwiesen.
Folgende Differentialgleichung sei gegeben: <math>y' = x^2 + y^3</math>.
using DifferentialEquations
using Plots
f(y, p, x) = x^2 + y^3
problem = ODEProblem(f, 0.0, (0.0, 1.0))
s = solve(problem, Tsit5(), reltol = 1e-8, abstol = 1e-8)
plot(s, title = "ODE")
gui()
while true
end
Ausgabe:
[[Datei:Julia_dgl1.jpg]]
= Ein- und Ausgabe =
== Dateien lesen ==
# Textdatei im aktuellen Verzeichnis öffnen
f = open("test1.jl")
# Lesen aus Datei
lines = readlines(f)
# Zeilenweise Ausgabe am Bildschirm
for l in lines
println("$l")
end
# Datei schließen
close(f)
Als Ausgabe erscheint exakt obiger Source-Code im Terminal.
== Dateien schreiben ==
open("test.txt", "w") do f
write(f, "Schreibe eine Zeile in Textdatei\n")
end
Der Inhalt der Datei "test.txt" ist dann:
Schreibe eine Zeile in Textdatei
= Benutzeroberflächen erstellen =
Hier wird nur eine (sehr) kurze Einführung in das Thema GUI mit Gtk (Gimp toolkit, [https://www.gtk.org/]) gegeben. Nähere Details siehe die Gtk.jl-Dokumentation ([https://juliagraphics.github.io/Gtk.jl/latest/]). Nachfolgend wird ein gegenüber der offiziellen Dokumentation abgewandeltes Beispiel gezeigt. Das ist nötig, um Gtk.jl unter Windows 10 zum Laufen (bzw. um ein Fenster angezeigt) zu bekommen. Das Problem scheint schon seit Langem bekannt zu sein, siehe [https://stackoverflow.com/questions/52589873/gtk-jl-julia-bindings-for-gtk-gtk-window-is-not-displayed-outside-the-repl Gtk.jl, Julia Bindings for Gtk: Gtk Window is not displayed outside the REPL].
using Gtk
win = GtkWindow("Hallo Welt", 400, 200)
b = GtkButton("Push the button")
push!(win,b)
c = Condition()
endit(w) = notify(c)
signal_connect(endit, win, :destroy)
showall(win)
wait(c)
Ausgabe:
[[Datei:Julia_gtk1.jpg]]
Ein etwas komplizierteres (aber zugegebenerweise noch nicht sehr schönes) Beispiel sei nachfolgend gezeigt. Es sollen zwei Strings miteinander verknüpft und ausgegeben werden.
using Gtk
win = GtkWindow("Stringverknüpfung")
hbox = GtkBox(:h)
push!(win, hbox)
e1 = GtkEntry()
l1 = GtkLabel("verknüpfe mit")
e2 = GtkEntry()
b = GtkButton("=")
l2 = GtkLabel(" ")
push!(hbox, e1)
push!(hbox, l1)
push!(hbox, e2)
push!(hbox, b)
push!(hbox, l2)
function on_button_clicked(b)
GAccessor.text(l2, get_gtk_property(e1, :text, String) * get_gtk_property(e2, :text, String))
end
signal_connect(on_button_clicked, b, "clicked")
c = Condition()
endit(w) = notify(c)
signal_connect(endit, win, :destroy)
showall(win)
wait(c)
Ausgabe (vor der Eingabe der Teilstrings):
[[Datei:Julia_gtk2.jpg]]
Ausgabe (nach der Eingabe der Teilstrings und dem Drücken des =-Buttons):
[[Datei:Julia_gtk3.jpg]]
= Ausblick =
Dies war eine kurze Einführung in die Berechnungs- und Darstellungsmöglichkeiten mit Julia. Es sollten etliche relevante Themen behandelt, oder zumindest kurz angesprochen worden sein. Wem dieser Text nicht ausreichend ist, der sei auf die entsprechenden weiterführenden Weblinks und die Julia-Hilfefunktion
verwiesen. Julia kennt noch viel mehr Befehle, als hier dargestellt wurden. Das Themenspektrum ist auch durch die Einbindung externer Pakete fast beliebig erweiterbar.
= Weblinks =
* [https://julialang.org/ Julia Homepage]
* [https://docs.julialang.org/en/v1/ Julia Dokumentation]
* [https://en.wikibooks.org/wiki/Introducing_Julia Englisches Wikibook zu Julia]
* [https://docs.makie.org/stable/ Makie - a data visualization ecosystem for Julia]
* [https://docs.juliaplots.org/latest/ Plots - powerful convenience for visualization in Julia]
* [https://www.matecdev.com/posts/julia-numerical-computing.html Numerical Computing in Julia]
* [https://www.matecdev.com/posts/julia-tutorial-science-engineering.html Julia Programming Tutorial]
* [https://juliapackages.com/p/polynomials Polynomials.jl]
* [https://github.com/JuliaMath/Calculus.jl Calculus.jl]
* [https://github.com/JuliaMath/QuadGK.jl QuadGK.jl]
* [https://docs.sciml.ai/DiffEqDocs/stable/ DifferentialEquations.jl: Efficient Differential Equation Solving in Julia]
* [https://nextjournal.com/sosiris-de/ode-diffeq# Solving ODEs in Julia]
* [https://juliagraphics.github.io/Gtk.jl/latest/ Gtk.jl]
{{Navigation_zurückhochvor_buch|
zurücktext=Octave|
zurücklink=Ing Mathematik: Numerische Mathematiksysteme am Beispiel von Octave|
hochtext=Gesamtinhaltsverzeichnis|
hochlink=Ing:_Mathematik_für_Ingenieure|
vortext=Python für Ingenieure|
vorlink=Ing Mathematik: Python}}
2kbdza5b7hpj126lzjvyhs73z89qn2b
CPRT
0
119061
1091109
1091049
2026-09-19T15:44:56Z
Pelikam
111447
/* Energien E, F, G, H, I, J, K, L im Koordinatensystem (N,S,V) */
1091109
wikitext
text/x-wiki
[[PCRT|< Reversible Thermodynamik für die Zusammenarbeit von Mathematik-, Physik-, Chemie-, Ingenieur-Wissenschaften - PCRT]]
== 0. Ein Wort an evtl. Co-Autor:innen: ==
Teil I ist gerade in der Entstehung. Er hat ein bestimmtes Konzept. Dieses Konzept hat sich das Autorenkollektiv Pelikam
ausgedacht. Teil A richtet sich an Physiker:innen ist also Mathematik-belastet und erklärt die Reversible Thermodynamik.
Teil I ist so gedacht, daß es jeder/jede verstehen kann. Bitte lasst Teil I erstmal soweit wachsen, bis das Konzept fertig ist.
Das Konzept ist ab jetzt (07-2026) in ca. 6 Monaten (12-2026) fertig, bzw. Teil I ist nach den Vorstellungen von Autorenkollektiv Pelikam dann zu 80% fertig. SOLANGE BITTE NICHTS REINSCHREIBEN. ANREGUNGEN, GEWÜNSCHTE TEXTBAUSTEINE, FEHLER , GEWÜNSCHTE MITARBEIT, EIGENE ZIELSETZUNGEN etc. BITTE IN DISKUSSION (s.o.) EINTRAGEN. Teil I beruht im wesentlichen auf Formeln, die erklärt werden und anhand im Teil I befindlichen Übungen mit am Ende von Teil I aufgeführten Lösungen. Da es sich bei der Zielgruppe um Physiker:innen handelt, ist Teil I mehr formelbehaftet als das ähnliche Buch Physikalische Chemie: Reversible Thermodynamik
DANKE Autorenkollektiv Pelikam (Teil I sticht ca. Ende 2026 in den See, dann können alle Autor:innen, die dazu etwas beitragen möchten hineinschreiben. Auch dann wäre Pelikam dankbar, wenn der Geist von Teil I, das Didaktikkonzept erst aufgenommen wird und dann die eigenen Beiträge hinzugefügt werden. Sollte eigentlich bei Physiker:innen kein Problem sein.
Stand: 07-2026
= Formelsammlung - CPRT =
= Inhaltsverzeichnis =
*[[CPRT/I/b4c9|Einleitung zur 1. Auflage - CPRT/I/b4c9]]
= Teil A: Funktionen des Zustands und deren Differentiale in verschiedenen Koordinatensystemen =
*[[CPRT/cf51|01 Zustandsfunktionen und ihre Differentiale in ihren (eigenen) natürlichen Variablen - CPRT/cf51]]
== Energien E, F, G, H, I, J, K, L im Koordinatensystem (N,S,V) ==
*{{Stage short|100%}}[[CPRT/cef7| Energie E - CPRT/cef7]]
*{{Stage short|100%}}[[CPRT/51da| Energie F - CPRT/51da]]
*{{Stage short|100%}}[[CPRT/6971| Energie G - CPRT/6971]]
*{{Stage short|100%}}[[CPRT/9cdc| Energie H - CPRT/9cdc]]
*{{Stage short|100%}}[[CPRT/b380| Energie I - CPRT/b380]]
*{{Stage short|000%}}[[CPRT/8dfb| Energie J - CPRT/8dfb]]
*[[CPRT/e08d| Energie K - CPRT/e08d]]
*[[CPRT/4576| Energie L - CPRT/4576]]
== Energien E, F, G, H, I, J, K, L im Koordinatensystem (N,t,V) ==
*[[CPRT.I.A.04|03 Energien E, F, G, H, I, J, K, L im Koordinatensystem (N,t,V) - CPRT.I.A.04]]
== Energien E, F, G, H, I, J, K, L im Koordinatensystem (N,t,p) ==
*[[CPRT.I.A.05|04 Energien E, F, G, H, I, J, K, L im Koordinatensystem (N,t,p) - CPRT.I.A.05]]
== Energien E, F, G, H, I, J, K, L im Koordinatensystem (N,S,p) ==
*[[CPRT.I.A.06|05 Energien E, F, G, H, I, J, K, L im Koordinatensystem (N,S,p) - CPRT.I.A.06]]
== Energien E, F, G, H, I, J, K, L im Koordinatensystem (<math>\mu</math>,S,V) ==
*[[CPRT.I.A.07|06 Energien E, F, G, H, I, J, K, L im Koordinatensystem (mu,S,V) - CPRT.I.A.07]]
== Energien E, F, G, H, I, J, K, L im Koordinatensystem (<math>\mu</math>,t,V) ==
*[[CPRT.I.A.08|07 Energien E, F, G, H, I, J, K, L im Koordinatensystem (mu,t,S) - CPRT.I.A.08]]
== Energien E, F, G, H, I, J, K, L im Koordinatensystem (<math>\mu</math>,t,p) ==
*[[CPRT.I.A.09|08 Energien E, F, G, H, I, J, K, L im Koordinatensystem (mu,t,p) - CPRT.I.A.09]]
== Energien E, F, G, H, I, J, K, L im Koordinatensystem (<math>\mu</math>,S,p) ==
*[[CPRT.I.A.10|09 Energien E, F, G, H, I, J, K, L im Koordinatensystem (mu,S,p) - CPRT.I.A.10]]
= Teil B: =
*[[CPRT.I.B|Teil B: Erhaltungssätze und Bilanzgleichungen]]
*[[CPRT.I.7a82|Teil B: Erhaltungssätze und Bilanzgleichungen]]
*[[CPRT.I.C|Teil C: Entropie, Funktionen des Zustands und Änderungen des Zustands des idealen Gases]]
*[[CPRT.I.67de|Teil C: Entropie, Funktionen des Zustands und Änderungen des Zustands des idealen Gases]]
*[[CPRT.I.D|Teil D: Kreisprozesse mit einem idealen Gas]]
*[[CPRT.I.5521|Teil D: Kreisprozesse mit einem idealen Gas]]
*[[CPRT.I.E|Anhang A1: Mathematische Grundlagen]]
*[[CPRT.I.677a|Anhang A1: Mathematische Grundlagen]]
*[[CPRT.I.F|Anhang A2: Formelsammlung Kreisprozesse]]
*[[CPRT.I.29d5|Anhang A2: Formelsammlung Kreisprozesse]]
*[[CPRT.I.G|Anhang A3: Lösung der Übungsaufgaben]]
*[[CPRT.I.552d|Anhang A3: Lösung der Übungsaufgaben]]
*[[CPRT.I.99|Literatur]]
*[[CPRT.I.619e|Literatur]]
== Freie Unterverzeichnisse ==
*[[PCRT/I/d88f| - PCRT/I/d88f]]
*[[PCRT/I/aa9d| - PCRT/I/aa9d]]
*[[PCRT/I/d3ee| - PCRT/I/d3ee]]
*[[PCRT/I/ea1b| - PCRT/I/ea1b]]
*[[PCRT/I/a36e| - PCRT/I/a36e]]
* [[Chemische Physik --- Reversible Thermodynamik]]
* [[Chemische Physik --- Reversible Thermodynamik]]
* [[Physikalische Chemie --- Reversible Thermodynamik]]
*[[PCRT/I/bc9d| - PCRT/I/bc9d]]
*[[PCRT/I/a8bd| - PCRT/I/a8bd]]
*[[PCRT/I/d88f| - PCRT/I/d88f]]
*[[PCRT/I/aa9d| - PCRT/I/aa9d]]
*[[CPRT/185f|02 Energien E, F, G, H, I, J, K, L im Koordinatensystem (N,S,V) - CPRT/185f]]
1vsbhekeunpyobdiblnyib7bcz4k0t6
1091110
1091109
2026-09-19T15:47:23Z
Pelikam
111447
/* Energien E, F, G, H, I, J, K, L im Koordinatensystem (N,S,V) */
1091110
wikitext
text/x-wiki
[[PCRT|< Reversible Thermodynamik für die Zusammenarbeit von Mathematik-, Physik-, Chemie-, Ingenieur-Wissenschaften - PCRT]]
== 0. Ein Wort an evtl. Co-Autor:innen: ==
Teil I ist gerade in der Entstehung. Er hat ein bestimmtes Konzept. Dieses Konzept hat sich das Autorenkollektiv Pelikam
ausgedacht. Teil A richtet sich an Physiker:innen ist also Mathematik-belastet und erklärt die Reversible Thermodynamik.
Teil I ist so gedacht, daß es jeder/jede verstehen kann. Bitte lasst Teil I erstmal soweit wachsen, bis das Konzept fertig ist.
Das Konzept ist ab jetzt (07-2026) in ca. 6 Monaten (12-2026) fertig, bzw. Teil I ist nach den Vorstellungen von Autorenkollektiv Pelikam dann zu 80% fertig. SOLANGE BITTE NICHTS REINSCHREIBEN. ANREGUNGEN, GEWÜNSCHTE TEXTBAUSTEINE, FEHLER , GEWÜNSCHTE MITARBEIT, EIGENE ZIELSETZUNGEN etc. BITTE IN DISKUSSION (s.o.) EINTRAGEN. Teil I beruht im wesentlichen auf Formeln, die erklärt werden und anhand im Teil I befindlichen Übungen mit am Ende von Teil I aufgeführten Lösungen. Da es sich bei der Zielgruppe um Physiker:innen handelt, ist Teil I mehr formelbehaftet als das ähnliche Buch Physikalische Chemie: Reversible Thermodynamik
DANKE Autorenkollektiv Pelikam (Teil I sticht ca. Ende 2026 in den See, dann können alle Autor:innen, die dazu etwas beitragen möchten hineinschreiben. Auch dann wäre Pelikam dankbar, wenn der Geist von Teil I, das Didaktikkonzept erst aufgenommen wird und dann die eigenen Beiträge hinzugefügt werden. Sollte eigentlich bei Physiker:innen kein Problem sein.
Stand: 07-2026
= Formelsammlung - CPRT =
= Inhaltsverzeichnis =
*[[CPRT/I/b4c9|Einleitung zur 1. Auflage - CPRT/I/b4c9]]
= Teil A: Funktionen des Zustands und deren Differentiale in verschiedenen Koordinatensystemen =
*[[CPRT/cf51|01 Zustandsfunktionen und ihre Differentiale in ihren (eigenen) natürlichen Variablen - CPRT/cf51]]
== Energien E, F, G, H, I, J, K, L im Koordinatensystem (N,S,V) ==
*{{Stage short|100%}}[[CPRT/cef7| Energie E - CPRT/cef7]]
*{{Stage short|100%}}[[CPRT/51da| Energie F - CPRT/51da]]
*{{Stage short|100%}}[[CPRT/6971| Energie G - CPRT/6971]]
*{{Stage short|100%}}[[CPRT/9cdc| Energie H - CPRT/9cdc]]
*{{Stage short|100%}}[[CPRT/b380| Energie I - CPRT/b380]]
*{{Stage short|25%}}[[CPRT/8dfb| Energie J - CPRT/8dfb]]
*{{Stage short|25%}}[[CPRT/e08d| Energie K - CPRT/e08d]]
*{{Stage short|25%}}[[CPRT/4576| Energie L - CPRT/4576]]
== Energien E, F, G, H, I, J, K, L im Koordinatensystem (N,t,V) ==
*[[CPRT.I.A.04|03 Energien E, F, G, H, I, J, K, L im Koordinatensystem (N,t,V) - CPRT.I.A.04]]
== Energien E, F, G, H, I, J, K, L im Koordinatensystem (N,t,p) ==
*[[CPRT.I.A.05|04 Energien E, F, G, H, I, J, K, L im Koordinatensystem (N,t,p) - CPRT.I.A.05]]
== Energien E, F, G, H, I, J, K, L im Koordinatensystem (N,S,p) ==
*[[CPRT.I.A.06|05 Energien E, F, G, H, I, J, K, L im Koordinatensystem (N,S,p) - CPRT.I.A.06]]
== Energien E, F, G, H, I, J, K, L im Koordinatensystem (<math>\mu</math>,S,V) ==
*[[CPRT.I.A.07|06 Energien E, F, G, H, I, J, K, L im Koordinatensystem (mu,S,V) - CPRT.I.A.07]]
== Energien E, F, G, H, I, J, K, L im Koordinatensystem (<math>\mu</math>,t,V) ==
*[[CPRT.I.A.08|07 Energien E, F, G, H, I, J, K, L im Koordinatensystem (mu,t,S) - CPRT.I.A.08]]
== Energien E, F, G, H, I, J, K, L im Koordinatensystem (<math>\mu</math>,t,p) ==
*[[CPRT.I.A.09|08 Energien E, F, G, H, I, J, K, L im Koordinatensystem (mu,t,p) - CPRT.I.A.09]]
== Energien E, F, G, H, I, J, K, L im Koordinatensystem (<math>\mu</math>,S,p) ==
*[[CPRT.I.A.10|09 Energien E, F, G, H, I, J, K, L im Koordinatensystem (mu,S,p) - CPRT.I.A.10]]
= Teil B: =
*[[CPRT.I.B|Teil B: Erhaltungssätze und Bilanzgleichungen]]
*[[CPRT.I.7a82|Teil B: Erhaltungssätze und Bilanzgleichungen]]
*[[CPRT.I.C|Teil C: Entropie, Funktionen des Zustands und Änderungen des Zustands des idealen Gases]]
*[[CPRT.I.67de|Teil C: Entropie, Funktionen des Zustands und Änderungen des Zustands des idealen Gases]]
*[[CPRT.I.D|Teil D: Kreisprozesse mit einem idealen Gas]]
*[[CPRT.I.5521|Teil D: Kreisprozesse mit einem idealen Gas]]
*[[CPRT.I.E|Anhang A1: Mathematische Grundlagen]]
*[[CPRT.I.677a|Anhang A1: Mathematische Grundlagen]]
*[[CPRT.I.F|Anhang A2: Formelsammlung Kreisprozesse]]
*[[CPRT.I.29d5|Anhang A2: Formelsammlung Kreisprozesse]]
*[[CPRT.I.G|Anhang A3: Lösung der Übungsaufgaben]]
*[[CPRT.I.552d|Anhang A3: Lösung der Übungsaufgaben]]
*[[CPRT.I.99|Literatur]]
*[[CPRT.I.619e|Literatur]]
== Freie Unterverzeichnisse ==
*[[PCRT/I/d88f| - PCRT/I/d88f]]
*[[PCRT/I/aa9d| - PCRT/I/aa9d]]
*[[PCRT/I/d3ee| - PCRT/I/d3ee]]
*[[PCRT/I/ea1b| - PCRT/I/ea1b]]
*[[PCRT/I/a36e| - PCRT/I/a36e]]
* [[Chemische Physik --- Reversible Thermodynamik]]
* [[Chemische Physik --- Reversible Thermodynamik]]
* [[Physikalische Chemie --- Reversible Thermodynamik]]
*[[PCRT/I/bc9d| - PCRT/I/bc9d]]
*[[PCRT/I/a8bd| - PCRT/I/a8bd]]
*[[PCRT/I/d88f| - PCRT/I/d88f]]
*[[PCRT/I/aa9d| - PCRT/I/aa9d]]
*[[CPRT/185f|02 Energien E, F, G, H, I, J, K, L im Koordinatensystem (N,S,V) - CPRT/185f]]
gcppgsr594j3f21tx6voe33ea9d6esu
1091111
1091110
2026-09-19T15:48:02Z
Pelikam
111447
/* Energien E, F, G, H, I, J, K, L im Koordinatensystem (N,S,V) */
1091111
wikitext
text/x-wiki
[[PCRT|< Reversible Thermodynamik für die Zusammenarbeit von Mathematik-, Physik-, Chemie-, Ingenieur-Wissenschaften - PCRT]]
== 0. Ein Wort an evtl. Co-Autor:innen: ==
Teil I ist gerade in der Entstehung. Er hat ein bestimmtes Konzept. Dieses Konzept hat sich das Autorenkollektiv Pelikam
ausgedacht. Teil A richtet sich an Physiker:innen ist also Mathematik-belastet und erklärt die Reversible Thermodynamik.
Teil I ist so gedacht, daß es jeder/jede verstehen kann. Bitte lasst Teil I erstmal soweit wachsen, bis das Konzept fertig ist.
Das Konzept ist ab jetzt (07-2026) in ca. 6 Monaten (12-2026) fertig, bzw. Teil I ist nach den Vorstellungen von Autorenkollektiv Pelikam dann zu 80% fertig. SOLANGE BITTE NICHTS REINSCHREIBEN. ANREGUNGEN, GEWÜNSCHTE TEXTBAUSTEINE, FEHLER , GEWÜNSCHTE MITARBEIT, EIGENE ZIELSETZUNGEN etc. BITTE IN DISKUSSION (s.o.) EINTRAGEN. Teil I beruht im wesentlichen auf Formeln, die erklärt werden und anhand im Teil I befindlichen Übungen mit am Ende von Teil I aufgeführten Lösungen. Da es sich bei der Zielgruppe um Physiker:innen handelt, ist Teil I mehr formelbehaftet als das ähnliche Buch Physikalische Chemie: Reversible Thermodynamik
DANKE Autorenkollektiv Pelikam (Teil I sticht ca. Ende 2026 in den See, dann können alle Autor:innen, die dazu etwas beitragen möchten hineinschreiben. Auch dann wäre Pelikam dankbar, wenn der Geist von Teil I, das Didaktikkonzept erst aufgenommen wird und dann die eigenen Beiträge hinzugefügt werden. Sollte eigentlich bei Physiker:innen kein Problem sein.
Stand: 07-2026
= Formelsammlung - CPRT =
= Inhaltsverzeichnis =
*[[CPRT/I/b4c9|Einleitung zur 1. Auflage - CPRT/I/b4c9]]
= Teil A: Funktionen des Zustands und deren Differentiale in verschiedenen Koordinatensystemen =
*[[CPRT/cf51|01 Zustandsfunktionen und ihre Differentiale in ihren (eigenen) natürlichen Variablen - CPRT/cf51]]
{{Stage short|50%}} == Energien E, F, G, H, I, J, K, L im Koordinatensystem (N,S,V) ==
*{{Stage short|100%}}[[CPRT/cef7| Energie E - CPRT/cef7]]
*{{Stage short|100%}}[[CPRT/51da| Energie F - CPRT/51da]]
*{{Stage short|100%}}[[CPRT/6971| Energie G - CPRT/6971]]
*{{Stage short|100%}}[[CPRT/9cdc| Energie H - CPRT/9cdc]]
*{{Stage short|100%}}[[CPRT/b380| Energie I - CPRT/b380]]
*{{Stage short|25%}}[[CPRT/8dfb| Energie J - CPRT/8dfb]]
*{{Stage short|25%}}[[CPRT/e08d| Energie K - CPRT/e08d]]
*{{Stage short|25%}}[[CPRT/4576| Energie L - CPRT/4576]]
== Energien E, F, G, H, I, J, K, L im Koordinatensystem (N,t,V) ==
*[[CPRT.I.A.04|03 Energien E, F, G, H, I, J, K, L im Koordinatensystem (N,t,V) - CPRT.I.A.04]]
== Energien E, F, G, H, I, J, K, L im Koordinatensystem (N,t,p) ==
*[[CPRT.I.A.05|04 Energien E, F, G, H, I, J, K, L im Koordinatensystem (N,t,p) - CPRT.I.A.05]]
== Energien E, F, G, H, I, J, K, L im Koordinatensystem (N,S,p) ==
*[[CPRT.I.A.06|05 Energien E, F, G, H, I, J, K, L im Koordinatensystem (N,S,p) - CPRT.I.A.06]]
== Energien E, F, G, H, I, J, K, L im Koordinatensystem (<math>\mu</math>,S,V) ==
*[[CPRT.I.A.07|06 Energien E, F, G, H, I, J, K, L im Koordinatensystem (mu,S,V) - CPRT.I.A.07]]
== Energien E, F, G, H, I, J, K, L im Koordinatensystem (<math>\mu</math>,t,V) ==
*[[CPRT.I.A.08|07 Energien E, F, G, H, I, J, K, L im Koordinatensystem (mu,t,S) - CPRT.I.A.08]]
== Energien E, F, G, H, I, J, K, L im Koordinatensystem (<math>\mu</math>,t,p) ==
*[[CPRT.I.A.09|08 Energien E, F, G, H, I, J, K, L im Koordinatensystem (mu,t,p) - CPRT.I.A.09]]
== Energien E, F, G, H, I, J, K, L im Koordinatensystem (<math>\mu</math>,S,p) ==
*[[CPRT.I.A.10|09 Energien E, F, G, H, I, J, K, L im Koordinatensystem (mu,S,p) - CPRT.I.A.10]]
= Teil B: =
*[[CPRT.I.B|Teil B: Erhaltungssätze und Bilanzgleichungen]]
*[[CPRT.I.7a82|Teil B: Erhaltungssätze und Bilanzgleichungen]]
*[[CPRT.I.C|Teil C: Entropie, Funktionen des Zustands und Änderungen des Zustands des idealen Gases]]
*[[CPRT.I.67de|Teil C: Entropie, Funktionen des Zustands und Änderungen des Zustands des idealen Gases]]
*[[CPRT.I.D|Teil D: Kreisprozesse mit einem idealen Gas]]
*[[CPRT.I.5521|Teil D: Kreisprozesse mit einem idealen Gas]]
*[[CPRT.I.E|Anhang A1: Mathematische Grundlagen]]
*[[CPRT.I.677a|Anhang A1: Mathematische Grundlagen]]
*[[CPRT.I.F|Anhang A2: Formelsammlung Kreisprozesse]]
*[[CPRT.I.29d5|Anhang A2: Formelsammlung Kreisprozesse]]
*[[CPRT.I.G|Anhang A3: Lösung der Übungsaufgaben]]
*[[CPRT.I.552d|Anhang A3: Lösung der Übungsaufgaben]]
*[[CPRT.I.99|Literatur]]
*[[CPRT.I.619e|Literatur]]
== Freie Unterverzeichnisse ==
*[[PCRT/I/d88f| - PCRT/I/d88f]]
*[[PCRT/I/aa9d| - PCRT/I/aa9d]]
*[[PCRT/I/d3ee| - PCRT/I/d3ee]]
*[[PCRT/I/ea1b| - PCRT/I/ea1b]]
*[[PCRT/I/a36e| - PCRT/I/a36e]]
* [[Chemische Physik --- Reversible Thermodynamik]]
* [[Chemische Physik --- Reversible Thermodynamik]]
* [[Physikalische Chemie --- Reversible Thermodynamik]]
*[[PCRT/I/bc9d| - PCRT/I/bc9d]]
*[[PCRT/I/a8bd| - PCRT/I/a8bd]]
*[[PCRT/I/d88f| - PCRT/I/d88f]]
*[[PCRT/I/aa9d| - PCRT/I/aa9d]]
*[[CPRT/185f|02 Energien E, F, G, H, I, J, K, L im Koordinatensystem (N,S,V) - CPRT/185f]]
2exu76nrjgovm5oxtvmtsnp30ier5pq
1091112
1091111
2026-09-19T15:49:01Z
Pelikam
111447
/* Teil A: Funktionen des Zustands und deren Differentiale in verschiedenen Koordinatensystemen */
1091112
wikitext
text/x-wiki
[[PCRT|< Reversible Thermodynamik für die Zusammenarbeit von Mathematik-, Physik-, Chemie-, Ingenieur-Wissenschaften - PCRT]]
== 0. Ein Wort an evtl. Co-Autor:innen: ==
Teil I ist gerade in der Entstehung. Er hat ein bestimmtes Konzept. Dieses Konzept hat sich das Autorenkollektiv Pelikam
ausgedacht. Teil A richtet sich an Physiker:innen ist also Mathematik-belastet und erklärt die Reversible Thermodynamik.
Teil I ist so gedacht, daß es jeder/jede verstehen kann. Bitte lasst Teil I erstmal soweit wachsen, bis das Konzept fertig ist.
Das Konzept ist ab jetzt (07-2026) in ca. 6 Monaten (12-2026) fertig, bzw. Teil I ist nach den Vorstellungen von Autorenkollektiv Pelikam dann zu 80% fertig. SOLANGE BITTE NICHTS REINSCHREIBEN. ANREGUNGEN, GEWÜNSCHTE TEXTBAUSTEINE, FEHLER , GEWÜNSCHTE MITARBEIT, EIGENE ZIELSETZUNGEN etc. BITTE IN DISKUSSION (s.o.) EINTRAGEN. Teil I beruht im wesentlichen auf Formeln, die erklärt werden und anhand im Teil I befindlichen Übungen mit am Ende von Teil I aufgeführten Lösungen. Da es sich bei der Zielgruppe um Physiker:innen handelt, ist Teil I mehr formelbehaftet als das ähnliche Buch Physikalische Chemie: Reversible Thermodynamik
DANKE Autorenkollektiv Pelikam (Teil I sticht ca. Ende 2026 in den See, dann können alle Autor:innen, die dazu etwas beitragen möchten hineinschreiben. Auch dann wäre Pelikam dankbar, wenn der Geist von Teil I, das Didaktikkonzept erst aufgenommen wird und dann die eigenen Beiträge hinzugefügt werden. Sollte eigentlich bei Physiker:innen kein Problem sein.
Stand: 07-2026
= Formelsammlung - CPRT =
= Inhaltsverzeichnis =
*[[CPRT/I/b4c9|Einleitung zur 1. Auflage - CPRT/I/b4c9]]
= Teil A: Funktionen des Zustands und deren Differentiale in verschiedenen Koordinatensystemen =
*[[CPRT/cf51|01 Zustandsfunktionen und ihre Differentiale in ihren (eigenen) natürlichen Variablen - CPRT/cf51]]
== Energien E, F, G, H, I, J, K, L im Koordinatensystem (N,S,V) ==
*{{Stage short|100%}}[[CPRT/cef7| Energie E - CPRT/cef7]]
*{{Stage short|100%}}[[CPRT/51da| Energie F - CPRT/51da]]
*{{Stage short|100%}}[[CPRT/6971| Energie G - CPRT/6971]]
*{{Stage short|100%}}[[CPRT/9cdc| Energie H - CPRT/9cdc]]
*{{Stage short|100%}}[[CPRT/b380| Energie I - CPRT/b380]]
*{{Stage short|25%}}[[CPRT/8dfb| Energie J - CPRT/8dfb]]
*{{Stage short|25%}}[[CPRT/e08d| Energie K - CPRT/e08d]]
*{{Stage short|25%}}[[CPRT/4576| Energie L - CPRT/4576]]
== Energien E, F, G, H, I, J, K, L im Koordinatensystem (N,t,V) ==
*[[CPRT.I.A.04|03 Energien E, F, G, H, I, J, K, L im Koordinatensystem (N,t,V) - CPRT.I.A.04]]
== Energien E, F, G, H, I, J, K, L im Koordinatensystem (N,t,p) ==
*[[CPRT.I.A.05|04 Energien E, F, G, H, I, J, K, L im Koordinatensystem (N,t,p) - CPRT.I.A.05]]
== Energien E, F, G, H, I, J, K, L im Koordinatensystem (N,S,p) ==
*[[CPRT.I.A.06|05 Energien E, F, G, H, I, J, K, L im Koordinatensystem (N,S,p) - CPRT.I.A.06]]
== Energien E, F, G, H, I, J, K, L im Koordinatensystem (<math>\mu</math>,S,V) ==
*[[CPRT.I.A.07|06 Energien E, F, G, H, I, J, K, L im Koordinatensystem (mu,S,V) - CPRT.I.A.07]]
== Energien E, F, G, H, I, J, K, L im Koordinatensystem (<math>\mu</math>,t,V) ==
*[[CPRT.I.A.08|07 Energien E, F, G, H, I, J, K, L im Koordinatensystem (mu,t,S) - CPRT.I.A.08]]
== Energien E, F, G, H, I, J, K, L im Koordinatensystem (<math>\mu</math>,t,p) ==
*[[CPRT.I.A.09|08 Energien E, F, G, H, I, J, K, L im Koordinatensystem (mu,t,p) - CPRT.I.A.09]]
== Energien E, F, G, H, I, J, K, L im Koordinatensystem (<math>\mu</math>,S,p) ==
*[[CPRT.I.A.10|09 Energien E, F, G, H, I, J, K, L im Koordinatensystem (mu,S,p) - CPRT.I.A.10]]
= Teil B: =
*[[CPRT.I.B|Teil B: Erhaltungssätze und Bilanzgleichungen]]
*[[CPRT.I.7a82|Teil B: Erhaltungssätze und Bilanzgleichungen]]
*[[CPRT.I.C|Teil C: Entropie, Funktionen des Zustands und Änderungen des Zustands des idealen Gases]]
*[[CPRT.I.67de|Teil C: Entropie, Funktionen des Zustands und Änderungen des Zustands des idealen Gases]]
*[[CPRT.I.D|Teil D: Kreisprozesse mit einem idealen Gas]]
*[[CPRT.I.5521|Teil D: Kreisprozesse mit einem idealen Gas]]
*[[CPRT.I.E|Anhang A1: Mathematische Grundlagen]]
*[[CPRT.I.677a|Anhang A1: Mathematische Grundlagen]]
*[[CPRT.I.F|Anhang A2: Formelsammlung Kreisprozesse]]
*[[CPRT.I.29d5|Anhang A2: Formelsammlung Kreisprozesse]]
*[[CPRT.I.G|Anhang A3: Lösung der Übungsaufgaben]]
*[[CPRT.I.552d|Anhang A3: Lösung der Übungsaufgaben]]
*[[CPRT.I.99|Literatur]]
*[[CPRT.I.619e|Literatur]]
== Freie Unterverzeichnisse ==
*[[PCRT/I/d88f| - PCRT/I/d88f]]
*[[PCRT/I/aa9d| - PCRT/I/aa9d]]
*[[PCRT/I/d3ee| - PCRT/I/d3ee]]
*[[PCRT/I/ea1b| - PCRT/I/ea1b]]
*[[PCRT/I/a36e| - PCRT/I/a36e]]
* [[Chemische Physik --- Reversible Thermodynamik]]
* [[Chemische Physik --- Reversible Thermodynamik]]
* [[Physikalische Chemie --- Reversible Thermodynamik]]
*[[PCRT/I/bc9d| - PCRT/I/bc9d]]
*[[PCRT/I/a8bd| - PCRT/I/a8bd]]
*[[PCRT/I/d88f| - PCRT/I/d88f]]
*[[PCRT/I/aa9d| - PCRT/I/aa9d]]
*[[CPRT/185f|02 Energien E, F, G, H, I, J, K, L im Koordinatensystem (N,S,V) - CPRT/185f]]
gcppgsr594j3f21tx6voe33ea9d6esu
CPRT/51da
0
119066
1091093
1091050
2026-09-19T15:26:25Z
Pelikam
111447
/* Energie F */
1091093
wikitext
text/x-wiki
[[CPRT|< Inhaltsverzeichnis - CPRT]]
== Energie F ==
{|
|-
|| <math> (01)\quad </math>
|| <math> dE(N,S,V) </math>||<math> = </math>||<math>
+\,\mu\,dN + t\,dS + p\,d(-V) </math>
|-
|| <math> (02)\quad </math>
|| <math> dF(N,t,V) </math>||<math> = </math>||<math>
+\,\mu\,dN - S\,dt + p\,d(-V) </math>
|-
|| <math> (02)\quad </math>
|| <math> dF(N,S,V) </math>||<math> = </math>||<math>
+\,\mu_{E}^{F}\,dN + t_{E}^{F}\,dS + p_{E}^{F}\,d(-V) </math>
|-
|| <math> (03)\quad </math>
|| <math> F(N,t,V) </math>||<math> = </math>||<math>
+\,\mu\,N + p\,(-V) </math>
|-
|| <math> (03)\quad </math>
|| <math> F(N,S,V) </math>||<math> = </math>||<math>
+\,\mu_{E}^{F}\,N + t_{E}^{F}\,S + p_{E}^{F}\,(-V) </math>
|}
=== Variante a) ===
<math>S</math> kommt, <math>t</math> geht. Eine neue Variable.
(04a) folgt aus (03) und (03a). (05a) folgt aus (02a) und (03a).
{|
|-
|| <math> (01a)\quad </math>
|| <math> -\,S\,dt(N,S,V) </math>||<math> = </math>||<math>
+ \left[ 0 - S\frac{\partial t}{\partial N} \right] dN
+ \left[ 0 - S\frac{\partial t}{\partial S} \right] dS
+ \left[ 0 - S\frac{\partial t}{\partial (-V)} \right] d(-V) </math>
|-
|| <math> (02a)\quad </math>
|| <math> dF(N,S,V) </math>||<math> = </math>||<math>
+ \left[ \mu - S\frac{\partial t}{\partial N} \right] dN
+ \left[ 0 - S\frac{\partial t}{\partial S} \right] dS
+ \left[ p - S\frac{\partial t}{\partial (-V)} \right] d(-V) </math>
|-
| <math> (03a)\quad </math>
|| <math> F(N,S,V) </math>||<math> = </math>||<math>
+ \left[ \mu - S\frac{\partial t}{\partial N} \right] N
+ \left[ 0 - S\frac{\partial t}{\partial S} \right] S
+ \left[ p - S\frac{\partial t}{\partial (-V)} \right] (-V) </math>
|-
| <math> (04a)\quad </math>
|| <math> 0\,(N,S,V) </math>||<math> = </math>||<math>
+ \left[ 0 - S\frac{\partial t}{\partial N} \right] N
+ \left[ 0 - S\frac{\partial t}{\partial S} \right] S
+ \left[ 0 - S\frac{\partial t}{\partial (-V)} \right] (-V) </math>
|-
|| <math> (05a)\quad </math>
|| <math> 0\,(N,S,V) </math>||<math> = </math>||<math>
-\,N\,d\left[ \mu - S\frac{\partial t}{\partial N} \right]
- S\,d\left[ 0 - S\frac{\partial t}{\partial S} \right]
- (-V)\,d\left[ p - S\frac{\partial t}{\partial (-V)} \right] </math>
|}
=== Variante b) ===
<math>S</math> kommt, <math>t</math> geht. Eine neue Variable.
(04b) folgt aus (03) und (03b). (05b) folgt aus (02b) und (03b).
{|
|-
|| <math> (01b)\quad </math>
|| <math> -\,S\,dt(N,S,V) </math>||<math> = </math>||<math>
+ \left[ 0 - S\frac{\partial \mu}{\partial S} \right] dN
+ \left[ 0 - S\frac{\partial t}{\partial S} \right] dS
+ \left[ 0 - S\frac{\partial p}{\partial S} \right] d(-V) </math>
|-
|| <math> (02b)\quad </math>
|| <math> dF(N,S,V) </math>||<math> = </math>||<math>
+ \left[ \mu - S\frac{\partial \mu}{\partial S} \right] dN
+ \left[ 0 - S\frac{\partial t}{\partial S} \right] dS
+ \left[ p - S\frac{\partial p}{\partial S} \right] d(-V) </math>
|-
|| <math> (03b)\quad </math>
|| <math> F(N,S,V) </math>||<math> = </math>||<math>
+ \left[ \mu - S\frac{\partial \mu}{\partial S} \right] N
+ \left[ 0 - S\frac{\partial t}{\partial S} \right] S
+ \left[ p - S\frac{\partial p}{\partial S} \right] (-V) </math>
|-
|| <math> (04b)\quad </math>
|| <math> 0\,(N,S,V) </math>||<math> = </math>||<math>
+ \left[ 0 - S\frac{\partial \mu}{\partial S} \right] N
+ \left[ 0 - S\frac{\partial t}{\partial S} \right] S
+ \left[ 0 - S\frac{\partial p}{\partial S} \right] (-V) </math>
|-
|| <math> (05b)\quad </math>
|| <math> 0\,(N,S,V) </math>||<math> = </math>||<math>
-\,N\,d\left[ \mu - S\frac{\partial \mu}{\partial S}\,\right]
- S\,d\left[ 0 - S\frac{\partial t}{\partial S}\,\right]
- (-V)\,d\left[ p - S\frac{\partial p}{\partial S}\,\right] </math>
|}
=== Variante c) ===
<math>S</math> kommt, <math>t</math> geht. Eine neue Variable.
(04c) folgt aus (03) und (03c). (05c) folgt aus (02c) und (03c).
{|
|-
|| <math> (01c)\quad </math>
|| <math> -\,S\,dt(N,S,V) </math>||<math> = </math>||<math>
+ \left[ 0 + N\frac{\partial \mu}{\partial N} + V\frac{\partial \mu}{\partial V} \right] dN
+ \left[ 0 + N\frac{\partial t}{\partial N} + V\frac{\partial t}{\partial V} \right] dS
+ \left[ 0 + N\frac{\partial p}{\partial N} + V\frac{\partial p}{\partial V} \right] d(-V) </math>
|-
|| <math> (02c)\quad </math>
|| <math> dF(N,S,V) </math>||<math> = </math>||<math>
+ \left[ \mu + N\frac{\partial \mu}{\partial N} + V\frac{\partial \mu}{\partial V} \right] dN
+ \left[ 0 + N\frac{\partial t}{\partial N} + V\frac{\partial t}{\partial V} \right] dS
+ \left[ p + N\frac{\partial p}{\partial N} + V\frac{\partial p}{\partial V} \right] d(-V) </math>
|-
|| <math> (03c)\quad </math>
|| <math> F(N,S,V) </math>||<math> = </math>||<math>
+ \left[ \mu + N\frac{\partial \mu}{\partial N} + V\frac{\partial \mu}{\partial V} \right] N
+ \left[ 0 + N\frac{\partial t}{\partial N} + V\frac{\partial t}{\partial V} \right] S
+ \left[ p + N\frac{\partial p}{\partial N} + V\frac{\partial p}{\partial V} \right] (-V) </math>
|-
|| <math> (04c)\quad </math>
|| <math> 0\,(N,S,V) </math>||<math> = </math>||<math>
+ \left[ 0 + N\frac{\partial \mu}{\partial N} + V\frac{\partial \mu}{\partial V} \right] N
+ \left[ 0 + N\frac{\partial t}{\partial N} + V\frac{\partial t}{\partial V} \right] S
+ \left[ 0 + N\frac{\partial p}{\partial N} + V\frac{\partial p}{\partial V} \right] (-V) </math>
|-
|| <math> (05c)\quad </math>
|| <math> 0\,(N,S,V) </math>||<math> = </math>||<math>
-\,N\,d\left[ \mu + N\frac{\partial \mu}{\partial N} + V\frac{\partial \mu}{\partial V} \right]
- S\,d\left[ 0 + N\frac{\partial t}{\partial N} + V\frac{\partial t}{\partial V} \right]
- (-V)\,d\left[ p + N\frac{\partial p}{\partial N} + V\frac{\partial p}{\partial V} \right] </math>
|}
== Herleitungen Energie F ==
i02abd5p1hfyemi8wfqktofpz9zeh80
1091096
1091093
2026-09-19T15:29:13Z
Pelikam
111447
/* Variante a) */
1091096
wikitext
text/x-wiki
[[CPRT|< Inhaltsverzeichnis - CPRT]]
== Energie F ==
{|
|-
|| <math> (01)\quad </math>
|| <math> dE(N,S,V) </math>||<math> = </math>||<math>
+\,\mu\,dN + t\,dS + p\,d(-V) </math>
|-
|| <math> (02)\quad </math>
|| <math> dF(N,t,V) </math>||<math> = </math>||<math>
+\,\mu\,dN - S\,dt + p\,d(-V) </math>
|-
|| <math> (02)\quad </math>
|| <math> dF(N,S,V) </math>||<math> = </math>||<math>
+\,\mu_{E}^{F}\,dN + t_{E}^{F}\,dS + p_{E}^{F}\,d(-V) </math>
|-
|| <math> (03)\quad </math>
|| <math> F(N,t,V) </math>||<math> = </math>||<math>
+\,\mu\,N + p\,(-V) </math>
|-
|| <math> (03)\quad </math>
|| <math> F(N,S,V) </math>||<math> = </math>||<math>
+\,\mu_{E}^{F}\,N + t_{E}^{F}\,S + p_{E}^{F}\,(-V) </math>
|}
=== Variante a) ===
Eine neue Variable: <math>S</math> kommt, <math>t</math> geht.
(04a) folgt aus (03) und (03a). (05a) folgt aus (02a) und (03a).
{|
|-
|| <math> (01a)\quad </math>
|| <math> -\,S\,dt(N,S,V) </math>||<math> = </math>||<math>
+ \left[ 0 - S\frac{\partial t}{\partial N} \right] dN
+ \left[ 0 - S\frac{\partial t}{\partial S} \right] dS
+ \left[ 0 - S\frac{\partial t}{\partial (-V)} \right] d(-V) </math>
|-
|| <math> (02a)\quad </math>
|| <math> dF(N,S,V) </math>||<math> = </math>||<math>
+ \left[ \mu - S\frac{\partial t}{\partial N} \right] dN
+ \left[ 0 - S\frac{\partial t}{\partial S} \right] dS
+ \left[ p - S\frac{\partial t}{\partial (-V)} \right] d(-V) </math>
|-
| <math> (03a)\quad </math>
|| <math> F(N,S,V) </math>||<math> = </math>||<math>
+ \left[ \mu - S\frac{\partial t}{\partial N} \right] N
+ \left[ 0 - S\frac{\partial t}{\partial S} \right] S
+ \left[ p - S\frac{\partial t}{\partial (-V)} \right] (-V) </math>
|-
| <math> (04a)\quad </math>
|| <math> 0\,(N,S,V) </math>||<math> = </math>||<math>
+ \left[ 0 - S\frac{\partial t}{\partial N} \right] N
+ \left[ 0 - S\frac{\partial t}{\partial S} \right] S
+ \left[ 0 - S\frac{\partial t}{\partial (-V)} \right] (-V) </math>
|-
|| <math> (05a)\quad </math>
|| <math> 0\,(N,S,V) </math>||<math> = </math>||<math>
-\,N\,d\left[ \mu - S\frac{\partial t}{\partial N} \right]
- S\,d\left[ 0 - S\frac{\partial t}{\partial S} \right]
- (-V)\,d\left[ p - S\frac{\partial t}{\partial (-V)} \right] </math>
|}
=== Variante b) ===
<math>S</math> kommt, <math>t</math> geht. Eine neue Variable.
(04b) folgt aus (03) und (03b). (05b) folgt aus (02b) und (03b).
{|
|-
|| <math> (01b)\quad </math>
|| <math> -\,S\,dt(N,S,V) </math>||<math> = </math>||<math>
+ \left[ 0 - S\frac{\partial \mu}{\partial S} \right] dN
+ \left[ 0 - S\frac{\partial t}{\partial S} \right] dS
+ \left[ 0 - S\frac{\partial p}{\partial S} \right] d(-V) </math>
|-
|| <math> (02b)\quad </math>
|| <math> dF(N,S,V) </math>||<math> = </math>||<math>
+ \left[ \mu - S\frac{\partial \mu}{\partial S} \right] dN
+ \left[ 0 - S\frac{\partial t}{\partial S} \right] dS
+ \left[ p - S\frac{\partial p}{\partial S} \right] d(-V) </math>
|-
|| <math> (03b)\quad </math>
|| <math> F(N,S,V) </math>||<math> = </math>||<math>
+ \left[ \mu - S\frac{\partial \mu}{\partial S} \right] N
+ \left[ 0 - S\frac{\partial t}{\partial S} \right] S
+ \left[ p - S\frac{\partial p}{\partial S} \right] (-V) </math>
|-
|| <math> (04b)\quad </math>
|| <math> 0\,(N,S,V) </math>||<math> = </math>||<math>
+ \left[ 0 - S\frac{\partial \mu}{\partial S} \right] N
+ \left[ 0 - S\frac{\partial t}{\partial S} \right] S
+ \left[ 0 - S\frac{\partial p}{\partial S} \right] (-V) </math>
|-
|| <math> (05b)\quad </math>
|| <math> 0\,(N,S,V) </math>||<math> = </math>||<math>
-\,N\,d\left[ \mu - S\frac{\partial \mu}{\partial S}\,\right]
- S\,d\left[ 0 - S\frac{\partial t}{\partial S}\,\right]
- (-V)\,d\left[ p - S\frac{\partial p}{\partial S}\,\right] </math>
|}
=== Variante c) ===
<math>S</math> kommt, <math>t</math> geht. Eine neue Variable.
(04c) folgt aus (03) und (03c). (05c) folgt aus (02c) und (03c).
{|
|-
|| <math> (01c)\quad </math>
|| <math> -\,S\,dt(N,S,V) </math>||<math> = </math>||<math>
+ \left[ 0 + N\frac{\partial \mu}{\partial N} + V\frac{\partial \mu}{\partial V} \right] dN
+ \left[ 0 + N\frac{\partial t}{\partial N} + V\frac{\partial t}{\partial V} \right] dS
+ \left[ 0 + N\frac{\partial p}{\partial N} + V\frac{\partial p}{\partial V} \right] d(-V) </math>
|-
|| <math> (02c)\quad </math>
|| <math> dF(N,S,V) </math>||<math> = </math>||<math>
+ \left[ \mu + N\frac{\partial \mu}{\partial N} + V\frac{\partial \mu}{\partial V} \right] dN
+ \left[ 0 + N\frac{\partial t}{\partial N} + V\frac{\partial t}{\partial V} \right] dS
+ \left[ p + N\frac{\partial p}{\partial N} + V\frac{\partial p}{\partial V} \right] d(-V) </math>
|-
|| <math> (03c)\quad </math>
|| <math> F(N,S,V) </math>||<math> = </math>||<math>
+ \left[ \mu + N\frac{\partial \mu}{\partial N} + V\frac{\partial \mu}{\partial V} \right] N
+ \left[ 0 + N\frac{\partial t}{\partial N} + V\frac{\partial t}{\partial V} \right] S
+ \left[ p + N\frac{\partial p}{\partial N} + V\frac{\partial p}{\partial V} \right] (-V) </math>
|-
|| <math> (04c)\quad </math>
|| <math> 0\,(N,S,V) </math>||<math> = </math>||<math>
+ \left[ 0 + N\frac{\partial \mu}{\partial N} + V\frac{\partial \mu}{\partial V} \right] N
+ \left[ 0 + N\frac{\partial t}{\partial N} + V\frac{\partial t}{\partial V} \right] S
+ \left[ 0 + N\frac{\partial p}{\partial N} + V\frac{\partial p}{\partial V} \right] (-V) </math>
|-
|| <math> (05c)\quad </math>
|| <math> 0\,(N,S,V) </math>||<math> = </math>||<math>
-\,N\,d\left[ \mu + N\frac{\partial \mu}{\partial N} + V\frac{\partial \mu}{\partial V} \right]
- S\,d\left[ 0 + N\frac{\partial t}{\partial N} + V\frac{\partial t}{\partial V} \right]
- (-V)\,d\left[ p + N\frac{\partial p}{\partial N} + V\frac{\partial p}{\partial V} \right] </math>
|}
== Herleitungen Energie F ==
0o16v71vx2i5bb1eejwekknswyxn7kg
1091097
1091096
2026-09-19T15:29:46Z
Pelikam
111447
/* Variante b) */
1091097
wikitext
text/x-wiki
[[CPRT|< Inhaltsverzeichnis - CPRT]]
== Energie F ==
{|
|-
|| <math> (01)\quad </math>
|| <math> dE(N,S,V) </math>||<math> = </math>||<math>
+\,\mu\,dN + t\,dS + p\,d(-V) </math>
|-
|| <math> (02)\quad </math>
|| <math> dF(N,t,V) </math>||<math> = </math>||<math>
+\,\mu\,dN - S\,dt + p\,d(-V) </math>
|-
|| <math> (02)\quad </math>
|| <math> dF(N,S,V) </math>||<math> = </math>||<math>
+\,\mu_{E}^{F}\,dN + t_{E}^{F}\,dS + p_{E}^{F}\,d(-V) </math>
|-
|| <math> (03)\quad </math>
|| <math> F(N,t,V) </math>||<math> = </math>||<math>
+\,\mu\,N + p\,(-V) </math>
|-
|| <math> (03)\quad </math>
|| <math> F(N,S,V) </math>||<math> = </math>||<math>
+\,\mu_{E}^{F}\,N + t_{E}^{F}\,S + p_{E}^{F}\,(-V) </math>
|}
=== Variante a) ===
Eine neue Variable: <math>S</math> kommt, <math>t</math> geht.
(04a) folgt aus (03) und (03a). (05a) folgt aus (02a) und (03a).
{|
|-
|| <math> (01a)\quad </math>
|| <math> -\,S\,dt(N,S,V) </math>||<math> = </math>||<math>
+ \left[ 0 - S\frac{\partial t}{\partial N} \right] dN
+ \left[ 0 - S\frac{\partial t}{\partial S} \right] dS
+ \left[ 0 - S\frac{\partial t}{\partial (-V)} \right] d(-V) </math>
|-
|| <math> (02a)\quad </math>
|| <math> dF(N,S,V) </math>||<math> = </math>||<math>
+ \left[ \mu - S\frac{\partial t}{\partial N} \right] dN
+ \left[ 0 - S\frac{\partial t}{\partial S} \right] dS
+ \left[ p - S\frac{\partial t}{\partial (-V)} \right] d(-V) </math>
|-
| <math> (03a)\quad </math>
|| <math> F(N,S,V) </math>||<math> = </math>||<math>
+ \left[ \mu - S\frac{\partial t}{\partial N} \right] N
+ \left[ 0 - S\frac{\partial t}{\partial S} \right] S
+ \left[ p - S\frac{\partial t}{\partial (-V)} \right] (-V) </math>
|-
| <math> (04a)\quad </math>
|| <math> 0\,(N,S,V) </math>||<math> = </math>||<math>
+ \left[ 0 - S\frac{\partial t}{\partial N} \right] N
+ \left[ 0 - S\frac{\partial t}{\partial S} \right] S
+ \left[ 0 - S\frac{\partial t}{\partial (-V)} \right] (-V) </math>
|-
|| <math> (05a)\quad </math>
|| <math> 0\,(N,S,V) </math>||<math> = </math>||<math>
-\,N\,d\left[ \mu - S\frac{\partial t}{\partial N} \right]
- S\,d\left[ 0 - S\frac{\partial t}{\partial S} \right]
- (-V)\,d\left[ p - S\frac{\partial t}{\partial (-V)} \right] </math>
|}
=== Variante b) ===
Eine neue Variable: <math>S</math> kommt, <math>t</math> geht.
(04b) folgt aus (03) und (03b). (05b) folgt aus (02b) und (03b).
{|
|-
|| <math> (01b)\quad </math>
|| <math> -\,S\,dt(N,S,V) </math>||<math> = </math>||<math>
+ \left[ 0 - S\frac{\partial \mu}{\partial S} \right] dN
+ \left[ 0 - S\frac{\partial t}{\partial S} \right] dS
+ \left[ 0 - S\frac{\partial p}{\partial S} \right] d(-V) </math>
|-
|| <math> (02b)\quad </math>
|| <math> dF(N,S,V) </math>||<math> = </math>||<math>
+ \left[ \mu - S\frac{\partial \mu}{\partial S} \right] dN
+ \left[ 0 - S\frac{\partial t}{\partial S} \right] dS
+ \left[ p - S\frac{\partial p}{\partial S} \right] d(-V) </math>
|-
|| <math> (03b)\quad </math>
|| <math> F(N,S,V) </math>||<math> = </math>||<math>
+ \left[ \mu - S\frac{\partial \mu}{\partial S} \right] N
+ \left[ 0 - S\frac{\partial t}{\partial S} \right] S
+ \left[ p - S\frac{\partial p}{\partial S} \right] (-V) </math>
|-
|| <math> (04b)\quad </math>
|| <math> 0\,(N,S,V) </math>||<math> = </math>||<math>
+ \left[ 0 - S\frac{\partial \mu}{\partial S} \right] N
+ \left[ 0 - S\frac{\partial t}{\partial S} \right] S
+ \left[ 0 - S\frac{\partial p}{\partial S} \right] (-V) </math>
|-
|| <math> (05b)\quad </math>
|| <math> 0\,(N,S,V) </math>||<math> = </math>||<math>
-\,N\,d\left[ \mu - S\frac{\partial \mu}{\partial S}\,\right]
- S\,d\left[ 0 - S\frac{\partial t}{\partial S}\,\right]
- (-V)\,d\left[ p - S\frac{\partial p}{\partial S}\,\right] </math>
|}
=== Variante c) ===
<math>S</math> kommt, <math>t</math> geht. Eine neue Variable.
(04c) folgt aus (03) und (03c). (05c) folgt aus (02c) und (03c).
{|
|-
|| <math> (01c)\quad </math>
|| <math> -\,S\,dt(N,S,V) </math>||<math> = </math>||<math>
+ \left[ 0 + N\frac{\partial \mu}{\partial N} + V\frac{\partial \mu}{\partial V} \right] dN
+ \left[ 0 + N\frac{\partial t}{\partial N} + V\frac{\partial t}{\partial V} \right] dS
+ \left[ 0 + N\frac{\partial p}{\partial N} + V\frac{\partial p}{\partial V} \right] d(-V) </math>
|-
|| <math> (02c)\quad </math>
|| <math> dF(N,S,V) </math>||<math> = </math>||<math>
+ \left[ \mu + N\frac{\partial \mu}{\partial N} + V\frac{\partial \mu}{\partial V} \right] dN
+ \left[ 0 + N\frac{\partial t}{\partial N} + V\frac{\partial t}{\partial V} \right] dS
+ \left[ p + N\frac{\partial p}{\partial N} + V\frac{\partial p}{\partial V} \right] d(-V) </math>
|-
|| <math> (03c)\quad </math>
|| <math> F(N,S,V) </math>||<math> = </math>||<math>
+ \left[ \mu + N\frac{\partial \mu}{\partial N} + V\frac{\partial \mu}{\partial V} \right] N
+ \left[ 0 + N\frac{\partial t}{\partial N} + V\frac{\partial t}{\partial V} \right] S
+ \left[ p + N\frac{\partial p}{\partial N} + V\frac{\partial p}{\partial V} \right] (-V) </math>
|-
|| <math> (04c)\quad </math>
|| <math> 0\,(N,S,V) </math>||<math> = </math>||<math>
+ \left[ 0 + N\frac{\partial \mu}{\partial N} + V\frac{\partial \mu}{\partial V} \right] N
+ \left[ 0 + N\frac{\partial t}{\partial N} + V\frac{\partial t}{\partial V} \right] S
+ \left[ 0 + N\frac{\partial p}{\partial N} + V\frac{\partial p}{\partial V} \right] (-V) </math>
|-
|| <math> (05c)\quad </math>
|| <math> 0\,(N,S,V) </math>||<math> = </math>||<math>
-\,N\,d\left[ \mu + N\frac{\partial \mu}{\partial N} + V\frac{\partial \mu}{\partial V} \right]
- S\,d\left[ 0 + N\frac{\partial t}{\partial N} + V\frac{\partial t}{\partial V} \right]
- (-V)\,d\left[ p + N\frac{\partial p}{\partial N} + V\frac{\partial p}{\partial V} \right] </math>
|}
== Herleitungen Energie F ==
gviushe044ucdoit3eprxgow2vdsfac
1091098
1091097
2026-09-19T15:30:04Z
Pelikam
111447
/* Variante c) */
1091098
wikitext
text/x-wiki
[[CPRT|< Inhaltsverzeichnis - CPRT]]
== Energie F ==
{|
|-
|| <math> (01)\quad </math>
|| <math> dE(N,S,V) </math>||<math> = </math>||<math>
+\,\mu\,dN + t\,dS + p\,d(-V) </math>
|-
|| <math> (02)\quad </math>
|| <math> dF(N,t,V) </math>||<math> = </math>||<math>
+\,\mu\,dN - S\,dt + p\,d(-V) </math>
|-
|| <math> (02)\quad </math>
|| <math> dF(N,S,V) </math>||<math> = </math>||<math>
+\,\mu_{E}^{F}\,dN + t_{E}^{F}\,dS + p_{E}^{F}\,d(-V) </math>
|-
|| <math> (03)\quad </math>
|| <math> F(N,t,V) </math>||<math> = </math>||<math>
+\,\mu\,N + p\,(-V) </math>
|-
|| <math> (03)\quad </math>
|| <math> F(N,S,V) </math>||<math> = </math>||<math>
+\,\mu_{E}^{F}\,N + t_{E}^{F}\,S + p_{E}^{F}\,(-V) </math>
|}
=== Variante a) ===
Eine neue Variable: <math>S</math> kommt, <math>t</math> geht.
(04a) folgt aus (03) und (03a). (05a) folgt aus (02a) und (03a).
{|
|-
|| <math> (01a)\quad </math>
|| <math> -\,S\,dt(N,S,V) </math>||<math> = </math>||<math>
+ \left[ 0 - S\frac{\partial t}{\partial N} \right] dN
+ \left[ 0 - S\frac{\partial t}{\partial S} \right] dS
+ \left[ 0 - S\frac{\partial t}{\partial (-V)} \right] d(-V) </math>
|-
|| <math> (02a)\quad </math>
|| <math> dF(N,S,V) </math>||<math> = </math>||<math>
+ \left[ \mu - S\frac{\partial t}{\partial N} \right] dN
+ \left[ 0 - S\frac{\partial t}{\partial S} \right] dS
+ \left[ p - S\frac{\partial t}{\partial (-V)} \right] d(-V) </math>
|-
| <math> (03a)\quad </math>
|| <math> F(N,S,V) </math>||<math> = </math>||<math>
+ \left[ \mu - S\frac{\partial t}{\partial N} \right] N
+ \left[ 0 - S\frac{\partial t}{\partial S} \right] S
+ \left[ p - S\frac{\partial t}{\partial (-V)} \right] (-V) </math>
|-
| <math> (04a)\quad </math>
|| <math> 0\,(N,S,V) </math>||<math> = </math>||<math>
+ \left[ 0 - S\frac{\partial t}{\partial N} \right] N
+ \left[ 0 - S\frac{\partial t}{\partial S} \right] S
+ \left[ 0 - S\frac{\partial t}{\partial (-V)} \right] (-V) </math>
|-
|| <math> (05a)\quad </math>
|| <math> 0\,(N,S,V) </math>||<math> = </math>||<math>
-\,N\,d\left[ \mu - S\frac{\partial t}{\partial N} \right]
- S\,d\left[ 0 - S\frac{\partial t}{\partial S} \right]
- (-V)\,d\left[ p - S\frac{\partial t}{\partial (-V)} \right] </math>
|}
=== Variante b) ===
Eine neue Variable: <math>S</math> kommt, <math>t</math> geht.
(04b) folgt aus (03) und (03b). (05b) folgt aus (02b) und (03b).
{|
|-
|| <math> (01b)\quad </math>
|| <math> -\,S\,dt(N,S,V) </math>||<math> = </math>||<math>
+ \left[ 0 - S\frac{\partial \mu}{\partial S} \right] dN
+ \left[ 0 - S\frac{\partial t}{\partial S} \right] dS
+ \left[ 0 - S\frac{\partial p}{\partial S} \right] d(-V) </math>
|-
|| <math> (02b)\quad </math>
|| <math> dF(N,S,V) </math>||<math> = </math>||<math>
+ \left[ \mu - S\frac{\partial \mu}{\partial S} \right] dN
+ \left[ 0 - S\frac{\partial t}{\partial S} \right] dS
+ \left[ p - S\frac{\partial p}{\partial S} \right] d(-V) </math>
|-
|| <math> (03b)\quad </math>
|| <math> F(N,S,V) </math>||<math> = </math>||<math>
+ \left[ \mu - S\frac{\partial \mu}{\partial S} \right] N
+ \left[ 0 - S\frac{\partial t}{\partial S} \right] S
+ \left[ p - S\frac{\partial p}{\partial S} \right] (-V) </math>
|-
|| <math> (04b)\quad </math>
|| <math> 0\,(N,S,V) </math>||<math> = </math>||<math>
+ \left[ 0 - S\frac{\partial \mu}{\partial S} \right] N
+ \left[ 0 - S\frac{\partial t}{\partial S} \right] S
+ \left[ 0 - S\frac{\partial p}{\partial S} \right] (-V) </math>
|-
|| <math> (05b)\quad </math>
|| <math> 0\,(N,S,V) </math>||<math> = </math>||<math>
-\,N\,d\left[ \mu - S\frac{\partial \mu}{\partial S}\,\right]
- S\,d\left[ 0 - S\frac{\partial t}{\partial S}\,\right]
- (-V)\,d\left[ p - S\frac{\partial p}{\partial S}\,\right] </math>
|}
=== Variante c) ===
Eine neue Variable: <math>S</math> kommt, <math>t</math> geht.
(04c) folgt aus (03) und (03c). (05c) folgt aus (02c) und (03c).
{|
|-
|| <math> (01c)\quad </math>
|| <math> -\,S\,dt(N,S,V) </math>||<math> = </math>||<math>
+ \left[ 0 + N\frac{\partial \mu}{\partial N} + V\frac{\partial \mu}{\partial V} \right] dN
+ \left[ 0 + N\frac{\partial t}{\partial N} + V\frac{\partial t}{\partial V} \right] dS
+ \left[ 0 + N\frac{\partial p}{\partial N} + V\frac{\partial p}{\partial V} \right] d(-V) </math>
|-
|| <math> (02c)\quad </math>
|| <math> dF(N,S,V) </math>||<math> = </math>||<math>
+ \left[ \mu + N\frac{\partial \mu}{\partial N} + V\frac{\partial \mu}{\partial V} \right] dN
+ \left[ 0 + N\frac{\partial t}{\partial N} + V\frac{\partial t}{\partial V} \right] dS
+ \left[ p + N\frac{\partial p}{\partial N} + V\frac{\partial p}{\partial V} \right] d(-V) </math>
|-
|| <math> (03c)\quad </math>
|| <math> F(N,S,V) </math>||<math> = </math>||<math>
+ \left[ \mu + N\frac{\partial \mu}{\partial N} + V\frac{\partial \mu}{\partial V} \right] N
+ \left[ 0 + N\frac{\partial t}{\partial N} + V\frac{\partial t}{\partial V} \right] S
+ \left[ p + N\frac{\partial p}{\partial N} + V\frac{\partial p}{\partial V} \right] (-V) </math>
|-
|| <math> (04c)\quad </math>
|| <math> 0\,(N,S,V) </math>||<math> = </math>||<math>
+ \left[ 0 + N\frac{\partial \mu}{\partial N} + V\frac{\partial \mu}{\partial V} \right] N
+ \left[ 0 + N\frac{\partial t}{\partial N} + V\frac{\partial t}{\partial V} \right] S
+ \left[ 0 + N\frac{\partial p}{\partial N} + V\frac{\partial p}{\partial V} \right] (-V) </math>
|-
|| <math> (05c)\quad </math>
|| <math> 0\,(N,S,V) </math>||<math> = </math>||<math>
-\,N\,d\left[ \mu + N\frac{\partial \mu}{\partial N} + V\frac{\partial \mu}{\partial V} \right]
- S\,d\left[ 0 + N\frac{\partial t}{\partial N} + V\frac{\partial t}{\partial V} \right]
- (-V)\,d\left[ p + N\frac{\partial p}{\partial N} + V\frac{\partial p}{\partial V} \right] </math>
|}
== Herleitungen Energie F ==
mq6rhol7vlm5edit77kxapso5sbp7ih
CPRT/6971
0
119123
1091095
1091051
2026-09-19T15:27:37Z
Pelikam
111447
/* Energie G */
1091095
wikitext
text/x-wiki
[[CPRT|< Inhaltsverzeichnis - CPRT]]
== Energie G ==
{|
|-
|| <math> (01)\quad </math>
|| <math> dE(N,S,V) </math>||<math> = </math>||<math>
+\,\mu\,dN + t\,dS + p\,d(-V) </math>
|-
|| <math> (02)\quad </math>
|| <math> dG(N,t,p) </math>||<math> = </math>||<math>
+\,\mu\,dN - S\,dt -(-V)\,dp </math>
|-
|| <math> (02)\quad </math>
|| <math> dG(N,S,V) </math>||<math> = </math>||<math>
+\,\mu_{E}^{G}\,dN + t_{E}^{G}\,dS + p_{E}^{G}\,d(-V) </math>
|-
|| <math> (03)\quad </math>
|| <math> G(N,t,p) </math>||<math> = </math>||<math>
+\,\mu\,N </math>
|-
|| <math> (03)\quad </math>
|| <math> G(N,S,V) </math>||<math> = </math>||<math>
+\,\mu_{E}^{G}\,N + t_{E}^{G}\,S + p_{E}^{G}\,(-V) </math>
|}
=== Variante a) ===
<math>S, V</math> kommen, <math>t, p</math> gehen. Zwei neue Variable.
(04a) folgt aus (03) und (03a). (05a) folgt aus (02a) und (03a).
{|
|-
|| <math> (01a)\quad </math>
|| <math> -\,S\,dt </math>||<math> = </math>||<math>
+ \left[ 0 - S\frac{\partial t}{\partial N} \right] dN + \left[ 0 - S\frac{\partial t}{\partial S} \right] dS
+ \left[ 0 - S\frac{\partial t}{\partial (-V)}\right] d(-V)\quad (N,S,V) </math>
|-
|| <math> (01a)\quad </math>
|| <math> -\,(-V)\,dp </math>||<math> = </math>||<math>
+ \left[ 0 - (-V)\frac{\partial p}{\partial N} \right] dN + \left[ 0 - (-V)\frac{\partial p}{\partial S} \right] dS
+ \left[ 0 - (-V)\frac{\partial p}{\partial (-V)}\right] d(-V)\quad (N,S,V) </math>
|-
|| <math> (02a)\quad </math>
|| <math> dG(N,S,V) </math>||<math> = </math>||<math>
+ \left[ \mu - S\frac{\partial t}{\partial N} - (-V)\frac{\partial p}{\partial N} \right] dN
+ \left[ 0 - S\frac{\partial t}{\partial S} - (-V)\frac{\partial p}{\partial S} \right] dS </math>
|-
|| <math> \quad\quad </math>
|| <math> </math>||<math> </math>||<math>
+ \left[ 0 - S\frac{\partial t}{\partial (-V)} - (-V)\frac{\partial p}{\partial (-V)} \right] d(-V) </math>
|-
|| <math> (03a)\quad </math>
|| <math> G(N,S,V) </math>||<math> = </math>||<math>
+ \left[ \mu - S\frac{\partial t}{\partial N} - (-V)\frac{\partial p}{\partial N} \right] N
+ \left[ 0 - S\frac{\partial t}{\partial S} - (-V)\frac{\partial p}{\partial S} \right] S </math>
|-
|| <math> \quad\quad </math>
|| <math> </math>||<math> </math>||<math>
+ \left[ 0 - S\frac{\partial t}{\partial (-V)} - (-V)\frac{\partial p}{\partial (-V)} \right] (-V) </math>
|-
|| <math> (04a)\quad </math>
|| <math> 0\,(N,S,V) </math>||<math> = </math>||<math>
+ \left[ 0 - S\frac{\partial t}{\partial N} - (-V)\frac{\partial p}{\partial N} \right] N
+ \left[ 0 - S\frac{\partial t}{\partial S} - (-V)\frac{\partial p}{\partial S} \right] S </math>
|-
|| <math> \quad\quad </math>
|| <math> </math>||<math> </math>||<math>
+ \left[ 0 - S\frac{\partial t}{\partial (-V)} - (-V)\frac{\partial p}{\partial (-V)} \right] (-V) </math>
|-
|| <math> (05a)\quad </math>
|| <math> 0\,(N,S,V) </math>||<math> = </math>||<math>
-\,N\,d\left[ \mu - S\frac{\partial t}{\partial N} - (-V)\frac{\partial p}{\partial N} \right]
- S\,d\left[ 0 - S\frac{\partial t}{\partial S} - (-V)\frac{\partial p}{\partial S} \right] </math>
|-
|| <math> \quad\quad </math>
|| <math> </math>||<math> </math>||<math>
- (-V)\,d\left[ 0 - S\frac{\partial t}{\partial (-V)} - (-V)\frac{\partial p}{\partial (-V)} \right] </math>
|}
=== Variante b) ===
<math>S, V</math> kommen, <math>t, p</math> gehen. Zwei neue Variable.
(04b) folgt aus (03) und (03b). (05b) folgt aus (02b) und (03b).
{|
|-
|| <math> (01b)\quad </math>
|| <math> -\,S\,dt </math>||<math> = </math>||<math>
+ \left[ 0 - S\frac{\partial \mu}{\partial S} \right] dN + \left[ 0 - S\frac{\partial t}{\partial S} \right] dS
+ \left[ 0 - S\frac{\partial p}{\partial S} \right] d(-V)\quad (N,S,V) </math>
|-
|| <math> (01b)\quad </math>
|| <math> -\,(-V)\,dp </math>||<math> = </math>||<math>
+ \left[ 0 - V\frac{\partial \mu}{\partial V} \right] dN + \left[ 0 - V\frac{\partial t}{\partial V} \right] dS
+ \left[ 0 - V\frac{\partial p}{\partial V}\right] d(-V)\quad (N,S,V) </math>
|-
|| <math> (02b)\quad </math>
|| <math> dG(N,S,V) </math>||<math> = </math>||<math>
+ \left[ \mu - S\frac{\partial \mu}{\partial S} - V\frac{\partial \mu}{\partial V} \right] dN
+ \left[ 0 - S\frac{\partial t}{\partial S} - V\frac{\partial t}{\partial V} \right] dS
+ \left[ 0 - S\frac{\partial p}{\partial S} - V\frac{\partial p}{\partial V} \right] d(-V) </math>
|-
|| <math> (03b)\quad </math>
|| <math> G(N,S,V) </math>||<math> = </math>||<math>
+ \left[ \mu - S\frac{\partial \mu}{\partial S} - V\frac{\partial \mu}{\partial V} \right] N
+ \left[ 0 - S\frac{\partial t}{\partial S} - V\frac{\partial t}{\partial V} \right] S
+ \left[ 0 - S\frac{\partial p}{\partial S} - V\frac{\partial p}{\partial V} \right] (-V) </math>
|-
|| <math> (04b)\quad </math>
|| <math> 0\,(N,S,V) </math>||<math> = </math>||<math>
+ \left[ 0 - S\frac{\partial \mu}{\partial S} - V\frac{\partial \mu}{\partial V} \right] N
+ \left[ 0 - S\frac{\partial t}{\partial S} - V\frac{\partial t}{\partial V} \right] S
+ \left[ 0 - S\frac{\partial p}{\partial S} - V\frac{\partial p}{\partial V} \right] (-V) </math>
|-
|| <math> (05b)\quad </math>
|| <math> 0\,(N,S,V) </math>||<math> = </math>||<math>
-\,N\,d\left[ \mu - S\frac{\partial \mu}{\partial S} - V\frac{\partial \mu}{\partial V} \right]
- S\,d\left[ 0 - S\frac{\partial t}{\partial S} - V\frac{\partial t}{\partial V} \right]
-\,(-V)\,d\left[ 0 - S\frac{\partial p}{\partial S} - V\frac{\partial p}{\partial V} \right] </math>
|}
=== Variante c) ===
<math>S, V</math> kommen, <math>t, p</math> gehen. Zwei neue Variable.
(04c) folgt aus (03) und (03c). (05c) folgt aus (02c) und (03c).
{|
|-
|| <math> (01c)\quad </math>
|| <math> -\,S\,dt </math>||<math> = </math>||<math>
+ \left[ 0 + N\frac{\partial \mu}{\partial N} + V\frac{\partial \mu}{\partial V} \right] dN
+ \left[ 0 + N\frac{\partial t}{\partial N} + V\frac{\partial \mu}{\partial V} \right] dS
+ \left[ 0 + N\frac{\partial p}{\partial N} + V\frac{\partial \mu}{\partial V} \right] d(-V) </math>
|-
|| <math> (01c) </math>
|| <math> -\,(-V)\,dp </math>||<math> = </math>||<math>
+ \left[ 0 + N\frac{\partial \mu}{\partial N} + S\frac{\partial \mu}{\partial S} \right] dN
+ \left[ 0 + N\frac{\partial t}{\partial N} + S\frac{\partial \mu}{\partial S} \right] dS
+ \left[ 0 + N\frac{\partial p}{\partial N} + S\frac{\partial \mu}{\partial S} \right] d(-V) </math>
|-
|| <math> (02c)\quad </math>
|| <math> dG(N,S,V) </math>||<math> = </math>||<math>
+ \left[ \mu + N\frac{\partial \mu}{\partial N} \right] dN + \left[ 0 + N\frac{\partial t}{\partial N} \right] dS
+ \left[ 0 + N\frac{\partial p}{\partial N} \right] d(-V) </math>
|-
|| <math> (03c)\quad </math>
|| <math> G(N,S,V) </math>||<math> = </math>||<math>
+ \left[ \mu + N\frac{\partial \mu}{\partial N} \right] N + \left[ 0 + N\frac{\partial t}{\partial N} \right] S
+ \left[ 0 + N\frac{\partial p}{\partial N} \right] (-V) </math>
|-
|| <math> (04c)\quad </math>
|| <math> 0\,(N,S,V) </math>||<math> = </math>||<math>
+ \left[ 0 + N\frac{\partial \mu}{\partial N} \right] N + \left[ 0 + N\frac{\partial t}{\partial N} \right] S
+ \left[ 0 + N\frac{\partial p}{\partial N} \right] (-V) </math>
|-
|| <math> (05c)\quad </math>
|| <math> 0\,(N,S,V) </math>||<math> = </math>||<math>
-\,N\,d\left[ \mu + N\frac{\partial \mu}{\partial N} \right] - S\,d\left[ 0 + N\frac{\partial t}{\partial N} \right]
-\,(-V)\,d\left[ 0 + N\frac{\partial p}{\partial N} \right] </math>
|}
== Herleitungen Energie G ==
nm7racnbk477k1bqcpru7pbbmhl9kq6
1091099
1091095
2026-09-19T15:31:17Z
Pelikam
111447
/* Variante a) */
1091099
wikitext
text/x-wiki
[[CPRT|< Inhaltsverzeichnis - CPRT]]
== Energie G ==
{|
|-
|| <math> (01)\quad </math>
|| <math> dE(N,S,V) </math>||<math> = </math>||<math>
+\,\mu\,dN + t\,dS + p\,d(-V) </math>
|-
|| <math> (02)\quad </math>
|| <math> dG(N,t,p) </math>||<math> = </math>||<math>
+\,\mu\,dN - S\,dt -(-V)\,dp </math>
|-
|| <math> (02)\quad </math>
|| <math> dG(N,S,V) </math>||<math> = </math>||<math>
+\,\mu_{E}^{G}\,dN + t_{E}^{G}\,dS + p_{E}^{G}\,d(-V) </math>
|-
|| <math> (03)\quad </math>
|| <math> G(N,t,p) </math>||<math> = </math>||<math>
+\,\mu\,N </math>
|-
|| <math> (03)\quad </math>
|| <math> G(N,S,V) </math>||<math> = </math>||<math>
+\,\mu_{E}^{G}\,N + t_{E}^{G}\,S + p_{E}^{G}\,(-V) </math>
|}
=== Variante a) ===
Zwei neue Variable. <math>S, V</math> kommen, <math>t, p</math> gehen.
(04a) folgt aus (03) und (03a). (05a) folgt aus (02a) und (03a).
{|
|-
|| <math> (01a)\quad </math>
|| <math> -\,S\,dt </math>||<math> = </math>||<math>
+ \left[ 0 - S\frac{\partial t}{\partial N} \right] dN + \left[ 0 - S\frac{\partial t}{\partial S} \right] dS
+ \left[ 0 - S\frac{\partial t}{\partial (-V)}\right] d(-V)\quad (N,S,V) </math>
|-
|| <math> (01a)\quad </math>
|| <math> -\,(-V)\,dp </math>||<math> = </math>||<math>
+ \left[ 0 - (-V)\frac{\partial p}{\partial N} \right] dN + \left[ 0 - (-V)\frac{\partial p}{\partial S} \right] dS
+ \left[ 0 - (-V)\frac{\partial p}{\partial (-V)}\right] d(-V)\quad (N,S,V) </math>
|-
|| <math> (02a)\quad </math>
|| <math> dG(N,S,V) </math>||<math> = </math>||<math>
+ \left[ \mu - S\frac{\partial t}{\partial N} - (-V)\frac{\partial p}{\partial N} \right] dN
+ \left[ 0 - S\frac{\partial t}{\partial S} - (-V)\frac{\partial p}{\partial S} \right] dS </math>
|-
|| <math> \quad\quad </math>
|| <math> </math>||<math> </math>||<math>
+ \left[ 0 - S\frac{\partial t}{\partial (-V)} - (-V)\frac{\partial p}{\partial (-V)} \right] d(-V) </math>
|-
|| <math> (03a)\quad </math>
|| <math> G(N,S,V) </math>||<math> = </math>||<math>
+ \left[ \mu - S\frac{\partial t}{\partial N} - (-V)\frac{\partial p}{\partial N} \right] N
+ \left[ 0 - S\frac{\partial t}{\partial S} - (-V)\frac{\partial p}{\partial S} \right] S </math>
|-
|| <math> \quad\quad </math>
|| <math> </math>||<math> </math>||<math>
+ \left[ 0 - S\frac{\partial t}{\partial (-V)} - (-V)\frac{\partial p}{\partial (-V)} \right] (-V) </math>
|-
|| <math> (04a)\quad </math>
|| <math> 0\,(N,S,V) </math>||<math> = </math>||<math>
+ \left[ 0 - S\frac{\partial t}{\partial N} - (-V)\frac{\partial p}{\partial N} \right] N
+ \left[ 0 - S\frac{\partial t}{\partial S} - (-V)\frac{\partial p}{\partial S} \right] S </math>
|-
|| <math> \quad\quad </math>
|| <math> </math>||<math> </math>||<math>
+ \left[ 0 - S\frac{\partial t}{\partial (-V)} - (-V)\frac{\partial p}{\partial (-V)} \right] (-V) </math>
|-
|| <math> (05a)\quad </math>
|| <math> 0\,(N,S,V) </math>||<math> = </math>||<math>
-\,N\,d\left[ \mu - S\frac{\partial t}{\partial N} - (-V)\frac{\partial p}{\partial N} \right]
- S\,d\left[ 0 - S\frac{\partial t}{\partial S} - (-V)\frac{\partial p}{\partial S} \right] </math>
|-
|| <math> \quad\quad </math>
|| <math> </math>||<math> </math>||<math>
- (-V)\,d\left[ 0 - S\frac{\partial t}{\partial (-V)} - (-V)\frac{\partial p}{\partial (-V)} \right] </math>
|}
=== Variante b) ===
<math>S, V</math> kommen, <math>t, p</math> gehen. Zwei neue Variable.
(04b) folgt aus (03) und (03b). (05b) folgt aus (02b) und (03b).
{|
|-
|| <math> (01b)\quad </math>
|| <math> -\,S\,dt </math>||<math> = </math>||<math>
+ \left[ 0 - S\frac{\partial \mu}{\partial S} \right] dN + \left[ 0 - S\frac{\partial t}{\partial S} \right] dS
+ \left[ 0 - S\frac{\partial p}{\partial S} \right] d(-V)\quad (N,S,V) </math>
|-
|| <math> (01b)\quad </math>
|| <math> -\,(-V)\,dp </math>||<math> = </math>||<math>
+ \left[ 0 - V\frac{\partial \mu}{\partial V} \right] dN + \left[ 0 - V\frac{\partial t}{\partial V} \right] dS
+ \left[ 0 - V\frac{\partial p}{\partial V}\right] d(-V)\quad (N,S,V) </math>
|-
|| <math> (02b)\quad </math>
|| <math> dG(N,S,V) </math>||<math> = </math>||<math>
+ \left[ \mu - S\frac{\partial \mu}{\partial S} - V\frac{\partial \mu}{\partial V} \right] dN
+ \left[ 0 - S\frac{\partial t}{\partial S} - V\frac{\partial t}{\partial V} \right] dS
+ \left[ 0 - S\frac{\partial p}{\partial S} - V\frac{\partial p}{\partial V} \right] d(-V) </math>
|-
|| <math> (03b)\quad </math>
|| <math> G(N,S,V) </math>||<math> = </math>||<math>
+ \left[ \mu - S\frac{\partial \mu}{\partial S} - V\frac{\partial \mu}{\partial V} \right] N
+ \left[ 0 - S\frac{\partial t}{\partial S} - V\frac{\partial t}{\partial V} \right] S
+ \left[ 0 - S\frac{\partial p}{\partial S} - V\frac{\partial p}{\partial V} \right] (-V) </math>
|-
|| <math> (04b)\quad </math>
|| <math> 0\,(N,S,V) </math>||<math> = </math>||<math>
+ \left[ 0 - S\frac{\partial \mu}{\partial S} - V\frac{\partial \mu}{\partial V} \right] N
+ \left[ 0 - S\frac{\partial t}{\partial S} - V\frac{\partial t}{\partial V} \right] S
+ \left[ 0 - S\frac{\partial p}{\partial S} - V\frac{\partial p}{\partial V} \right] (-V) </math>
|-
|| <math> (05b)\quad </math>
|| <math> 0\,(N,S,V) </math>||<math> = </math>||<math>
-\,N\,d\left[ \mu - S\frac{\partial \mu}{\partial S} - V\frac{\partial \mu}{\partial V} \right]
- S\,d\left[ 0 - S\frac{\partial t}{\partial S} - V\frac{\partial t}{\partial V} \right]
-\,(-V)\,d\left[ 0 - S\frac{\partial p}{\partial S} - V\frac{\partial p}{\partial V} \right] </math>
|}
=== Variante c) ===
<math>S, V</math> kommen, <math>t, p</math> gehen. Zwei neue Variable.
(04c) folgt aus (03) und (03c). (05c) folgt aus (02c) und (03c).
{|
|-
|| <math> (01c)\quad </math>
|| <math> -\,S\,dt </math>||<math> = </math>||<math>
+ \left[ 0 + N\frac{\partial \mu}{\partial N} + V\frac{\partial \mu}{\partial V} \right] dN
+ \left[ 0 + N\frac{\partial t}{\partial N} + V\frac{\partial \mu}{\partial V} \right] dS
+ \left[ 0 + N\frac{\partial p}{\partial N} + V\frac{\partial \mu}{\partial V} \right] d(-V) </math>
|-
|| <math> (01c) </math>
|| <math> -\,(-V)\,dp </math>||<math> = </math>||<math>
+ \left[ 0 + N\frac{\partial \mu}{\partial N} + S\frac{\partial \mu}{\partial S} \right] dN
+ \left[ 0 + N\frac{\partial t}{\partial N} + S\frac{\partial \mu}{\partial S} \right] dS
+ \left[ 0 + N\frac{\partial p}{\partial N} + S\frac{\partial \mu}{\partial S} \right] d(-V) </math>
|-
|| <math> (02c)\quad </math>
|| <math> dG(N,S,V) </math>||<math> = </math>||<math>
+ \left[ \mu + N\frac{\partial \mu}{\partial N} \right] dN + \left[ 0 + N\frac{\partial t}{\partial N} \right] dS
+ \left[ 0 + N\frac{\partial p}{\partial N} \right] d(-V) </math>
|-
|| <math> (03c)\quad </math>
|| <math> G(N,S,V) </math>||<math> = </math>||<math>
+ \left[ \mu + N\frac{\partial \mu}{\partial N} \right] N + \left[ 0 + N\frac{\partial t}{\partial N} \right] S
+ \left[ 0 + N\frac{\partial p}{\partial N} \right] (-V) </math>
|-
|| <math> (04c)\quad </math>
|| <math> 0\,(N,S,V) </math>||<math> = </math>||<math>
+ \left[ 0 + N\frac{\partial \mu}{\partial N} \right] N + \left[ 0 + N\frac{\partial t}{\partial N} \right] S
+ \left[ 0 + N\frac{\partial p}{\partial N} \right] (-V) </math>
|-
|| <math> (05c)\quad </math>
|| <math> 0\,(N,S,V) </math>||<math> = </math>||<math>
-\,N\,d\left[ \mu + N\frac{\partial \mu}{\partial N} \right] - S\,d\left[ 0 + N\frac{\partial t}{\partial N} \right]
-\,(-V)\,d\left[ 0 + N\frac{\partial p}{\partial N} \right] </math>
|}
== Herleitungen Energie G ==
l84473ege4jfxysc0ncmebpczq9h701
1091100
1091099
2026-09-19T15:31:31Z
Pelikam
111447
/* Variante b) */
1091100
wikitext
text/x-wiki
[[CPRT|< Inhaltsverzeichnis - CPRT]]
== Energie G ==
{|
|-
|| <math> (01)\quad </math>
|| <math> dE(N,S,V) </math>||<math> = </math>||<math>
+\,\mu\,dN + t\,dS + p\,d(-V) </math>
|-
|| <math> (02)\quad </math>
|| <math> dG(N,t,p) </math>||<math> = </math>||<math>
+\,\mu\,dN - S\,dt -(-V)\,dp </math>
|-
|| <math> (02)\quad </math>
|| <math> dG(N,S,V) </math>||<math> = </math>||<math>
+\,\mu_{E}^{G}\,dN + t_{E}^{G}\,dS + p_{E}^{G}\,d(-V) </math>
|-
|| <math> (03)\quad </math>
|| <math> G(N,t,p) </math>||<math> = </math>||<math>
+\,\mu\,N </math>
|-
|| <math> (03)\quad </math>
|| <math> G(N,S,V) </math>||<math> = </math>||<math>
+\,\mu_{E}^{G}\,N + t_{E}^{G}\,S + p_{E}^{G}\,(-V) </math>
|}
=== Variante a) ===
Zwei neue Variable. <math>S, V</math> kommen, <math>t, p</math> gehen.
(04a) folgt aus (03) und (03a). (05a) folgt aus (02a) und (03a).
{|
|-
|| <math> (01a)\quad </math>
|| <math> -\,S\,dt </math>||<math> = </math>||<math>
+ \left[ 0 - S\frac{\partial t}{\partial N} \right] dN + \left[ 0 - S\frac{\partial t}{\partial S} \right] dS
+ \left[ 0 - S\frac{\partial t}{\partial (-V)}\right] d(-V)\quad (N,S,V) </math>
|-
|| <math> (01a)\quad </math>
|| <math> -\,(-V)\,dp </math>||<math> = </math>||<math>
+ \left[ 0 - (-V)\frac{\partial p}{\partial N} \right] dN + \left[ 0 - (-V)\frac{\partial p}{\partial S} \right] dS
+ \left[ 0 - (-V)\frac{\partial p}{\partial (-V)}\right] d(-V)\quad (N,S,V) </math>
|-
|| <math> (02a)\quad </math>
|| <math> dG(N,S,V) </math>||<math> = </math>||<math>
+ \left[ \mu - S\frac{\partial t}{\partial N} - (-V)\frac{\partial p}{\partial N} \right] dN
+ \left[ 0 - S\frac{\partial t}{\partial S} - (-V)\frac{\partial p}{\partial S} \right] dS </math>
|-
|| <math> \quad\quad </math>
|| <math> </math>||<math> </math>||<math>
+ \left[ 0 - S\frac{\partial t}{\partial (-V)} - (-V)\frac{\partial p}{\partial (-V)} \right] d(-V) </math>
|-
|| <math> (03a)\quad </math>
|| <math> G(N,S,V) </math>||<math> = </math>||<math>
+ \left[ \mu - S\frac{\partial t}{\partial N} - (-V)\frac{\partial p}{\partial N} \right] N
+ \left[ 0 - S\frac{\partial t}{\partial S} - (-V)\frac{\partial p}{\partial S} \right] S </math>
|-
|| <math> \quad\quad </math>
|| <math> </math>||<math> </math>||<math>
+ \left[ 0 - S\frac{\partial t}{\partial (-V)} - (-V)\frac{\partial p}{\partial (-V)} \right] (-V) </math>
|-
|| <math> (04a)\quad </math>
|| <math> 0\,(N,S,V) </math>||<math> = </math>||<math>
+ \left[ 0 - S\frac{\partial t}{\partial N} - (-V)\frac{\partial p}{\partial N} \right] N
+ \left[ 0 - S\frac{\partial t}{\partial S} - (-V)\frac{\partial p}{\partial S} \right] S </math>
|-
|| <math> \quad\quad </math>
|| <math> </math>||<math> </math>||<math>
+ \left[ 0 - S\frac{\partial t}{\partial (-V)} - (-V)\frac{\partial p}{\partial (-V)} \right] (-V) </math>
|-
|| <math> (05a)\quad </math>
|| <math> 0\,(N,S,V) </math>||<math> = </math>||<math>
-\,N\,d\left[ \mu - S\frac{\partial t}{\partial N} - (-V)\frac{\partial p}{\partial N} \right]
- S\,d\left[ 0 - S\frac{\partial t}{\partial S} - (-V)\frac{\partial p}{\partial S} \right] </math>
|-
|| <math> \quad\quad </math>
|| <math> </math>||<math> </math>||<math>
- (-V)\,d\left[ 0 - S\frac{\partial t}{\partial (-V)} - (-V)\frac{\partial p}{\partial (-V)} \right] </math>
|}
=== Variante b) ===
Zwei neue Variable. <math>S, V</math> kommen, <math>t, p</math> gehen.
(04b) folgt aus (03) und (03b). (05b) folgt aus (02b) und (03b).
{|
|-
|| <math> (01b)\quad </math>
|| <math> -\,S\,dt </math>||<math> = </math>||<math>
+ \left[ 0 - S\frac{\partial \mu}{\partial S} \right] dN + \left[ 0 - S\frac{\partial t}{\partial S} \right] dS
+ \left[ 0 - S\frac{\partial p}{\partial S} \right] d(-V)\quad (N,S,V) </math>
|-
|| <math> (01b)\quad </math>
|| <math> -\,(-V)\,dp </math>||<math> = </math>||<math>
+ \left[ 0 - V\frac{\partial \mu}{\partial V} \right] dN + \left[ 0 - V\frac{\partial t}{\partial V} \right] dS
+ \left[ 0 - V\frac{\partial p}{\partial V}\right] d(-V)\quad (N,S,V) </math>
|-
|| <math> (02b)\quad </math>
|| <math> dG(N,S,V) </math>||<math> = </math>||<math>
+ \left[ \mu - S\frac{\partial \mu}{\partial S} - V\frac{\partial \mu}{\partial V} \right] dN
+ \left[ 0 - S\frac{\partial t}{\partial S} - V\frac{\partial t}{\partial V} \right] dS
+ \left[ 0 - S\frac{\partial p}{\partial S} - V\frac{\partial p}{\partial V} \right] d(-V) </math>
|-
|| <math> (03b)\quad </math>
|| <math> G(N,S,V) </math>||<math> = </math>||<math>
+ \left[ \mu - S\frac{\partial \mu}{\partial S} - V\frac{\partial \mu}{\partial V} \right] N
+ \left[ 0 - S\frac{\partial t}{\partial S} - V\frac{\partial t}{\partial V} \right] S
+ \left[ 0 - S\frac{\partial p}{\partial S} - V\frac{\partial p}{\partial V} \right] (-V) </math>
|-
|| <math> (04b)\quad </math>
|| <math> 0\,(N,S,V) </math>||<math> = </math>||<math>
+ \left[ 0 - S\frac{\partial \mu}{\partial S} - V\frac{\partial \mu}{\partial V} \right] N
+ \left[ 0 - S\frac{\partial t}{\partial S} - V\frac{\partial t}{\partial V} \right] S
+ \left[ 0 - S\frac{\partial p}{\partial S} - V\frac{\partial p}{\partial V} \right] (-V) </math>
|-
|| <math> (05b)\quad </math>
|| <math> 0\,(N,S,V) </math>||<math> = </math>||<math>
-\,N\,d\left[ \mu - S\frac{\partial \mu}{\partial S} - V\frac{\partial \mu}{\partial V} \right]
- S\,d\left[ 0 - S\frac{\partial t}{\partial S} - V\frac{\partial t}{\partial V} \right]
-\,(-V)\,d\left[ 0 - S\frac{\partial p}{\partial S} - V\frac{\partial p}{\partial V} \right] </math>
|}
=== Variante c) ===
<math>S, V</math> kommen, <math>t, p</math> gehen. Zwei neue Variable.
(04c) folgt aus (03) und (03c). (05c) folgt aus (02c) und (03c).
{|
|-
|| <math> (01c)\quad </math>
|| <math> -\,S\,dt </math>||<math> = </math>||<math>
+ \left[ 0 + N\frac{\partial \mu}{\partial N} + V\frac{\partial \mu}{\partial V} \right] dN
+ \left[ 0 + N\frac{\partial t}{\partial N} + V\frac{\partial \mu}{\partial V} \right] dS
+ \left[ 0 + N\frac{\partial p}{\partial N} + V\frac{\partial \mu}{\partial V} \right] d(-V) </math>
|-
|| <math> (01c) </math>
|| <math> -\,(-V)\,dp </math>||<math> = </math>||<math>
+ \left[ 0 + N\frac{\partial \mu}{\partial N} + S\frac{\partial \mu}{\partial S} \right] dN
+ \left[ 0 + N\frac{\partial t}{\partial N} + S\frac{\partial \mu}{\partial S} \right] dS
+ \left[ 0 + N\frac{\partial p}{\partial N} + S\frac{\partial \mu}{\partial S} \right] d(-V) </math>
|-
|| <math> (02c)\quad </math>
|| <math> dG(N,S,V) </math>||<math> = </math>||<math>
+ \left[ \mu + N\frac{\partial \mu}{\partial N} \right] dN + \left[ 0 + N\frac{\partial t}{\partial N} \right] dS
+ \left[ 0 + N\frac{\partial p}{\partial N} \right] d(-V) </math>
|-
|| <math> (03c)\quad </math>
|| <math> G(N,S,V) </math>||<math> = </math>||<math>
+ \left[ \mu + N\frac{\partial \mu}{\partial N} \right] N + \left[ 0 + N\frac{\partial t}{\partial N} \right] S
+ \left[ 0 + N\frac{\partial p}{\partial N} \right] (-V) </math>
|-
|| <math> (04c)\quad </math>
|| <math> 0\,(N,S,V) </math>||<math> = </math>||<math>
+ \left[ 0 + N\frac{\partial \mu}{\partial N} \right] N + \left[ 0 + N\frac{\partial t}{\partial N} \right] S
+ \left[ 0 + N\frac{\partial p}{\partial N} \right] (-V) </math>
|-
|| <math> (05c)\quad </math>
|| <math> 0\,(N,S,V) </math>||<math> = </math>||<math>
-\,N\,d\left[ \mu + N\frac{\partial \mu}{\partial N} \right] - S\,d\left[ 0 + N\frac{\partial t}{\partial N} \right]
-\,(-V)\,d\left[ 0 + N\frac{\partial p}{\partial N} \right] </math>
|}
== Herleitungen Energie G ==
j71guvs606s767ljjnd5semcns13l46
1091102
1091100
2026-09-19T15:32:02Z
Pelikam
111447
/* Variante a) */
1091102
wikitext
text/x-wiki
[[CPRT|< Inhaltsverzeichnis - CPRT]]
== Energie G ==
{|
|-
|| <math> (01)\quad </math>
|| <math> dE(N,S,V) </math>||<math> = </math>||<math>
+\,\mu\,dN + t\,dS + p\,d(-V) </math>
|-
|| <math> (02)\quad </math>
|| <math> dG(N,t,p) </math>||<math> = </math>||<math>
+\,\mu\,dN - S\,dt -(-V)\,dp </math>
|-
|| <math> (02)\quad </math>
|| <math> dG(N,S,V) </math>||<math> = </math>||<math>
+\,\mu_{E}^{G}\,dN + t_{E}^{G}\,dS + p_{E}^{G}\,d(-V) </math>
|-
|| <math> (03)\quad </math>
|| <math> G(N,t,p) </math>||<math> = </math>||<math>
+\,\mu\,N </math>
|-
|| <math> (03)\quad </math>
|| <math> G(N,S,V) </math>||<math> = </math>||<math>
+\,\mu_{E}^{G}\,N + t_{E}^{G}\,S + p_{E}^{G}\,(-V) </math>
|}
=== Variante a) ===
Zwei neue Variable: <math>S, V</math> kommen, <math>t, p</math> gehen.
(04a) folgt aus (03) und (03a). (05a) folgt aus (02a) und (03a).
{|
|-
|| <math> (01a)\quad </math>
|| <math> -\,S\,dt </math>||<math> = </math>||<math>
+ \left[ 0 - S\frac{\partial t}{\partial N} \right] dN + \left[ 0 - S\frac{\partial t}{\partial S} \right] dS
+ \left[ 0 - S\frac{\partial t}{\partial (-V)}\right] d(-V)\quad (N,S,V) </math>
|-
|| <math> (01a)\quad </math>
|| <math> -\,(-V)\,dp </math>||<math> = </math>||<math>
+ \left[ 0 - (-V)\frac{\partial p}{\partial N} \right] dN + \left[ 0 - (-V)\frac{\partial p}{\partial S} \right] dS
+ \left[ 0 - (-V)\frac{\partial p}{\partial (-V)}\right] d(-V)\quad (N,S,V) </math>
|-
|| <math> (02a)\quad </math>
|| <math> dG(N,S,V) </math>||<math> = </math>||<math>
+ \left[ \mu - S\frac{\partial t}{\partial N} - (-V)\frac{\partial p}{\partial N} \right] dN
+ \left[ 0 - S\frac{\partial t}{\partial S} - (-V)\frac{\partial p}{\partial S} \right] dS </math>
|-
|| <math> \quad\quad </math>
|| <math> </math>||<math> </math>||<math>
+ \left[ 0 - S\frac{\partial t}{\partial (-V)} - (-V)\frac{\partial p}{\partial (-V)} \right] d(-V) </math>
|-
|| <math> (03a)\quad </math>
|| <math> G(N,S,V) </math>||<math> = </math>||<math>
+ \left[ \mu - S\frac{\partial t}{\partial N} - (-V)\frac{\partial p}{\partial N} \right] N
+ \left[ 0 - S\frac{\partial t}{\partial S} - (-V)\frac{\partial p}{\partial S} \right] S </math>
|-
|| <math> \quad\quad </math>
|| <math> </math>||<math> </math>||<math>
+ \left[ 0 - S\frac{\partial t}{\partial (-V)} - (-V)\frac{\partial p}{\partial (-V)} \right] (-V) </math>
|-
|| <math> (04a)\quad </math>
|| <math> 0\,(N,S,V) </math>||<math> = </math>||<math>
+ \left[ 0 - S\frac{\partial t}{\partial N} - (-V)\frac{\partial p}{\partial N} \right] N
+ \left[ 0 - S\frac{\partial t}{\partial S} - (-V)\frac{\partial p}{\partial S} \right] S </math>
|-
|| <math> \quad\quad </math>
|| <math> </math>||<math> </math>||<math>
+ \left[ 0 - S\frac{\partial t}{\partial (-V)} - (-V)\frac{\partial p}{\partial (-V)} \right] (-V) </math>
|-
|| <math> (05a)\quad </math>
|| <math> 0\,(N,S,V) </math>||<math> = </math>||<math>
-\,N\,d\left[ \mu - S\frac{\partial t}{\partial N} - (-V)\frac{\partial p}{\partial N} \right]
- S\,d\left[ 0 - S\frac{\partial t}{\partial S} - (-V)\frac{\partial p}{\partial S} \right] </math>
|-
|| <math> \quad\quad </math>
|| <math> </math>||<math> </math>||<math>
- (-V)\,d\left[ 0 - S\frac{\partial t}{\partial (-V)} - (-V)\frac{\partial p}{\partial (-V)} \right] </math>
|}
=== Variante b) ===
Zwei neue Variable. <math>S, V</math> kommen, <math>t, p</math> gehen.
(04b) folgt aus (03) und (03b). (05b) folgt aus (02b) und (03b).
{|
|-
|| <math> (01b)\quad </math>
|| <math> -\,S\,dt </math>||<math> = </math>||<math>
+ \left[ 0 - S\frac{\partial \mu}{\partial S} \right] dN + \left[ 0 - S\frac{\partial t}{\partial S} \right] dS
+ \left[ 0 - S\frac{\partial p}{\partial S} \right] d(-V)\quad (N,S,V) </math>
|-
|| <math> (01b)\quad </math>
|| <math> -\,(-V)\,dp </math>||<math> = </math>||<math>
+ \left[ 0 - V\frac{\partial \mu}{\partial V} \right] dN + \left[ 0 - V\frac{\partial t}{\partial V} \right] dS
+ \left[ 0 - V\frac{\partial p}{\partial V}\right] d(-V)\quad (N,S,V) </math>
|-
|| <math> (02b)\quad </math>
|| <math> dG(N,S,V) </math>||<math> = </math>||<math>
+ \left[ \mu - S\frac{\partial \mu}{\partial S} - V\frac{\partial \mu}{\partial V} \right] dN
+ \left[ 0 - S\frac{\partial t}{\partial S} - V\frac{\partial t}{\partial V} \right] dS
+ \left[ 0 - S\frac{\partial p}{\partial S} - V\frac{\partial p}{\partial V} \right] d(-V) </math>
|-
|| <math> (03b)\quad </math>
|| <math> G(N,S,V) </math>||<math> = </math>||<math>
+ \left[ \mu - S\frac{\partial \mu}{\partial S} - V\frac{\partial \mu}{\partial V} \right] N
+ \left[ 0 - S\frac{\partial t}{\partial S} - V\frac{\partial t}{\partial V} \right] S
+ \left[ 0 - S\frac{\partial p}{\partial S} - V\frac{\partial p}{\partial V} \right] (-V) </math>
|-
|| <math> (04b)\quad </math>
|| <math> 0\,(N,S,V) </math>||<math> = </math>||<math>
+ \left[ 0 - S\frac{\partial \mu}{\partial S} - V\frac{\partial \mu}{\partial V} \right] N
+ \left[ 0 - S\frac{\partial t}{\partial S} - V\frac{\partial t}{\partial V} \right] S
+ \left[ 0 - S\frac{\partial p}{\partial S} - V\frac{\partial p}{\partial V} \right] (-V) </math>
|-
|| <math> (05b)\quad </math>
|| <math> 0\,(N,S,V) </math>||<math> = </math>||<math>
-\,N\,d\left[ \mu - S\frac{\partial \mu}{\partial S} - V\frac{\partial \mu}{\partial V} \right]
- S\,d\left[ 0 - S\frac{\partial t}{\partial S} - V\frac{\partial t}{\partial V} \right]
-\,(-V)\,d\left[ 0 - S\frac{\partial p}{\partial S} - V\frac{\partial p}{\partial V} \right] </math>
|}
=== Variante c) ===
<math>S, V</math> kommen, <math>t, p</math> gehen. Zwei neue Variable.
(04c) folgt aus (03) und (03c). (05c) folgt aus (02c) und (03c).
{|
|-
|| <math> (01c)\quad </math>
|| <math> -\,S\,dt </math>||<math> = </math>||<math>
+ \left[ 0 + N\frac{\partial \mu}{\partial N} + V\frac{\partial \mu}{\partial V} \right] dN
+ \left[ 0 + N\frac{\partial t}{\partial N} + V\frac{\partial \mu}{\partial V} \right] dS
+ \left[ 0 + N\frac{\partial p}{\partial N} + V\frac{\partial \mu}{\partial V} \right] d(-V) </math>
|-
|| <math> (01c) </math>
|| <math> -\,(-V)\,dp </math>||<math> = </math>||<math>
+ \left[ 0 + N\frac{\partial \mu}{\partial N} + S\frac{\partial \mu}{\partial S} \right] dN
+ \left[ 0 + N\frac{\partial t}{\partial N} + S\frac{\partial \mu}{\partial S} \right] dS
+ \left[ 0 + N\frac{\partial p}{\partial N} + S\frac{\partial \mu}{\partial S} \right] d(-V) </math>
|-
|| <math> (02c)\quad </math>
|| <math> dG(N,S,V) </math>||<math> = </math>||<math>
+ \left[ \mu + N\frac{\partial \mu}{\partial N} \right] dN + \left[ 0 + N\frac{\partial t}{\partial N} \right] dS
+ \left[ 0 + N\frac{\partial p}{\partial N} \right] d(-V) </math>
|-
|| <math> (03c)\quad </math>
|| <math> G(N,S,V) </math>||<math> = </math>||<math>
+ \left[ \mu + N\frac{\partial \mu}{\partial N} \right] N + \left[ 0 + N\frac{\partial t}{\partial N} \right] S
+ \left[ 0 + N\frac{\partial p}{\partial N} \right] (-V) </math>
|-
|| <math> (04c)\quad </math>
|| <math> 0\,(N,S,V) </math>||<math> = </math>||<math>
+ \left[ 0 + N\frac{\partial \mu}{\partial N} \right] N + \left[ 0 + N\frac{\partial t}{\partial N} \right] S
+ \left[ 0 + N\frac{\partial p}{\partial N} \right] (-V) </math>
|-
|| <math> (05c)\quad </math>
|| <math> 0\,(N,S,V) </math>||<math> = </math>||<math>
-\,N\,d\left[ \mu + N\frac{\partial \mu}{\partial N} \right] - S\,d\left[ 0 + N\frac{\partial t}{\partial N} \right]
-\,(-V)\,d\left[ 0 + N\frac{\partial p}{\partial N} \right] </math>
|}
== Herleitungen Energie G ==
3zgl2dq71g8nkq6nfgmyt42lstioa2z
1091103
1091102
2026-09-19T15:32:21Z
Pelikam
111447
/* Variante b) */
1091103
wikitext
text/x-wiki
[[CPRT|< Inhaltsverzeichnis - CPRT]]
== Energie G ==
{|
|-
|| <math> (01)\quad </math>
|| <math> dE(N,S,V) </math>||<math> = </math>||<math>
+\,\mu\,dN + t\,dS + p\,d(-V) </math>
|-
|| <math> (02)\quad </math>
|| <math> dG(N,t,p) </math>||<math> = </math>||<math>
+\,\mu\,dN - S\,dt -(-V)\,dp </math>
|-
|| <math> (02)\quad </math>
|| <math> dG(N,S,V) </math>||<math> = </math>||<math>
+\,\mu_{E}^{G}\,dN + t_{E}^{G}\,dS + p_{E}^{G}\,d(-V) </math>
|-
|| <math> (03)\quad </math>
|| <math> G(N,t,p) </math>||<math> = </math>||<math>
+\,\mu\,N </math>
|-
|| <math> (03)\quad </math>
|| <math> G(N,S,V) </math>||<math> = </math>||<math>
+\,\mu_{E}^{G}\,N + t_{E}^{G}\,S + p_{E}^{G}\,(-V) </math>
|}
=== Variante a) ===
Zwei neue Variable: <math>S, V</math> kommen, <math>t, p</math> gehen.
(04a) folgt aus (03) und (03a). (05a) folgt aus (02a) und (03a).
{|
|-
|| <math> (01a)\quad </math>
|| <math> -\,S\,dt </math>||<math> = </math>||<math>
+ \left[ 0 - S\frac{\partial t}{\partial N} \right] dN + \left[ 0 - S\frac{\partial t}{\partial S} \right] dS
+ \left[ 0 - S\frac{\partial t}{\partial (-V)}\right] d(-V)\quad (N,S,V) </math>
|-
|| <math> (01a)\quad </math>
|| <math> -\,(-V)\,dp </math>||<math> = </math>||<math>
+ \left[ 0 - (-V)\frac{\partial p}{\partial N} \right] dN + \left[ 0 - (-V)\frac{\partial p}{\partial S} \right] dS
+ \left[ 0 - (-V)\frac{\partial p}{\partial (-V)}\right] d(-V)\quad (N,S,V) </math>
|-
|| <math> (02a)\quad </math>
|| <math> dG(N,S,V) </math>||<math> = </math>||<math>
+ \left[ \mu - S\frac{\partial t}{\partial N} - (-V)\frac{\partial p}{\partial N} \right] dN
+ \left[ 0 - S\frac{\partial t}{\partial S} - (-V)\frac{\partial p}{\partial S} \right] dS </math>
|-
|| <math> \quad\quad </math>
|| <math> </math>||<math> </math>||<math>
+ \left[ 0 - S\frac{\partial t}{\partial (-V)} - (-V)\frac{\partial p}{\partial (-V)} \right] d(-V) </math>
|-
|| <math> (03a)\quad </math>
|| <math> G(N,S,V) </math>||<math> = </math>||<math>
+ \left[ \mu - S\frac{\partial t}{\partial N} - (-V)\frac{\partial p}{\partial N} \right] N
+ \left[ 0 - S\frac{\partial t}{\partial S} - (-V)\frac{\partial p}{\partial S} \right] S </math>
|-
|| <math> \quad\quad </math>
|| <math> </math>||<math> </math>||<math>
+ \left[ 0 - S\frac{\partial t}{\partial (-V)} - (-V)\frac{\partial p}{\partial (-V)} \right] (-V) </math>
|-
|| <math> (04a)\quad </math>
|| <math> 0\,(N,S,V) </math>||<math> = </math>||<math>
+ \left[ 0 - S\frac{\partial t}{\partial N} - (-V)\frac{\partial p}{\partial N} \right] N
+ \left[ 0 - S\frac{\partial t}{\partial S} - (-V)\frac{\partial p}{\partial S} \right] S </math>
|-
|| <math> \quad\quad </math>
|| <math> </math>||<math> </math>||<math>
+ \left[ 0 - S\frac{\partial t}{\partial (-V)} - (-V)\frac{\partial p}{\partial (-V)} \right] (-V) </math>
|-
|| <math> (05a)\quad </math>
|| <math> 0\,(N,S,V) </math>||<math> = </math>||<math>
-\,N\,d\left[ \mu - S\frac{\partial t}{\partial N} - (-V)\frac{\partial p}{\partial N} \right]
- S\,d\left[ 0 - S\frac{\partial t}{\partial S} - (-V)\frac{\partial p}{\partial S} \right] </math>
|-
|| <math> \quad\quad </math>
|| <math> </math>||<math> </math>||<math>
- (-V)\,d\left[ 0 - S\frac{\partial t}{\partial (-V)} - (-V)\frac{\partial p}{\partial (-V)} \right] </math>
|}
=== Variante b) ===
Zwei neue Variable: <math>S, V</math> kommen, <math>t, p</math> gehen.
(04b) folgt aus (03) und (03b). (05b) folgt aus (02b) und (03b).
{|
|-
|| <math> (01b)\quad </math>
|| <math> -\,S\,dt </math>||<math> = </math>||<math>
+ \left[ 0 - S\frac{\partial \mu}{\partial S} \right] dN + \left[ 0 - S\frac{\partial t}{\partial S} \right] dS
+ \left[ 0 - S\frac{\partial p}{\partial S} \right] d(-V)\quad (N,S,V) </math>
|-
|| <math> (01b)\quad </math>
|| <math> -\,(-V)\,dp </math>||<math> = </math>||<math>
+ \left[ 0 - V\frac{\partial \mu}{\partial V} \right] dN + \left[ 0 - V\frac{\partial t}{\partial V} \right] dS
+ \left[ 0 - V\frac{\partial p}{\partial V}\right] d(-V)\quad (N,S,V) </math>
|-
|| <math> (02b)\quad </math>
|| <math> dG(N,S,V) </math>||<math> = </math>||<math>
+ \left[ \mu - S\frac{\partial \mu}{\partial S} - V\frac{\partial \mu}{\partial V} \right] dN
+ \left[ 0 - S\frac{\partial t}{\partial S} - V\frac{\partial t}{\partial V} \right] dS
+ \left[ 0 - S\frac{\partial p}{\partial S} - V\frac{\partial p}{\partial V} \right] d(-V) </math>
|-
|| <math> (03b)\quad </math>
|| <math> G(N,S,V) </math>||<math> = </math>||<math>
+ \left[ \mu - S\frac{\partial \mu}{\partial S} - V\frac{\partial \mu}{\partial V} \right] N
+ \left[ 0 - S\frac{\partial t}{\partial S} - V\frac{\partial t}{\partial V} \right] S
+ \left[ 0 - S\frac{\partial p}{\partial S} - V\frac{\partial p}{\partial V} \right] (-V) </math>
|-
|| <math> (04b)\quad </math>
|| <math> 0\,(N,S,V) </math>||<math> = </math>||<math>
+ \left[ 0 - S\frac{\partial \mu}{\partial S} - V\frac{\partial \mu}{\partial V} \right] N
+ \left[ 0 - S\frac{\partial t}{\partial S} - V\frac{\partial t}{\partial V} \right] S
+ \left[ 0 - S\frac{\partial p}{\partial S} - V\frac{\partial p}{\partial V} \right] (-V) </math>
|-
|| <math> (05b)\quad </math>
|| <math> 0\,(N,S,V) </math>||<math> = </math>||<math>
-\,N\,d\left[ \mu - S\frac{\partial \mu}{\partial S} - V\frac{\partial \mu}{\partial V} \right]
- S\,d\left[ 0 - S\frac{\partial t}{\partial S} - V\frac{\partial t}{\partial V} \right]
-\,(-V)\,d\left[ 0 - S\frac{\partial p}{\partial S} - V\frac{\partial p}{\partial V} \right] </math>
|}
=== Variante c) ===
<math>S, V</math> kommen, <math>t, p</math> gehen. Zwei neue Variable.
(04c) folgt aus (03) und (03c). (05c) folgt aus (02c) und (03c).
{|
|-
|| <math> (01c)\quad </math>
|| <math> -\,S\,dt </math>||<math> = </math>||<math>
+ \left[ 0 + N\frac{\partial \mu}{\partial N} + V\frac{\partial \mu}{\partial V} \right] dN
+ \left[ 0 + N\frac{\partial t}{\partial N} + V\frac{\partial \mu}{\partial V} \right] dS
+ \left[ 0 + N\frac{\partial p}{\partial N} + V\frac{\partial \mu}{\partial V} \right] d(-V) </math>
|-
|| <math> (01c) </math>
|| <math> -\,(-V)\,dp </math>||<math> = </math>||<math>
+ \left[ 0 + N\frac{\partial \mu}{\partial N} + S\frac{\partial \mu}{\partial S} \right] dN
+ \left[ 0 + N\frac{\partial t}{\partial N} + S\frac{\partial \mu}{\partial S} \right] dS
+ \left[ 0 + N\frac{\partial p}{\partial N} + S\frac{\partial \mu}{\partial S} \right] d(-V) </math>
|-
|| <math> (02c)\quad </math>
|| <math> dG(N,S,V) </math>||<math> = </math>||<math>
+ \left[ \mu + N\frac{\partial \mu}{\partial N} \right] dN + \left[ 0 + N\frac{\partial t}{\partial N} \right] dS
+ \left[ 0 + N\frac{\partial p}{\partial N} \right] d(-V) </math>
|-
|| <math> (03c)\quad </math>
|| <math> G(N,S,V) </math>||<math> = </math>||<math>
+ \left[ \mu + N\frac{\partial \mu}{\partial N} \right] N + \left[ 0 + N\frac{\partial t}{\partial N} \right] S
+ \left[ 0 + N\frac{\partial p}{\partial N} \right] (-V) </math>
|-
|| <math> (04c)\quad </math>
|| <math> 0\,(N,S,V) </math>||<math> = </math>||<math>
+ \left[ 0 + N\frac{\partial \mu}{\partial N} \right] N + \left[ 0 + N\frac{\partial t}{\partial N} \right] S
+ \left[ 0 + N\frac{\partial p}{\partial N} \right] (-V) </math>
|-
|| <math> (05c)\quad </math>
|| <math> 0\,(N,S,V) </math>||<math> = </math>||<math>
-\,N\,d\left[ \mu + N\frac{\partial \mu}{\partial N} \right] - S\,d\left[ 0 + N\frac{\partial t}{\partial N} \right]
-\,(-V)\,d\left[ 0 + N\frac{\partial p}{\partial N} \right] </math>
|}
== Herleitungen Energie G ==
njitk97nuisy74ipr8mxmxedccwe4fy
1091104
1091103
2026-09-19T15:33:12Z
Pelikam
111447
/* Variante c) */
1091104
wikitext
text/x-wiki
[[CPRT|< Inhaltsverzeichnis - CPRT]]
== Energie G ==
{|
|-
|| <math> (01)\quad </math>
|| <math> dE(N,S,V) </math>||<math> = </math>||<math>
+\,\mu\,dN + t\,dS + p\,d(-V) </math>
|-
|| <math> (02)\quad </math>
|| <math> dG(N,t,p) </math>||<math> = </math>||<math>
+\,\mu\,dN - S\,dt -(-V)\,dp </math>
|-
|| <math> (02)\quad </math>
|| <math> dG(N,S,V) </math>||<math> = </math>||<math>
+\,\mu_{E}^{G}\,dN + t_{E}^{G}\,dS + p_{E}^{G}\,d(-V) </math>
|-
|| <math> (03)\quad </math>
|| <math> G(N,t,p) </math>||<math> = </math>||<math>
+\,\mu\,N </math>
|-
|| <math> (03)\quad </math>
|| <math> G(N,S,V) </math>||<math> = </math>||<math>
+\,\mu_{E}^{G}\,N + t_{E}^{G}\,S + p_{E}^{G}\,(-V) </math>
|}
=== Variante a) ===
Zwei neue Variable: <math>S, V</math> kommen, <math>t, p</math> gehen.
(04a) folgt aus (03) und (03a). (05a) folgt aus (02a) und (03a).
{|
|-
|| <math> (01a)\quad </math>
|| <math> -\,S\,dt </math>||<math> = </math>||<math>
+ \left[ 0 - S\frac{\partial t}{\partial N} \right] dN + \left[ 0 - S\frac{\partial t}{\partial S} \right] dS
+ \left[ 0 - S\frac{\partial t}{\partial (-V)}\right] d(-V)\quad (N,S,V) </math>
|-
|| <math> (01a)\quad </math>
|| <math> -\,(-V)\,dp </math>||<math> = </math>||<math>
+ \left[ 0 - (-V)\frac{\partial p}{\partial N} \right] dN + \left[ 0 - (-V)\frac{\partial p}{\partial S} \right] dS
+ \left[ 0 - (-V)\frac{\partial p}{\partial (-V)}\right] d(-V)\quad (N,S,V) </math>
|-
|| <math> (02a)\quad </math>
|| <math> dG(N,S,V) </math>||<math> = </math>||<math>
+ \left[ \mu - S\frac{\partial t}{\partial N} - (-V)\frac{\partial p}{\partial N} \right] dN
+ \left[ 0 - S\frac{\partial t}{\partial S} - (-V)\frac{\partial p}{\partial S} \right] dS </math>
|-
|| <math> \quad\quad </math>
|| <math> </math>||<math> </math>||<math>
+ \left[ 0 - S\frac{\partial t}{\partial (-V)} - (-V)\frac{\partial p}{\partial (-V)} \right] d(-V) </math>
|-
|| <math> (03a)\quad </math>
|| <math> G(N,S,V) </math>||<math> = </math>||<math>
+ \left[ \mu - S\frac{\partial t}{\partial N} - (-V)\frac{\partial p}{\partial N} \right] N
+ \left[ 0 - S\frac{\partial t}{\partial S} - (-V)\frac{\partial p}{\partial S} \right] S </math>
|-
|| <math> \quad\quad </math>
|| <math> </math>||<math> </math>||<math>
+ \left[ 0 - S\frac{\partial t}{\partial (-V)} - (-V)\frac{\partial p}{\partial (-V)} \right] (-V) </math>
|-
|| <math> (04a)\quad </math>
|| <math> 0\,(N,S,V) </math>||<math> = </math>||<math>
+ \left[ 0 - S\frac{\partial t}{\partial N} - (-V)\frac{\partial p}{\partial N} \right] N
+ \left[ 0 - S\frac{\partial t}{\partial S} - (-V)\frac{\partial p}{\partial S} \right] S </math>
|-
|| <math> \quad\quad </math>
|| <math> </math>||<math> </math>||<math>
+ \left[ 0 - S\frac{\partial t}{\partial (-V)} - (-V)\frac{\partial p}{\partial (-V)} \right] (-V) </math>
|-
|| <math> (05a)\quad </math>
|| <math> 0\,(N,S,V) </math>||<math> = </math>||<math>
-\,N\,d\left[ \mu - S\frac{\partial t}{\partial N} - (-V)\frac{\partial p}{\partial N} \right]
- S\,d\left[ 0 - S\frac{\partial t}{\partial S} - (-V)\frac{\partial p}{\partial S} \right] </math>
|-
|| <math> \quad\quad </math>
|| <math> </math>||<math> </math>||<math>
- (-V)\,d\left[ 0 - S\frac{\partial t}{\partial (-V)} - (-V)\frac{\partial p}{\partial (-V)} \right] </math>
|}
=== Variante b) ===
Zwei neue Variable: <math>S, V</math> kommen, <math>t, p</math> gehen.
(04b) folgt aus (03) und (03b). (05b) folgt aus (02b) und (03b).
{|
|-
|| <math> (01b)\quad </math>
|| <math> -\,S\,dt </math>||<math> = </math>||<math>
+ \left[ 0 - S\frac{\partial \mu}{\partial S} \right] dN + \left[ 0 - S\frac{\partial t}{\partial S} \right] dS
+ \left[ 0 - S\frac{\partial p}{\partial S} \right] d(-V)\quad (N,S,V) </math>
|-
|| <math> (01b)\quad </math>
|| <math> -\,(-V)\,dp </math>||<math> = </math>||<math>
+ \left[ 0 - V\frac{\partial \mu}{\partial V} \right] dN + \left[ 0 - V\frac{\partial t}{\partial V} \right] dS
+ \left[ 0 - V\frac{\partial p}{\partial V}\right] d(-V)\quad (N,S,V) </math>
|-
|| <math> (02b)\quad </math>
|| <math> dG(N,S,V) </math>||<math> = </math>||<math>
+ \left[ \mu - S\frac{\partial \mu}{\partial S} - V\frac{\partial \mu}{\partial V} \right] dN
+ \left[ 0 - S\frac{\partial t}{\partial S} - V\frac{\partial t}{\partial V} \right] dS
+ \left[ 0 - S\frac{\partial p}{\partial S} - V\frac{\partial p}{\partial V} \right] d(-V) </math>
|-
|| <math> (03b)\quad </math>
|| <math> G(N,S,V) </math>||<math> = </math>||<math>
+ \left[ \mu - S\frac{\partial \mu}{\partial S} - V\frac{\partial \mu}{\partial V} \right] N
+ \left[ 0 - S\frac{\partial t}{\partial S} - V\frac{\partial t}{\partial V} \right] S
+ \left[ 0 - S\frac{\partial p}{\partial S} - V\frac{\partial p}{\partial V} \right] (-V) </math>
|-
|| <math> (04b)\quad </math>
|| <math> 0\,(N,S,V) </math>||<math> = </math>||<math>
+ \left[ 0 - S\frac{\partial \mu}{\partial S} - V\frac{\partial \mu}{\partial V} \right] N
+ \left[ 0 - S\frac{\partial t}{\partial S} - V\frac{\partial t}{\partial V} \right] S
+ \left[ 0 - S\frac{\partial p}{\partial S} - V\frac{\partial p}{\partial V} \right] (-V) </math>
|-
|| <math> (05b)\quad </math>
|| <math> 0\,(N,S,V) </math>||<math> = </math>||<math>
-\,N\,d\left[ \mu - S\frac{\partial \mu}{\partial S} - V\frac{\partial \mu}{\partial V} \right]
- S\,d\left[ 0 - S\frac{\partial t}{\partial S} - V\frac{\partial t}{\partial V} \right]
-\,(-V)\,d\left[ 0 - S\frac{\partial p}{\partial S} - V\frac{\partial p}{\partial V} \right] </math>
|}
=== Variante c) ===
Zwei neue Variable: <math>S, V</math> kommen, <math>t, p</math> gehen.
(04c) folgt aus (03) und (03c). (05c) folgt aus (02c) und (03c).
{|
|-
|| <math> (01c)\quad </math>
|| <math> -\,S\,dt </math>||<math> = </math>||<math>
+ \left[ 0 + N\frac{\partial \mu}{\partial N} + V\frac{\partial \mu}{\partial V} \right] dN
+ \left[ 0 + N\frac{\partial t}{\partial N} + V\frac{\partial \mu}{\partial V} \right] dS
+ \left[ 0 + N\frac{\partial p}{\partial N} + V\frac{\partial \mu}{\partial V} \right] d(-V) </math>
|-
|| <math> (01c) </math>
|| <math> -\,(-V)\,dp </math>||<math> = </math>||<math>
+ \left[ 0 + N\frac{\partial \mu}{\partial N} + S\frac{\partial \mu}{\partial S} \right] dN
+ \left[ 0 + N\frac{\partial t}{\partial N} + S\frac{\partial \mu}{\partial S} \right] dS
+ \left[ 0 + N\frac{\partial p}{\partial N} + S\frac{\partial \mu}{\partial S} \right] d(-V) </math>
|-
|| <math> (02c)\quad </math>
|| <math> dG(N,S,V) </math>||<math> = </math>||<math>
+ \left[ \mu + N\frac{\partial \mu}{\partial N} \right] dN + \left[ 0 + N\frac{\partial t}{\partial N} \right] dS
+ \left[ 0 + N\frac{\partial p}{\partial N} \right] d(-V) </math>
|-
|| <math> (03c)\quad </math>
|| <math> G(N,S,V) </math>||<math> = </math>||<math>
+ \left[ \mu + N\frac{\partial \mu}{\partial N} \right] N + \left[ 0 + N\frac{\partial t}{\partial N} \right] S
+ \left[ 0 + N\frac{\partial p}{\partial N} \right] (-V) </math>
|-
|| <math> (04c)\quad </math>
|| <math> 0\,(N,S,V) </math>||<math> = </math>||<math>
+ \left[ 0 + N\frac{\partial \mu}{\partial N} \right] N + \left[ 0 + N\frac{\partial t}{\partial N} \right] S
+ \left[ 0 + N\frac{\partial p}{\partial N} \right] (-V) </math>
|-
|| <math> (05c)\quad </math>
|| <math> 0\,(N,S,V) </math>||<math> = </math>||<math>
-\,N\,d\left[ \mu + N\frac{\partial \mu}{\partial N} \right] - S\,d\left[ 0 + N\frac{\partial t}{\partial N} \right]
-\,(-V)\,d\left[ 0 + N\frac{\partial p}{\partial N} \right] </math>
|}
== Herleitungen Energie G ==
my120230ocs655s42myciy7xvybg0p0
CPRT/9cdc
0
119132
1091105
1091052
2026-09-19T15:34:58Z
Pelikam
111447
/* Energie H */
1091105
wikitext
text/x-wiki
[[CPRT|< Inhaltsverzeichnis - CPRT]]
== Energie H ==
{|
|-
|| <math> (01)\quad </math>
|| <math> dE(N,S,V) </math>||<math> = </math>||<math>
+\,\mu\,dN + t\,dS + p\,d(-V) </math>
|-
|| <math> (02)\quad </math>
|| <math> dH(N,S,p) </math>||<math> = </math>||<math>
+\,\mu\,dN + t\,dS -(-V)\,dp </math>
|-
|| <math> (02)\quad </math>
|| <math> dH(N,S,V) </math>||<math> = </math>||<math>
+\,\mu_{E}^{H}\,dN + t_{E}^{H}\,dS + p_{E}^{H}\,d(-V) </math>
|-
|| <math> (03)\quad </math>
|| <math> H(N,S,p) </math>||<math> = </math>||<math>
+\,\mu\,N + t\,S </math>
|-
|| <math> (03)\quad </math>
|| <math> H(N,S,V) </math>||<math> = </math>||<math>
+\,\mu_{E}^{H}\,N + t_{E}^{H}\,S + p_{E}^{H}\,(-V) </math>
|}
=== Variante a) ===
Eine neue Variable: <math>V</math> kommt, <math>p</math> geht.
(04a) folgt aus (03) und (03a). (05a) folgt aus (02a) und (03a).
{|
|-
|| <math> (01a)\quad </math>
|| <math> -\,(-V)\,dp </math>||<math> = </math>||<math>
+ \left[ 0 - (-V)\frac{\partial p}{\partial N} \right] dN
+ \left[ 0 - (-V)\frac{\partial p}{\partial S} \right] dS
+ \left[ 0 - (-V)\frac{\partial p}{\partial (-V)}\right] d(-V)\quad (N,S,V) </math>
|-
|| <math> (02a)\quad </math>
|| <math> dH(N,S,V) </math>||<math> = </math>||<math>
+ \left[ \mu - (-V)\frac{\partial p}{\partial N} \right] dN
+ \left[ t - (-V)\frac{\partial p}{\partial S} \right] dS
+ \left[ 0 - (-V)\frac{\partial p}{\partial (-V)} \right] d(-V) </math>
|-
|| <math> (03a)\quad </math>
|| <math> H(N,S,V) </math>||<math> = </math>||<math>
+ \left[ \mu - (-V)\frac{\partial p}{\partial N} \right] N
+ \left[ t - (-V)\frac{\partial p}{\partial S} \right] S
+ \left[ 0 - (-V)\frac{\partial p}{\partial (-V)} \right] (-V) </math>
|-
|| <math> (04a)\quad </math>
|| <math> 0\,(N,S,V) </math>||<math> = </math>||<math>
+ \left[ 0 - (-V)\frac{\partial p}{\partial N} \right] N
+ \left[ 0 - (-V)\frac{\partial p}{\partial S} \right] S
+ \left[ 0 - (-V)\frac{\partial p}{\partial (-V)} \right] (-V) </math>
|-
|| <math> (05a)\quad </math>
|| <math> 0\,(N,S,V) </math>||<math> = </math>||<math>
-\,N\,d\left[ \mu - (-V)\frac{\partial p}{\partial N} \right]
- S\,d\left[ t - (-V)\frac{\partial p}{\partial S} \right]
- (-V)\,d\left[ 0 - (-V)\frac{\partial p}{\partial (-V)} \right] </math>
|}
=== Variante b) ===
Eine neue Variable: <math>V</math> kommt, <math>p</math> geht.
(04b) folgt aus (03) und (03b). (05b) folgt aus (02b) und (03b).
{|
|-
|| <math> (01b)\quad </math>
|| <math> -\,(-V)\,dp </math>||<math> = </math>||<math>
+ \left[ 0 - V\frac{\partial \mu}{\partial V} \right] dN
+ \left[ 0 - V\frac{\partial t}{\partial V} \right] dS
+ \left[ 0 - V\frac{\partial p}{\partial V} \right] d(-V)\quad (N,S,V) </math>
|-
|| <math> (02b)\quad </math>
|| <math> dH(N,S,V) </math>||<math> = </math>||<math>
+ \left[ \mu - V\frac{\partial \mu}{\partial V} \right] dN
+ \left[ t - V\frac{\partial t}{\partial V} \right] dS
+ \left[ 0 - V\frac{\partial p}{\partial V} \right] d(-V) </math>
|-
|| <math> (03b)\quad </math>
|| <math> H(N,S,V) </math>||<math> = </math>||<math>
+ \left[ \mu - V\frac{\partial \mu}{\partial V} \right] N
+ \left[ t - V\frac{\partial t}{\partial V} \right] S
+ \left[ 0 - V\frac{\partial p}{\partial V} \right] (-V) </math>
|-
|| <math> (04b)\quad </math>
|| <math> 0\,(N,S,V) </math>||<math> = </math>||<math>
+ \left[ 0 - V\frac{\partial \mu}{\partial V} \right] N
+ \left[ 0 - V\frac{\partial t}{\partial V} \right] S
+ \left[ 0 - V\frac{\partial p}{\partial V} \right] (-V) </math>
|-
|| <math> (05b)\quad </math>
|| <math> 0\,(N,S,V) </math>||<math> = </math>||<math>
-\,N\,d\left[ \mu - V\frac{\partial \mu}{\partial V} \right]
- S\,d\left[ t - V\frac{\partial t}{\partial V} \right]
- (-V)\,d\left[ 0 - V\frac{\partial p}{\partial V} \right] </math>
|}
=== Variante c) ===
Eine neue Variable: <math>V</math> kommt, <math>p</math> geht.
(04c) folgt aus (03) und (03c). (05c) folgt aus (02c) und (03c).
{|
|-
|| <math> (01c)\quad </math>
|| <math> -\,(-V)\,dp </math>||<math> = </math>||<math>
+ \left[ 0 + N\frac{\partial \mu}{\partial N} + S\frac{\partial \mu}{\partial S} \right] dN
+ \left[ 0 + N\frac{\partial t}{\partial N} + S\frac{\partial \mu}{\partial S} \right] dS
+ \left[ 0 + N\frac{\partial p}{\partial N} + S\frac{\partial \mu}{\partial S} \right] d(-V) </math>
|-
|| <math> (02c)\quad </math>
|| <math> dH(N,S,V) </math>||<math> = </math>||<math>
+ \left[ \mu + N\frac{\partial \mu}{\partial N} + S\frac{\partial \mu}{\partial S} \right] dN
+ \left[ t + N\frac{\partial t}{\partial N} + S\frac{\partial t}{\partial S} \right] dS
+ \left[ 0 + N\frac{\partial p}{\partial N} + S\frac{\partial p}{\partial S} \right] d(-V) </math>
|-
|| <math> (03c)\quad </math>
|| <math> H(N,S,V) </math>||<math> = </math>||<math>
+ \left[ \mu + N\frac{\partial \mu}{\partial N} + S\frac{\partial \mu}{\partial S} \right] N
+ \left[ t + N\frac{\partial t}{\partial N} + S\frac{\partial t}{\partial S} \right] S
+ \left[ 0 + N\frac{\partial p}{\partial N} + S\frac{\partial p}{\partial S} \right] (-V) </math>
|-
|| <math> (04c)\quad </math>
|| <math> 0\,(N,S,V) </math>||<math> = </math>||<math>
+ \left[ 0 + N\frac{\partial \mu}{\partial N} + S\frac{\partial \mu}{\partial S} \right] N
+ \left[ 0 + N\frac{\partial t}{\partial N} + S\frac{\partial t}{\partial S} \right] S
+ \left[ 0 + N\frac{\partial p}{\partial N} + S\frac{\partial p}{\partial S} \right] (-V) </math>
|-
|| <math> (05c)\quad </math>
|| <math> 0\,(N,S,V) </math>||<math> = </math>||<math>
-\,N\,d\left[ \mu + N\frac{\partial \mu}{\partial N} + S\frac{\partial \mu}{\partial S} \right]
- S\,d\left[ t + N\frac{\partial t}{\partial N} + S\frac{\partial t}{\partial S} \right]
- (-V)\,d\left[ 0 + N\frac{\partial p}{\partial N} + S\frac{\partial p}{\partial S} \right] </math>
|}
== Herleitungen Energie H ==
qrwc7v4yk3v3cd4081dgv60bm0klyqj
CPRT/8dfb
0
119134
1091107
1091039
2026-09-19T15:40:18Z
Pelikam
111447
1091107
wikitext
text/x-wiki
[[CPRT|< Inhaltsverzeichnis - CPRT]]
== Energie G ==
{|
|-
|| <math> (01)\quad </math>
|| <math> dE(N,S,V) </math>||<math> = </math>||<math>
+\,\mu\,dN + t\,dS + p\,d(-V) </math>
|-
|| <math> (02)\quad </math>
|| <math> dG(N,t,p) </math>||<math> = </math>||<math>
+\,\mu\,dN - S\,dt -(-V)\,dp </math>
|-
|| <math> (02)\quad </math>
|| <math> dG(N,S,V) </math>||<math> = </math>||<math>
+\,\mu_{E}^{G}\,dN + t_{E}^{G}\,dS + p_{E}^{G}\,d(-V) </math>
|-
|| <math> (03)\quad </math>
|| <math> G(N,t,p) </math>||<math> = </math>||<math>
+\,\mu\,N </math>
|-
|| <math> (03)\quad </math>
|| <math> G(N,S,V) </math>||<math> = </math>||<math>
+\,\mu_{E}^{G}\,N + t_{E}^{G}\,S + p_{E}^{G}\,(-V) </math>
|}
=== Variante a) ===
Zwei neue Variable: <math>S, V</math> kommen, <math>t, p</math> gehen.
(04a) folgt aus (03) und (03a). (05a) folgt aus (02a) und (03a).
{|
|-
|| <math> (01a)\quad </math>
|| <math> -\,S\,dt </math>||<math> = </math>||<math>
+ \left[ 0 - S\frac{\partial t}{\partial N} \right] dN + \left[ 0 - S\frac{\partial t}{\partial S} \right] dS
+ \left[ 0 - S\frac{\partial t}{\partial (-V)}\right] d(-V)\quad (N,S,V) </math>
|-
|| <math> (01a)\quad </math>
|| <math> -\,(-V)\,dp </math>||<math> = </math>||<math>
+ \left[ 0 - (-V)\frac{\partial p}{\partial N} \right] dN + \left[ 0 - (-V)\frac{\partial p}{\partial S} \right] dS
+ \left[ 0 - (-V)\frac{\partial p}{\partial (-V)}\right] d(-V)\quad (N,S,V) </math>
|-
|| <math> (02a)\quad </math>
|| <math> dG(N,S,V) </math>||<math> = </math>||<math>
+ \left[ \mu - S\frac{\partial t}{\partial N} - (-V)\frac{\partial p}{\partial N} \right] dN
+ \left[ 0 - S\frac{\partial t}{\partial S} - (-V)\frac{\partial p}{\partial S} \right] dS </math>
|-
|| <math> \quad\quad </math>
|| <math> </math>||<math> </math>||<math>
+ \left[ 0 - S\frac{\partial t}{\partial (-V)} - (-V)\frac{\partial p}{\partial (-V)} \right] d(-V) </math>
|-
|| <math> (03a)\quad </math>
|| <math> G(N,S,V) </math>||<math> = </math>||<math>
+ \left[ \mu - S\frac{\partial t}{\partial N} - (-V)\frac{\partial p}{\partial N} \right] N
+ \left[ 0 - S\frac{\partial t}{\partial S} - (-V)\frac{\partial p}{\partial S} \right] S </math>
|-
|| <math> \quad\quad </math>
|| <math> </math>||<math> </math>||<math>
+ \left[ 0 - S\frac{\partial t}{\partial (-V)} - (-V)\frac{\partial p}{\partial (-V)} \right] (-V) </math>
|-
|| <math> (04a)\quad </math>
|| <math> 0\,(N,S,V) </math>||<math> = </math>||<math>
+ \left[ 0 - S\frac{\partial t}{\partial N} - (-V)\frac{\partial p}{\partial N} \right] N
+ \left[ 0 - S\frac{\partial t}{\partial S} - (-V)\frac{\partial p}{\partial S} \right] S </math>
|-
|| <math> \quad\quad </math>
|| <math> </math>||<math> </math>||<math>
+ \left[ 0 - S\frac{\partial t}{\partial (-V)} - (-V)\frac{\partial p}{\partial (-V)} \right] (-V) </math>
|-
|| <math> (05a)\quad </math>
|| <math> 0\,(N,S,V) </math>||<math> = </math>||<math>
-\,N\,d\left[ \mu - S\frac{\partial t}{\partial N} - (-V)\frac{\partial p}{\partial N} \right]
- S\,d\left[ 0 - S\frac{\partial t}{\partial S} - (-V)\frac{\partial p}{\partial S} \right] </math>
|-
|| <math> \quad\quad </math>
|| <math> </math>||<math> </math>||<math>
- (-V)\,d\left[ 0 - S\frac{\partial t}{\partial (-V)} - (-V)\frac{\partial p}{\partial (-V)} \right] </math>
|}
=== Variante b) ===
Zwei neue Variable: <math>S, V</math> kommen, <math>t, p</math> gehen.
(04b) folgt aus (03) und (03b). (05b) folgt aus (02b) und (03b).
{|
|-
|| <math> (01b)\quad </math>
|| <math> -\,S\,dt </math>||<math> = </math>||<math>
+ \left[ 0 - S\frac{\partial \mu}{\partial S} \right] dN + \left[ 0 - S\frac{\partial t}{\partial S} \right] dS
+ \left[ 0 - S\frac{\partial p}{\partial S} \right] d(-V)\quad (N,S,V) </math>
|-
|| <math> (01b)\quad </math>
|| <math> -\,(-V)\,dp </math>||<math> = </math>||<math>
+ \left[ 0 - V\frac{\partial \mu}{\partial V} \right] dN + \left[ 0 - V\frac{\partial t}{\partial V} \right] dS
+ \left[ 0 - V\frac{\partial p}{\partial V}\right] d(-V)\quad (N,S,V) </math>
|-
|| <math> (02b)\quad </math>
|| <math> dG(N,S,V) </math>||<math> = </math>||<math>
+ \left[ \mu - S\frac{\partial \mu}{\partial S} - V\frac{\partial \mu}{\partial V} \right] dN
+ \left[ 0 - S\frac{\partial t}{\partial S} - V\frac{\partial t}{\partial V} \right] dS
+ \left[ 0 - S\frac{\partial p}{\partial S} - V\frac{\partial p}{\partial V} \right] d(-V) </math>
|-
|| <math> (03b)\quad </math>
|| <math> G(N,S,V) </math>||<math> = </math>||<math>
+ \left[ \mu - S\frac{\partial \mu}{\partial S} - V\frac{\partial \mu}{\partial V} \right] N
+ \left[ 0 - S\frac{\partial t}{\partial S} - V\frac{\partial t}{\partial V} \right] S
+ \left[ 0 - S\frac{\partial p}{\partial S} - V\frac{\partial p}{\partial V} \right] (-V) </math>
|-
|| <math> (04b)\quad </math>
|| <math> 0\,(N,S,V) </math>||<math> = </math>||<math>
+ \left[ 0 - S\frac{\partial \mu}{\partial S} - V\frac{\partial \mu}{\partial V} \right] N
+ \left[ 0 - S\frac{\partial t}{\partial S} - V\frac{\partial t}{\partial V} \right] S
+ \left[ 0 - S\frac{\partial p}{\partial S} - V\frac{\partial p}{\partial V} \right] (-V) </math>
|-
|| <math> (05b)\quad </math>
|| <math> 0\,(N,S,V) </math>||<math> = </math>||<math>
-\,N\,d\left[ \mu - S\frac{\partial \mu}{\partial S} - V\frac{\partial \mu}{\partial V} \right]
- S\,d\left[ 0 - S\frac{\partial t}{\partial S} - V\frac{\partial t}{\partial V} \right]
-\,(-V)\,d\left[ 0 - S\frac{\partial p}{\partial S} - V\frac{\partial p}{\partial V} \right] </math>
|}
=== Variante c) ===
Zwei neue Variable: <math>S, V</math> kommen, <math>t, p</math> gehen.
(04c) folgt aus (03) und (03c). (05c) folgt aus (02c) und (03c).
{|
|-
|| <math> (01c)\quad </math>
|| <math> -\,S\,dt </math>||<math> = </math>||<math>
+ \left[ 0 + N\frac{\partial \mu}{\partial N} + V\frac{\partial \mu}{\partial V} \right] dN
+ \left[ 0 + N\frac{\partial t}{\partial N} + V\frac{\partial \mu}{\partial V} \right] dS
+ \left[ 0 + N\frac{\partial p}{\partial N} + V\frac{\partial \mu}{\partial V} \right] d(-V) </math>
|-
|| <math> (01c) </math>
|| <math> -\,(-V)\,dp </math>||<math> = </math>||<math>
+ \left[ 0 + N\frac{\partial \mu}{\partial N} + S\frac{\partial \mu}{\partial S} \right] dN
+ \left[ 0 + N\frac{\partial t}{\partial N} + S\frac{\partial \mu}{\partial S} \right] dS
+ \left[ 0 + N\frac{\partial p}{\partial N} + S\frac{\partial \mu}{\partial S} \right] d(-V) </math>
|-
|| <math> (02c)\quad </math>
|| <math> dG(N,S,V) </math>||<math> = </math>||<math>
+ \left[ \mu + N\frac{\partial \mu}{\partial N} \right] dN + \left[ 0 + N\frac{\partial t}{\partial N} \right] dS
+ \left[ 0 + N\frac{\partial p}{\partial N} \right] d(-V) </math>
|-
|| <math> (03c)\quad </math>
|| <math> G(N,S,V) </math>||<math> = </math>||<math>
+ \left[ \mu + N\frac{\partial \mu}{\partial N} \right] N + \left[ 0 + N\frac{\partial t}{\partial N} \right] S
+ \left[ 0 + N\frac{\partial p}{\partial N} \right] (-V) </math>
|-
|| <math> (04c)\quad </math>
|| <math> 0\,(N,S,V) </math>||<math> = </math>||<math>
+ \left[ 0 + N\frac{\partial \mu}{\partial N} \right] N + \left[ 0 + N\frac{\partial t}{\partial N} \right] S
+ \left[ 0 + N\frac{\partial p}{\partial N} \right] (-V) </math>
|-
|| <math> (05c)\quad </math>
|| <math> 0\,(N,S,V) </math>||<math> = </math>||<math>
-\,N\,d\left[ \mu + N\frac{\partial \mu}{\partial N} \right] - S\,d\left[ 0 + N\frac{\partial t}{\partial N} \right]
-\,(-V)\,d\left[ 0 + N\frac{\partial p}{\partial N} \right] </math>
|}
b6o42f3ta2pp7ah6um7oaxwjgsbt2cg
1091108
1091107
2026-09-19T15:42:43Z
Pelikam
111447
/* Energie G */
1091108
wikitext
text/x-wiki
[[CPRT|< Inhaltsverzeichnis - CPRT]]
== Energie J ==
{|
|-
|| <math> (01)\quad </math>
|| <math> dE(N,S,V) </math>||<math> = </math>||<math>
+\,\mu\,dN + t\,dS + p\,d(-V) </math>
|-
|| <math> (02)\quad </math>
|| <math> dJ(\mu,t,V) </math>||<math> = </math>||<math>
-\,N\,d\mu - S\,dt + p\,d(-V) </math>
|-
|| <math> (02)\quad </math>
|| <math> dJ(N,S,V) </math>||<math> = </math>||<math>
+\,\mu_{E}^{J}\,dN + t_{E}^{J}\,dS + p_{E}^{J}\,d(-V) </math>
|-
|| <math> (03)\quad </math>
|| <math> J(\mu,t,V) </math>||<math> = </math>||<math>
+\,p\,(-V) </math>
|-
|| <math> (03)\quad </math>
|| <math> J(N,S,V) </math>||<math> = </math>||<math>
+\,\mu_{E}^{J}\,N + t_{E}^{J}\,S + p_{E}^{J}\,(-V) </math>
|}
=== Variante a) ===
Zwei neue Variable: <math>S, V</math> kommen, <math>t, p</math> gehen.
(04a) folgt aus (03) und (03a). (05a) folgt aus (02a) und (03a).
{|
|-
|| <math> (01a)\quad </math>
|| <math> -\,S\,dt </math>||<math> = </math>||<math>
+ \left[ 0 - S\frac{\partial t}{\partial N} \right] dN + \left[ 0 - S\frac{\partial t}{\partial S} \right] dS
+ \left[ 0 - S\frac{\partial t}{\partial (-V)}\right] d(-V)\quad (N,S,V) </math>
|-
|| <math> (01a)\quad </math>
|| <math> -\,(-V)\,dp </math>||<math> = </math>||<math>
+ \left[ 0 - (-V)\frac{\partial p}{\partial N} \right] dN + \left[ 0 - (-V)\frac{\partial p}{\partial S} \right] dS
+ \left[ 0 - (-V)\frac{\partial p}{\partial (-V)}\right] d(-V)\quad (N,S,V) </math>
|-
|| <math> (02a)\quad </math>
|| <math> dG(N,S,V) </math>||<math> = </math>||<math>
+ \left[ \mu - S\frac{\partial t}{\partial N} - (-V)\frac{\partial p}{\partial N} \right] dN
+ \left[ 0 - S\frac{\partial t}{\partial S} - (-V)\frac{\partial p}{\partial S} \right] dS </math>
|-
|| <math> \quad\quad </math>
|| <math> </math>||<math> </math>||<math>
+ \left[ 0 - S\frac{\partial t}{\partial (-V)} - (-V)\frac{\partial p}{\partial (-V)} \right] d(-V) </math>
|-
|| <math> (03a)\quad </math>
|| <math> G(N,S,V) </math>||<math> = </math>||<math>
+ \left[ \mu - S\frac{\partial t}{\partial N} - (-V)\frac{\partial p}{\partial N} \right] N
+ \left[ 0 - S\frac{\partial t}{\partial S} - (-V)\frac{\partial p}{\partial S} \right] S </math>
|-
|| <math> \quad\quad </math>
|| <math> </math>||<math> </math>||<math>
+ \left[ 0 - S\frac{\partial t}{\partial (-V)} - (-V)\frac{\partial p}{\partial (-V)} \right] (-V) </math>
|-
|| <math> (04a)\quad </math>
|| <math> 0\,(N,S,V) </math>||<math> = </math>||<math>
+ \left[ 0 - S\frac{\partial t}{\partial N} - (-V)\frac{\partial p}{\partial N} \right] N
+ \left[ 0 - S\frac{\partial t}{\partial S} - (-V)\frac{\partial p}{\partial S} \right] S </math>
|-
|| <math> \quad\quad </math>
|| <math> </math>||<math> </math>||<math>
+ \left[ 0 - S\frac{\partial t}{\partial (-V)} - (-V)\frac{\partial p}{\partial (-V)} \right] (-V) </math>
|-
|| <math> (05a)\quad </math>
|| <math> 0\,(N,S,V) </math>||<math> = </math>||<math>
-\,N\,d\left[ \mu - S\frac{\partial t}{\partial N} - (-V)\frac{\partial p}{\partial N} \right]
- S\,d\left[ 0 - S\frac{\partial t}{\partial S} - (-V)\frac{\partial p}{\partial S} \right] </math>
|-
|| <math> \quad\quad </math>
|| <math> </math>||<math> </math>||<math>
- (-V)\,d\left[ 0 - S\frac{\partial t}{\partial (-V)} - (-V)\frac{\partial p}{\partial (-V)} \right] </math>
|}
=== Variante b) ===
Zwei neue Variable: <math>S, V</math> kommen, <math>t, p</math> gehen.
(04b) folgt aus (03) und (03b). (05b) folgt aus (02b) und (03b).
{|
|-
|| <math> (01b)\quad </math>
|| <math> -\,S\,dt </math>||<math> = </math>||<math>
+ \left[ 0 - S\frac{\partial \mu}{\partial S} \right] dN + \left[ 0 - S\frac{\partial t}{\partial S} \right] dS
+ \left[ 0 - S\frac{\partial p}{\partial S} \right] d(-V)\quad (N,S,V) </math>
|-
|| <math> (01b)\quad </math>
|| <math> -\,(-V)\,dp </math>||<math> = </math>||<math>
+ \left[ 0 - V\frac{\partial \mu}{\partial V} \right] dN + \left[ 0 - V\frac{\partial t}{\partial V} \right] dS
+ \left[ 0 - V\frac{\partial p}{\partial V}\right] d(-V)\quad (N,S,V) </math>
|-
|| <math> (02b)\quad </math>
|| <math> dG(N,S,V) </math>||<math> = </math>||<math>
+ \left[ \mu - S\frac{\partial \mu}{\partial S} - V\frac{\partial \mu}{\partial V} \right] dN
+ \left[ 0 - S\frac{\partial t}{\partial S} - V\frac{\partial t}{\partial V} \right] dS
+ \left[ 0 - S\frac{\partial p}{\partial S} - V\frac{\partial p}{\partial V} \right] d(-V) </math>
|-
|| <math> (03b)\quad </math>
|| <math> G(N,S,V) </math>||<math> = </math>||<math>
+ \left[ \mu - S\frac{\partial \mu}{\partial S} - V\frac{\partial \mu}{\partial V} \right] N
+ \left[ 0 - S\frac{\partial t}{\partial S} - V\frac{\partial t}{\partial V} \right] S
+ \left[ 0 - S\frac{\partial p}{\partial S} - V\frac{\partial p}{\partial V} \right] (-V) </math>
|-
|| <math> (04b)\quad </math>
|| <math> 0\,(N,S,V) </math>||<math> = </math>||<math>
+ \left[ 0 - S\frac{\partial \mu}{\partial S} - V\frac{\partial \mu}{\partial V} \right] N
+ \left[ 0 - S\frac{\partial t}{\partial S} - V\frac{\partial t}{\partial V} \right] S
+ \left[ 0 - S\frac{\partial p}{\partial S} - V\frac{\partial p}{\partial V} \right] (-V) </math>
|-
|| <math> (05b)\quad </math>
|| <math> 0\,(N,S,V) </math>||<math> = </math>||<math>
-\,N\,d\left[ \mu - S\frac{\partial \mu}{\partial S} - V\frac{\partial \mu}{\partial V} \right]
- S\,d\left[ 0 - S\frac{\partial t}{\partial S} - V\frac{\partial t}{\partial V} \right]
-\,(-V)\,d\left[ 0 - S\frac{\partial p}{\partial S} - V\frac{\partial p}{\partial V} \right] </math>
|}
=== Variante c) ===
Zwei neue Variable: <math>S, V</math> kommen, <math>t, p</math> gehen.
(04c) folgt aus (03) und (03c). (05c) folgt aus (02c) und (03c).
{|
|-
|| <math> (01c)\quad </math>
|| <math> -\,S\,dt </math>||<math> = </math>||<math>
+ \left[ 0 + N\frac{\partial \mu}{\partial N} + V\frac{\partial \mu}{\partial V} \right] dN
+ \left[ 0 + N\frac{\partial t}{\partial N} + V\frac{\partial \mu}{\partial V} \right] dS
+ \left[ 0 + N\frac{\partial p}{\partial N} + V\frac{\partial \mu}{\partial V} \right] d(-V) </math>
|-
|| <math> (01c) </math>
|| <math> -\,(-V)\,dp </math>||<math> = </math>||<math>
+ \left[ 0 + N\frac{\partial \mu}{\partial N} + S\frac{\partial \mu}{\partial S} \right] dN
+ \left[ 0 + N\frac{\partial t}{\partial N} + S\frac{\partial \mu}{\partial S} \right] dS
+ \left[ 0 + N\frac{\partial p}{\partial N} + S\frac{\partial \mu}{\partial S} \right] d(-V) </math>
|-
|| <math> (02c)\quad </math>
|| <math> dG(N,S,V) </math>||<math> = </math>||<math>
+ \left[ \mu + N\frac{\partial \mu}{\partial N} \right] dN + \left[ 0 + N\frac{\partial t}{\partial N} \right] dS
+ \left[ 0 + N\frac{\partial p}{\partial N} \right] d(-V) </math>
|-
|| <math> (03c)\quad </math>
|| <math> G(N,S,V) </math>||<math> = </math>||<math>
+ \left[ \mu + N\frac{\partial \mu}{\partial N} \right] N + \left[ 0 + N\frac{\partial t}{\partial N} \right] S
+ \left[ 0 + N\frac{\partial p}{\partial N} \right] (-V) </math>
|-
|| <math> (04c)\quad </math>
|| <math> 0\,(N,S,V) </math>||<math> = </math>||<math>
+ \left[ 0 + N\frac{\partial \mu}{\partial N} \right] N + \left[ 0 + N\frac{\partial t}{\partial N} \right] S
+ \left[ 0 + N\frac{\partial p}{\partial N} \right] (-V) </math>
|-
|| <math> (05c)\quad </math>
|| <math> 0\,(N,S,V) </math>||<math> = </math>||<math>
-\,N\,d\left[ \mu + N\frac{\partial \mu}{\partial N} \right] - S\,d\left[ 0 + N\frac{\partial t}{\partial N} \right]
-\,(-V)\,d\left[ 0 + N\frac{\partial p}{\partial N} \right] </math>
|}
nmcelwhy9djymi1vxmpbfyd8tqhej07
1091115
1091108
2026-09-19T17:49:19Z
Pelikam
111447
/* Variante a) */
1091115
wikitext
text/x-wiki
[[CPRT|< Inhaltsverzeichnis - CPRT]]
== Energie J ==
{|
|-
|| <math> (01)\quad </math>
|| <math> dE(N,S,V) </math>||<math> = </math>||<math>
+\,\mu\,dN + t\,dS + p\,d(-V) </math>
|-
|| <math> (02)\quad </math>
|| <math> dJ(\mu,t,V) </math>||<math> = </math>||<math>
-\,N\,d\mu - S\,dt + p\,d(-V) </math>
|-
|| <math> (02)\quad </math>
|| <math> dJ(N,S,V) </math>||<math> = </math>||<math>
+\,\mu_{E}^{J}\,dN + t_{E}^{J}\,dS + p_{E}^{J}\,d(-V) </math>
|-
|| <math> (03)\quad </math>
|| <math> J(\mu,t,V) </math>||<math> = </math>||<math>
+\,p\,(-V) </math>
|-
|| <math> (03)\quad </math>
|| <math> J(N,S,V) </math>||<math> = </math>||<math>
+\,\mu_{E}^{J}\,N + t_{E}^{J}\,S + p_{E}^{J}\,(-V) </math>
|}
=== Variante a) ===
Zwei neue Variable: <math>S, V</math> kommen, <math>t, p</math> gehen.
(04a) folgt aus (03) und (03a). (05a) folgt aus (02a) und (03a).
{|
|-
|| <math> (01a)\quad </math>
|| <math> -\,N\,d\mu </math>||<math> = </math>||<math>
+ \left[ 0 - N\frac{\partial \mu}{\partial N} \right] dN + \left[ 0 - N\frac{\partial \mu}{\partial S} \right] dS
+ \left[ 0 - N\frac{\partial \mu}{\partial (-V)}\right] d(-V)\quad (N,S,V) </math>
|-
|| <math> (01a)\quad </math>
|| <math> -\,S\,dt </math>||<math> = </math>||<math>
+ \left[ 0 - S\frac{\partial t}{\partial N} \right] dN + \left[ 0 - S\frac{\partial t}{\partial S} \right] dS
+ \left[ 0 - S\frac{\partial t}{\partial (-V)}\right] d(-V)\quad (N,S,V) </math>
|-
|| <math> (02a)\quad </math>
|| <math> dJ(N,S,V) </math>||<math> = </math>||<math>
+ \left[ 0 - N\frac{\partial \mu}{\partial N} - S\frac{\partial t}{\partial N} \right] dN
+ \left[ 0 - N\frac{\partial \mu}{\partial S} - S\frac{\partial t}{\partial S} \right] dS </math>
|-
|| <math> \quad\quad </math>
|| <math> </math>||<math> </math>||<math>
+ \left[ p - N\frac{\partial \mu}{\partial (-V)} - S\frac{\partial t}{\partial (-V)} \right] d(-V) </math>
|-
|| <math> (03a)\quad </math>
|| <math> J(N,S,V) </math>||<math> = </math>||<math>
+ \left[ 0 - N\frac{\partial \mu}{\partial N} - S\frac{\partial t}{\partial N} \right] N
+ \left[ 0 - N\frac{\partial \mu}{\partial S} - S\frac{\partial t}{\partial S} \right] S </math>
|-
|| <math> \quad\quad </math>
|| <math> </math>||<math> </math>||<math>
+ \left[ p - N\frac{\partial \mu}{\partial (-V)} - S\frac{\partial t}{\partial (-V)} \right] (-V) </math>
|-
|| <math> (04a)\quad </math>
|| <math> 0\,(N,S,V) </math>||<math> = </math>||<math>
+ \left[ 0 - N\frac{\partial \mu}{\partial N} - S\frac{\partial t}{\partial N} \right] N
+ \left[ 0 - N\frac{\partial \mu}{\partial S} - S\frac{\partial t}{\partial S} \right] S </math>
|-
|| <math> \quad\quad </math>
|| <math> </math>||<math> </math>||<math>
+ \left[ 0 - N\frac{\partial \mu}{\partial (-V)} - S\frac{\partial t}{\partial (-V)} \right] (-V) </math>
|-
|| <math> (05a)\quad </math>
|| <math> 0\,(N,S,V) </math>||<math> = </math>||<math>
-\,N\,d\left[ 0 - N\frac{\partial \mu}{\partial N} - S\frac{\partial t}{\partial N} \right]
- S\,d\left[ 0 - N\frac{\partial \mu}{\partial S} - S\frac{\partial t}{\partial S} \right] </math>
|-
|| <math> \quad\quad </math>
|| <math> </math>||<math> </math>||<math>
- (-V)\,d\left[ 0 - N\frac{\partial \mu}{\partial (-V)} - S\frac{\partial t}{\partial (-V)} \right] </math>
|}
=== Variante b) ===
Zwei neue Variable: <math>S, V</math> kommen, <math>t, p</math> gehen.
(04b) folgt aus (03) und (03b). (05b) folgt aus (02b) und (03b).
{|
|-
|| <math> (01b)\quad </math>
|| <math> -\,S\,dt </math>||<math> = </math>||<math>
+ \left[ 0 - S\frac{\partial \mu}{\partial S} \right] dN + \left[ 0 - S\frac{\partial t}{\partial S} \right] dS
+ \left[ 0 - S\frac{\partial p}{\partial S} \right] d(-V)\quad (N,S,V) </math>
|-
|| <math> (01b)\quad </math>
|| <math> -\,(-V)\,dp </math>||<math> = </math>||<math>
+ \left[ 0 - V\frac{\partial \mu}{\partial V} \right] dN + \left[ 0 - V\frac{\partial t}{\partial V} \right] dS
+ \left[ 0 - V\frac{\partial p}{\partial V}\right] d(-V)\quad (N,S,V) </math>
|-
|| <math> (02b)\quad </math>
|| <math> dG(N,S,V) </math>||<math> = </math>||<math>
+ \left[ \mu - S\frac{\partial \mu}{\partial S} - V\frac{\partial \mu}{\partial V} \right] dN
+ \left[ 0 - S\frac{\partial t}{\partial S} - V\frac{\partial t}{\partial V} \right] dS
+ \left[ 0 - S\frac{\partial p}{\partial S} - V\frac{\partial p}{\partial V} \right] d(-V) </math>
|-
|| <math> (03b)\quad </math>
|| <math> G(N,S,V) </math>||<math> = </math>||<math>
+ \left[ \mu - S\frac{\partial \mu}{\partial S} - V\frac{\partial \mu}{\partial V} \right] N
+ \left[ 0 - S\frac{\partial t}{\partial S} - V\frac{\partial t}{\partial V} \right] S
+ \left[ 0 - S\frac{\partial p}{\partial S} - V\frac{\partial p}{\partial V} \right] (-V) </math>
|-
|| <math> (04b)\quad </math>
|| <math> 0\,(N,S,V) </math>||<math> = </math>||<math>
+ \left[ 0 - S\frac{\partial \mu}{\partial S} - V\frac{\partial \mu}{\partial V} \right] N
+ \left[ 0 - S\frac{\partial t}{\partial S} - V\frac{\partial t}{\partial V} \right] S
+ \left[ 0 - S\frac{\partial p}{\partial S} - V\frac{\partial p}{\partial V} \right] (-V) </math>
|-
|| <math> (05b)\quad </math>
|| <math> 0\,(N,S,V) </math>||<math> = </math>||<math>
-\,N\,d\left[ \mu - S\frac{\partial \mu}{\partial S} - V\frac{\partial \mu}{\partial V} \right]
- S\,d\left[ 0 - S\frac{\partial t}{\partial S} - V\frac{\partial t}{\partial V} \right]
-\,(-V)\,d\left[ 0 - S\frac{\partial p}{\partial S} - V\frac{\partial p}{\partial V} \right] </math>
|}
=== Variante c) ===
Zwei neue Variable: <math>S, V</math> kommen, <math>t, p</math> gehen.
(04c) folgt aus (03) und (03c). (05c) folgt aus (02c) und (03c).
{|
|-
|| <math> (01c)\quad </math>
|| <math> -\,S\,dt </math>||<math> = </math>||<math>
+ \left[ 0 + N\frac{\partial \mu}{\partial N} + V\frac{\partial \mu}{\partial V} \right] dN
+ \left[ 0 + N\frac{\partial t}{\partial N} + V\frac{\partial \mu}{\partial V} \right] dS
+ \left[ 0 + N\frac{\partial p}{\partial N} + V\frac{\partial \mu}{\partial V} \right] d(-V) </math>
|-
|| <math> (01c) </math>
|| <math> -\,(-V)\,dp </math>||<math> = </math>||<math>
+ \left[ 0 + N\frac{\partial \mu}{\partial N} + S\frac{\partial \mu}{\partial S} \right] dN
+ \left[ 0 + N\frac{\partial t}{\partial N} + S\frac{\partial \mu}{\partial S} \right] dS
+ \left[ 0 + N\frac{\partial p}{\partial N} + S\frac{\partial \mu}{\partial S} \right] d(-V) </math>
|-
|| <math> (02c)\quad </math>
|| <math> dG(N,S,V) </math>||<math> = </math>||<math>
+ \left[ \mu + N\frac{\partial \mu}{\partial N} \right] dN + \left[ 0 + N\frac{\partial t}{\partial N} \right] dS
+ \left[ 0 + N\frac{\partial p}{\partial N} \right] d(-V) </math>
|-
|| <math> (03c)\quad </math>
|| <math> G(N,S,V) </math>||<math> = </math>||<math>
+ \left[ \mu + N\frac{\partial \mu}{\partial N} \right] N + \left[ 0 + N\frac{\partial t}{\partial N} \right] S
+ \left[ 0 + N\frac{\partial p}{\partial N} \right] (-V) </math>
|-
|| <math> (04c)\quad </math>
|| <math> 0\,(N,S,V) </math>||<math> = </math>||<math>
+ \left[ 0 + N\frac{\partial \mu}{\partial N} \right] N + \left[ 0 + N\frac{\partial t}{\partial N} \right] S
+ \left[ 0 + N\frac{\partial p}{\partial N} \right] (-V) </math>
|-
|| <math> (05c)\quad </math>
|| <math> 0\,(N,S,V) </math>||<math> = </math>||<math>
-\,N\,d\left[ \mu + N\frac{\partial \mu}{\partial N} \right] - S\,d\left[ 0 + N\frac{\partial t}{\partial N} \right]
-\,(-V)\,d\left[ 0 + N\frac{\partial p}{\partial N} \right] </math>
|}
lxlfnwlg5c7m4m0yyu9zrpxa54vof8y
CPRT/b380
0
121708
1091106
1091053
2026-09-19T15:36:43Z
Pelikam
111447
/* Energie I */
1091106
wikitext
text/x-wiki
[[CPRT|< Inhaltsverzeichnis - CPRT]]
== Energie I ==
{|
|-
|| <math> (01)\quad </math>
|| <math> dE(N,S,V) </math>||<math> = </math>||<math>
+\,\mu\,dN + t\,dS + p\,d(-V) </math>
|-
|| <math> (02)\quad </math>
|| <math> dI(\mu,S,V) </math>||<math> = </math>||<math>
-\,N\,d\mu + t\,dS + p\,d(-V) </math>
|-
|| <math> (02)\quad </math>
|| <math> dI(N,S,V) </math>||<math> = </math>||<math>
+\,\mu_{E}^{I}\,dN + t_{E}^{I}\,dS + p_{E}^{I}\,d(-V) </math>
|-
|| <math> (03)\quad </math>
|| <math> I(\mu,S,V) </math>||<math> = </math>||<math>
+\,t\,S + p\,(-V) </math>
|-
|| <math> (03)\quad </math>
|| <math> I(N,S,V) </math>||<math> = </math>||<math>
+\,\mu_{E}^{I}\,N + t_{E}^{I}\,S + p_{E}^{I}\,(-V) </math>
|}
=== Variante a) ===
Eine neue Variable: <math>N</math> kommt, <math>\mu</math> geht.
(04a) folgt aus (03) und (03a). (05a) folgt aus (02a) und (03a).
{|
|-
|| <math> (01a)\quad </math>
|| <math> -\,N\,d\mu(N,S,V) </math>||<math> = </math>||<math>
+ \left[ 0 - N\frac{\partial \mu}{\partial N} \right] dN
+ \left[ 0 - N\frac{\partial \mu}{\partial S} \right] dS
+ \left[ 0 - N\frac{\partial \mu}{\partial (-V)} \right] d(-V) </math>
|-
|| <math> (02a)\quad </math>
|| <math> dI(N,S,V) </math>||<math> = </math>||<math>
+ \left[ 0 - N\frac{\partial \mu}{\partial N} \right] dN
+ \left[ t - N\frac{\partial \mu}{\partial S} \right] dS
+ \left[ p - N\frac{\partial \mu}{\partial (-V)} \right] d(-V) </math>
|-
| <math> (03a)\quad </math>
|| <math> F(N,S,V) </math>||<math> = </math>||<math>
+ \left[ 0 - N\frac{\partial \mu}{\partial N} \right] N
+ \left[ t - N\frac{\partial \mu}{\partial S} \right] S
+ \left[ p - N\frac{\partial \mu}{\partial (-V)} \right] (-V) </math>
|-
| <math> (04a)\quad </math>
|| <math> 0\,(N,S,V) </math>||<math> = </math>||<math>
+ \left[ 0 - N\frac{\partial \mu}{\partial N} \right] N
+ \left[ 0 - N\frac{\partial \mu}{\partial S} \right] S
+ \left[ 0 - N\frac{\partial \mu}{\partial (-V)} \right] (-V) </math>
|-
|| <math> (05a)\quad </math>
|| <math> 0\,(N,S,V) </math>||<math> = </math>||<math>
-\,N\,d\left[ 0 - N\frac{\partial \mu}{\partial N} \right]
- S\,d\left[ t - N\frac{\partial \mu}{\partial S} \right]
- (-V)\,d\left[ p - N\frac{\partial \mu}{\partial (-V)} \right] </math>
|}
=== Variante b) ===
Eine neue Variable: <math>N</math> kommt, <math>\mu</math> geht.
(04b) folgt aus (03) und (03b). (05b) folgt aus (02b) und (03b).
{|
|-
|| <math> (01b)\quad </math>
|| <math> -\,N\,d\mu(N,S,V) </math>||<math> = </math>||<math>
+ \left[ 0 - N\frac{\partial \mu}{\partial N} \right] dN
+ \left[ 0 - N\frac{\partial t}{\partial N} \right] dS
+ \left[ 0 - N\frac{\partial p}{\partial N} \right] d(-V) </math>
|-
|| <math> (02b)\quad </math>
|| <math> dF(N,S,V) </math>||<math> = </math>||<math>
+ \left[ 0 - N\frac{\partial \mu}{\partial N} \right] dN
+ \left[ t - N\frac{\partial t}{\partial N} \right] dS
+ \left[ p - N\frac{\partial p}{\partial N} \right] d(-V) </math>
|-
|| <math> (03b)\quad </math>
|| <math> F(N,S,V) </math>||<math> = </math>||<math>
+ \left[ 0 - N\frac{\partial \mu}{\partial N} \right] N
+ \left[ t - N\frac{\partial t}{\partial N} \right] S
+ \left[ p - N\frac{\partial p}{\partial N} \right] (-V) </math>
|-
|| <math> (04b)\quad </math>
|| <math> 0\,(N,S,V) </math>||<math> = </math>||<math>
+ \left[ 0 - N\frac{\partial \mu}{\partial N} \right] N
+ \left[ 0 - N\frac{\partial t}{\partial N} \right] S
+ \left[ 0 - N\frac{\partial p}{\partial N} \right] (-V) </math>
|-
|| <math> (05b)\quad </math>
|| <math> 0\,(N,S,V) </math>||<math> = </math>||<math>
-\,N\,d\left[ 0 - N\frac{\partial \mu}{\partial N}\,\right]
- S\,d\left[ t - N\frac{\partial t}{\partial N}\,\right]
- (-V)\,d\left[ p - N\frac{\partial p}{\partial N}\,\right] </math>
|}
=== Variante c) ===
Eine neue Variable: <math>N</math> kommt, <math>\mu</math> geht.
(04c) folgt aus (03) und (03c). (05c) folgt aus (02c) und (03c).
{|
|-
|| <math> (01c)\quad </math>
|| <math> -\,N\,d\mu(N,S,V) </math>||<math> = </math>||<math>
+ \left[ 0 + S\frac{\partial \mu}{\partial S} + V\frac{\partial \mu}{\partial V} \right] dN
+ \left[ 0 + S\frac{\partial t}{\partial S} + V\frac{\partial t}{\partial V} \right] dS
+ \left[ 0 + S\frac{\partial p}{\partial S} + V\frac{\partial p}{\partial V} \right] d(-V) </math>
|-
|| <math> (02c)\quad </math>
|| <math> dF(N,S,V) </math>||<math> = </math>||<math>
+ \left[ 0 + S\frac{\partial \mu}{\partial S} + V\frac{\partial \mu}{\partial V} \right] dN
+ \left[ t + S\frac{\partial t}{\partial S} + V\frac{\partial t}{\partial V} \right] dS
+ \left[ p + S\frac{\partial p}{\partial S} + V\frac{\partial p}{\partial V} \right] d(-V) </math>
|-
|| <math> (03c)\quad </math>
|| <math> F(N,S,V) </math>||<math> = </math>||<math>
+ \left[ 0 + S\frac{\partial \mu}{\partial S} + V\frac{\partial \mu}{\partial V} \right] N
+ \left[ t + S\frac{\partial t}{\partial S} + V\frac{\partial t}{\partial V} \right] S
+ \left[ p + S\frac{\partial p}{\partial S} + V\frac{\partial p}{\partial V} \right] (-V) </math>
|-
|| <math> (04c)\quad </math>
|| <math> 0\,(N,S,V) </math>||<math> = </math>||<math>
+ \left[ 0 + S\frac{\partial \mu}{\partial S} + V\frac{\partial \mu}{\partial V} \right] N
+ \left[ 0 + S\frac{\partial t}{\partial S} + V\frac{\partial t}{\partial V} \right] S
+ \left[ 0 + S\frac{\partial p}{\partial S} + V\frac{\partial p}{\partial V} \right] (-V) </math>
|-
|| <math> (05c)\quad </math>
|| <math> 0\,(N,S,V) </math>||<math> = </math>||<math>
-\,N\,d\left[ 0 + S\frac{\partial \mu}{\partial S} + V\frac{\partial \mu}{\partial V} \right]
- S\,d\left[ t + S\frac{\partial t}{\partial S} + V\frac{\partial t}{\partial V} \right]
- (-V)\,d\left[ p + S\frac{\partial p}{\partial S} + V\frac{\partial p}{\partial V} \right] </math>
|}
== Herleitungen Energie I ==
2hmoinqg3fc3cl96skwv5lxt4ri39bb
First Responder/ Besondere Situationen und Gefahren
0
123022
1091126
1091066
2026-09-20T08:02:14Z
2ndoptimist
116642
1091126
wikitext
text/x-wiki
== Infektionen ==
=== Krankheitserreger ===
Beim Kontakt mit Körperflüssigkeiten (Blut, Speichel, Sekreten) besteht prinzipiell die Gefahr der Übertragung von Krankheitserregern. Die relevantesten Pathogene sind:
* '''Hepatitis B (HBV):''' Ein hochinfektiöses Virus, das die Leber befällt. Es ist sehr umweltstabil und kann auch in getrockneten Blutstropfen noch infektiös sein. Das Risiko einer chronischen Erkrankung ist hoch.
* '''Hepatitis C (HCV):''' Ebenfalls ein Leber-Virus. Es ist weniger infektiös als HBV, führt aber in einem hohen Prozentsatz zu chronischen Lebererkrankungen. Es gibt keine Impfung.
* '''HIV (Humanes Immundefizienzvirus):''' Das Virus schwächt das Immunsystem und führt zu AIDS. Das Infektionsrisiko nach einer Nadelstichverletzung ist vergleichsweise gering (ca. 0,3 %), aber aufgrund der Schwere der Erkrankung existieren strenge Prophylaxe-Regeln.
Weitere Erreger: Tuberkulose (Tröpfcheninfektion), MRSA (multiresistente Erreger), diverse bakterielle Erreger (z.B. Tetanus), Noroviren, ...
=== Übertragungswege im Einsatz ===
Die Übertragung erfolgt nahezu ausschliesslich über den direkten Kontakt mit Körperflüssigkeiten.
* '''Blutkontakt:''' Offene Wunden am Helfer kommen mit Blut des Patienten in Kontakt.
* '''Stich- und Schnittverletzungen:''' Das ist die häufigste Gefahr im Einsatz. Verletzung durch Kanülen, Skalpelle oder Glassplitter, die mit Patientenblut kontaminiert sind ("Nadelstichverletzung") ermöglichen eine direkte Übertragung von Erregern in tiefere, oftmals schlecht blutende Verletzungen (kein "Ausspülen" der Wunde durch starke Blutung, schlechte Erreichbarkeit mit Desinfektionsmittel oder Antibiotika).
* '''Schleimhautkontakt:''' Spritzer von Blut oder Sekreten gelangen in die Augen (Bindehaut), den Mund oder die Nase.
* '''Aerosole (Beatmung):''' Bei der Mund-zu-Mund-Beatmung oder bei der Intubation besteht ein (wenn auch geringes) Risiko der Übertragung über den Luftweg mit Erregern wie Tuberkulose oder COVID.
=== Persönliche Schutzausrüstung (PSA) ===
Der beste Schutz ist die Vermeidung von Kontakt. Die Basis-Schutzausrüstung gilt bei jedem Patienten, da man den Infektionsstatus oft nicht sofort erkennen kann. Das einfachste und meistens auch am besten Verfügbare Mittel sind die Einmalhandschuhe diese sind Unverzichtbar bei jeglichem Kontakt mit Körperflüssigkeiten oder offenen Wunden. Wechseln zwischen unterschiedlichen Patienten ist zwingend.
Ein Mund-Nasen-Schutz (FFP2-Masken) bieten Schutz vor Tröpfcheninfektionen für den Patienten und Helfer (Schleimhautschutz).
Unter keinen Umständen sollte eine direkte Mund-zu-Mund-Beatmung ohne Barriere erfolgen. Die Nutzung von Beatmungsmaske mit Ventil, einer Pocket-Mask oder dem Beatmungsbeutel (Ambu-Beutel) verringert ein Infektionsrisiko für den Helfer enorm.
=== '''Empfohlene Impfungen''' ===
Impfungen sind ein effektiver vorbeugende Schutz. Diese Impfungen können beim Hausarzt oder in der Apotheke durchgeführt werden. Folgende Immunisierung werden empfohlen:
* '''Hepatitis B:''' Das Impfschema umfasst in der Regel 3 Dosen innerhalb von 6 Monaten. In der Regel ist keine Auffrischimpfung notwendig.
* '''Tetanus (Wundstarrkrampf):''' Grundimmunisierung und Auffrischung alle 10 Jahre (bei Verletzungen ggf. früher). Diese Impfung ist in der Regel kombiniert mit Diphterie und Keuchhusten.
=== Notfallmassnahmen bei Kontamination ===
Wenn trotz aller Vorsicht doch etwas passiert gilt: Schnelligkeit und korrektes Handeln senken das Infektionsrisiko drastisch.
* Bei '''Stich- oder Schnittverletzung''' (Nadelstichverletzung) soll man nicht pressen/reiben. Wenn man die Wunde versucht auszudrücken oder zu massieren fördert dies die Ausbreitung. Die Wunde sollte kurz bluten, um Erreger auszuschwemmen. Anschliessend sofort gründliches Desinfizieren der Wunde mit Wunddesinfektionsmittel. Zudem soll man den Zeitpunkt, Art der Verletzung und Informationen zum Patienten notieren. Verletzungen mit einem Blut-Blut Kontakt sind ein Notfall. Die Entscheidung über eine medikamentöse Prophylaxe (besonders HIV) muss meistens innerhalb von Stunden getroffen werden.
* Findet eine '''Kontamination über Schleimhäuten''' (Auge/Nase/Mund) statt, ist erst ausgiebig zu Spülen: Augen und Mund sofort und reichlich mit Wasser oder physiologischer Kochsalzlösung ausspülen (mindestens 5-10 Minuten). Die Augenlider sind dabei offen zu halten. Es gehören keine Desinfektionsmittel ins Auge: Nur Wasser/ Kochsalzlösung verwenden. Keine aggressive Desinfektion an Schleimhäuten anwenden. Auch diese Art der Kontamination gehört in ärztliche Abklärung.
* Bei einer '''Kontamination der intakten Haut''' reicht Abwaschen, die gründliche Reinigung mit Wasser und Seife und die anschliessende Desinfektion Verhindert eine Krankheitsübertragung bei einem Helfer mit intaktem Immunsystem zuverlässig.
* Gelangen Flüssigkeiten oder andere Ausscheidungsprodukte '''auf die Kleider''', so sind diese mit mindestens 60°C und ggf. desinfizierendem Waschmittel zu waschen.
=== Post-Expositions-Prophylaxe (PEP) ===
Wenn ein hohes Risiko besteht (z.B. Nadelstich mit HIV-blutiger Kanüle bei einem HIV-positiven Patienten), kann eine Post-Expositions-Prophylaxe eingeleitet werden. Diese besteht aus einer Kombination antiretroviraler Medikamente, die über ca. 4 Wochen eingenommen werden muüssen. Diese PEP muss so früh wie möglich, idealerweise innerhalb von 2 Stunden, spätestens nach 24-48 Stunden begonnen werden, um wirksam zu sein.
Bei fehlendem Impfschutz gegenüber Hepatitis B wird eine passive Immunisierung (Hepatitis-B-Immunoglobulin) vorgenommen. Gegen Hepatitis C gibt es keine wirksame Impfung. Eine medikamentöse Frühbehandlung ist nur in Einzelfällen sinnvoll; regelmässige Blutkontrollen sind notwendig, um eine Infektion frühzeitig zu erkennen.
== Tiere ==
Das Tier ist nicht ein Patient, ein Tier ist eine Gefahrenquelle!
Als First Responder kannst du in der Regel nicht beurteilen ob beispielsweise ein Pferd "brav" ist. Ein dem Halter vertrautes Tier ist nicht automatisch gegenüber Fremden ungefährlich. Verletzung, Schmerzen, Angst, Fixierung oder ungewohnte Situationen können das Verhalten eines sonst ruhigen Tieres verändern.
Als First Responder sollte man nicht anfangen, ein Pferd zu streicheln oder eine Kuh wegdrücken, nur damit man besser zum Patienten kommt.
=== Hunde ===
In der Schweiz werden über 500'000 Hunde gehalten. Dass man im Rahmen eines Einsatzes mit einem kleineren oder grösseren Exemplar in Kontakt kommt ist also sehr wahrscheinlich.
Wenn möglich sollte man den Hund sichern lassen, bevor der First Responder zum Patienten geht, sofern die Situation dies zulässt. Bei einem Einsatz, bei dem der Hund nicht durch Anwesende gesichert/betreut werden kann, muss die Notrufzentrale entscheiden, wie mit dem Tier verfahren wird und entsprechende Spezialisten aufbieten. Der First Responder sollte nicht versuchen, das Tier eigenmächtig zu fangen oder zu fixieren.
Wenn sich jedoch Haustiere relativ entspannt verhalten und ein Betreten der Wohnung möglich ist, ist darauf zu achten, dass das Tier die Wohnung nicht verlässt. Haustüren sind geschlossen zu halten, bestenfalls kann das Tier in einem anderen Raum gesperrt werden. Die Betreuung des Tieres ist auch nach Ende des Einsatzes (durch Angehörige, Nachbarn, Gemeinde...) sicherzustellen.
==== '''Gefahren''' ====
* Bissverletzungen
* Anspringen und Umwerfen
* Verteidigung des Halters oder des Territoriums
* Angst- und Schmerzreaktionen
* unvorhersehbares Verhalten durch Stress, Verletzung oder Krankheit
* mehrere Hunde können sich gegenseitig hochschaukeln – Rudelverhalten
* Hund kann den Zugang zum Patienten oder Fluchtweg blockieren
==== '''Besonders beachten''' ====
* Abstand halten und Verhalten des Hundes beobachten.
* Nicht ungefragt auf den Hund zugehen oder ihn anfassen.
* Nicht direkt in die Augen starren und keine hektischen Bewegungen machen.
* Halter auffordern, den Hund sicher zu sichern, sofern dies gefahrlos möglich ist.
* Auch ein angeleinter Hund kann beissen.
* Bei einem verletzten oder bewusstlosen Halter besonders vorsichtig sein: Der Hund kann den Halter beschützen.
* Einen unbekannten Hund nicht selbst sichern oder anleinen, wenn dadurch eine Gefährdung entsteht.
* Bei aggressivem, freilaufendem oder nicht kontrollierbarem Hund: Abstand halten und Spezialisten anfordern.
==== Warnzeichen ====
Ein Hund muss nicht knurren, um gefährlich zu sein.
Achtung insbesondere bei:
* Erstarren / sehr steifer Körperhaltung
* fixierendem Blick
* aufgestelltem Fell
* Zurückziehen der Lefzen
* Knurren oder Bellen
* angelegten oder stark nach hinten gerichteten Ohren
* Rückzug in eine Ecke
* starkem Hecheln/Zittern unter Stress
* hektischen Bewegungen
'''Wichtig:''' Schwanzwedeln bedeutet nicht automatisch "freundlich". Ein Hund kann auch unter Anspannung oder Erregung mit dem Schwanz wedeln.
=== Grosstiere – Herdentiere ===
Beispiele: Rinder / Kühe, Schafe, Ziegen
==== '''Gefahren''' ====
* Tiere können durch die Anwesenheit von Fremden unruhig werden
* Herdenbewegungen können Personen umrennen oder einklemmen
* Muttertiere können bei Gefahr für Jungtiere aggressiv reagieren
* Eingeschlossene oder bedrängte Tiere können unberechenbar reagieren
* Fluchtwege der Tiere können den Zugang zum Patienten versperren.
==== '''Grundregel''' ====
* Nicht in eine Herde hineingehen
* Abstand halten und den Besitzer bzw. eine fachkundige Person hinzuziehen
=== Grosstiere – Fluchttiere ===
Beispiele: Pferde, Esel und andere grosse Huftiere.
==== '''Gefahren''' ====
* Fluchtreaktion bei ungewohnten Geräuschen, Blaulicht, Sirenen oder hektischen Bewegungen
* Ausschlagen mit den Hinterbeinen
* Beissen
* Umrennen
* Aufsteigen oder Niederdrücken
* Eingeklemmtwerden zwischen Tier und Hindernis
* Panikreaktionen können auch auf andere Tiere übergreifen.
==== '''Besonders beachten''' ====
* Nicht direkt hinter einem Pferd stehen
* Sind Muttertiere mit Nachkommen in der Nähe besteht besondere Gefahr durch Mutterinstinkte
* Nicht zwischen Tier und Wand, Fahrzeug oder anderem Hindernis geraten
* Keine hektischen Bewegungen
* Sirenen und Blaulicht wenn möglich auf den letzten Anfahrtsmetern ausschalten
* Rettungsmittel nicht ungeordnet in unmittelbarer Nähe des Tieres ablegen
* Tier nicht selbst sichern oder bewegen, wenn dafür keine Ausbildung/ Erfahrung besteht
==== '''Grundregel:''' ====
* Eigenschutz
* Erst den Patienten sichern, dann das Tier. Bei unklarer oder gefährlicher Tierlage Besitzer, Feuerwehr bzw. entsprechend ausgebildete Einsatzkräfte nachfordern.
=== Gifttiere ===
== Giftpflanzen ==
=== Riesenbärklau ===
== Chemische Gefahrenstoffe ==
''„Wenn Du es riechst, schmeckst oder es brennt – Du bist schon zu nah dran! Bei jedem Verdacht auf chemische Gefahren: Rückzug, Absperren, Zugluft schaffen, Feuerwehr nachfordern.“''
=== Aufnahmewege für Gifte (Expositionswege) ===
Es gibt vier Hauptwege, wie chemische Stoffe in den Körper gelangen:
# '''Inhalation (Einatmen):''' Aufnahme über die Atemwege (Nase, Mund, Luftröhre, Lunge). Die Lunge bietet eine riesige Oberfläche und führt Gase, Dämpfe und Stäube extrem schnell ins Blut.
# '''Dermale Aufnahme (Haut):''' Viele Stoffe dringen durch die Haut (Perkutane Aufnahme) oder greifen sie direkt an. Die Haut ist kein undurchlässiges Paneel!
# '''Orale Aufnahme (Verschlucken):''' Aufnahme über den Mund in den Magen-Darm-Trakt.
# '''Injektion/Perkutane Verletzung:''' Aufnahme durch die Haut hindurch via Stich oder Schnitt (z. B. verunreinigte Spritzen oder Glassplitter).
=== Relevanz für den Ersthelfer-Eigenschutz ===
Für First Responder ist die Reihenfolge der Gefahr völlig anders als bei einem Unfall im Haushalt. Verschlucken spielt für den Helfer praktisch keine Rolle, es sei denn, man leckt sich versehentlich an verunreinigten Handschuhen ab.
Die eigenschutzrelevanten Wege in absteigender Reihenfolge:
* '''Über die Lunge'''
** Gase und Dämpfe sind unsichtbar, oft geruchlos (z. B. CO) und verbreiten sich rasend schnell. Man kann sie nicht „wegsehen“ oder „wegblockieren“. Ein paar Atemzüge können zum Kollaps oder Tod führen.
* '''Über die Haut'''
** Flüssigkeiten (Säuren, Laugen, Lösungsmittel) können auf die Haut spritzen oder durch die Kleidung wandern. Gase können sich an der feuchten Haut oder in Schweiss lösen und in den Körper gelangen. Vielfach bemerkt man Verletzung dieser Art erst verzögert, gerad unter Stress nimmt man zum Beispiel ein Brennen von ätzender Säure auf der Haut erst wahr, wenn die Verletzung schon stark ausgedehnt oder tief ist.
* '''In die Blutbahn'''
** Gefahr durch scharfe Gegenstände (Glasscherben von Chemikalienflaschen, Spritzen bei Drogennotfällen).
* '''Über den Mund'''
** Nur relevant, wenn Helfer mit kontaminierten Händen essen, oder trinken. Oder beim Beatmen von einem kontaminierten Patienten ohne die Verwendung der Atemmaske.
=== Typische Gefahren an der Einsatzstelle ===
==== Gase aus Verbrennungsprozessen (Motoren, Öfen, Brände) ====
* '''Kohlenmonoxid (CO):''' Geruchlos, farblos, bindet sich an das Hämoglobin viel stärker als der Sauerstoff und blockiert so den lebenswichtigen Gastransport des Sauerstoffs. Entsteht bei unvollständiger Verbrennung (Defekte Heizungen, laufende Motoren in Garagen, Brände). Schon geringe Konzentrationen führen zu Bewusstlosigkeit.
* '''Kohlendioxid (CO<sub>2</sub>):''' Schwerer als Luft, sammelt sich in Kellern, Gruben oder Silos an. Verdrängt den Sauerstoff (Erstickungsgefahr), führt zu Atemnot und Herzrhythmusstörungen.
==== Landwirtschaftliche Gefahren (Silos, Güllegruben) ====
* '''Silogase / Gärgase:''' Beim Vergären von Silage entstehen giftige Gase. Besonders gefürchtet ist Stickstoffdioxid (NO<sub>2</sub>), das zu einem toxischen Lungenödem führt (Wirkung oft erst nach Stunden mit tödlichem Ausgang). Dazu kommt hohe CO<sub>2</sub>-Konzentration durch Fermentation.
* '''Schwefelwasserstoff (H<sub>2</sub>S):''' Bei Gülle. Riecht anfangs nach faulen Eiern, betäubt aber sofort den Geruchssinn. Der Helfer wundert sich, warum es „nicht mehr stinkt“ – und bricht zusammen.
==== Haushaltschemikalien (Putzmittel, Laugen) ====
* '''Chlorgas (Cl<sub>2</sub>):''' Entsteht lebensgefährlich, wenn säurehaltige Reiniger (z. B. WC-Entkalker) mit chlorhaltigen Putzmitteln (z. B. Dan Klorix, Javellewasser) gemischt werden. Greift Lunge und Schleimhäute massiv an.
* '''Laugen (Natronlauge etc.):''' In Abflussreiniger oder Reinigungsmittel in der Landwirtschaft und Nahrungsmittelindustrie. Führen zu schweren, oft schmerzlosen Verätzungen der Haut und Augen (Laugen verflüssigen Gewebe).
==== Industrielle Gefahren (Säuren, Laugen, Lösungsmittel) ====
* '''Säuren (Schwefelsäure, Salzsäure, Flusssäure):''' Schwere Verätzungen. ''Besonderheit Flusssäure:'' Zerstört Calcium im Blut und im Gewebe, kann schon über kleine Hautstellen tödlich wirken, schmerzt anfangs oft kaum.
* '''Lösungsmittel (z. B. Benzin, Aceton,''' '''Farbverdünner):''' Entfetten die Haut, machen sie durchlässig für andere Gifte. Wirken narkotisierend (Schwindel, Bewusstlosigkeit) und sind oft schwer entflammbar bis explosiv.
=== Wie schützt man sich? ===
Als Firstresponder haben wir keine spezielle Chemikalienschutzausrüstung. Der Schutz muss daher primär über Distanz und das Verhalten erfolgen.
==== Das A-B-C der Gefahrenabwehr ====
* '''A - Abstand halten:''' Unbekannte Substanz? Nicht rangehen! Mindestabstände wahren.
* '''B - Blicken und Beobachten:''' Gibt es Nebel, Dämpfe, tote Tiere, Gerüche? Liegen zerbrochene Kanister herum?
* '''C - Chemieschutz anfordern:''' Wenn man es nicht eindeutig identifizieren kann, rückt die Feuerwehr an. Ein normaler Rettungsdienst leitet den Einsatz nur bis zum Eintreffen der Spezialisten!
==== Atemschutz ====
* '''FFP2/FFP3-Masken:''' Schützen nur gegen Partikel (Staub, Rauch), aber nicht gegen Gase und Dämpfe! Gegen Chlorgas oder CO ist eine FFP-Maske völlig nutzlos.
* '''Atemschutzmaske mit Filter (z.B. ABEK-Filter):''' Ist üblicherweise nicht verfügbar. Schützt gegen bestimmte Gase, aber nicht gegen CO (dafür braucht es spezielle CO-Filter) und nicht vor Sauerstoffmangel.
* '''Fazit:''' Der beste Atmungsschutz bei unbekannten Gasen ist Fenster und Türen zu öffnen (Querlüftung) und sich windabwärts zu positionieren. Bei Verdacht auf CO/CO<sub>2</sub> oder Silogase: Niemals ohne umluftunabhängigen Atemschutz (Pressluftatmer) in den Gefahrenbereich gehen!
==== Haut- und Körperschutz ====
* '''Handschuhe:''' Normale medizinische Untersuchungshandschuhe (Nitril) bieten nur minimalen Splitterschutz. Gegen Lösungsmittel oder starke Säuren können sie durchscheuern oder porös werden. Bei industriellen Einsätzen sind dicke Chemikalschutzhandschuhe notwendig.
* '''Kleidung:''' Arbeitskleidung bieten keinen Schutz gegen flüssige Chemikalien (sie saugen sich voll und halten den Stoff direkt am Körper). Nassraum- oder Spritzschutzanzüge (aus Kunststoff) sind erforderlich.
* '''Augenschutz:''' Schutzbrille zwingend bei allen Einsätzen mit Spritzgefahr (Säuren, Laugen, Chlor). Ein Augentrauma durch Chemikalien ist eine absolute Notfall-Situation.
==== Taktik: Windrichtung nutzen ====
* Gase und Dämpfe verhalten sich wie Rauch. Man muss sich immer windabwärts oder quer zum Wind aufhalten. Niemals im Wind stehen, da der Gefahrenstoff auf einen zugeweht wird.
==== Dekontamination ====
* '''Ausziehen:''' Kontaminierte Kleidung sofort ausziehen (vorsichtig, nicht über den Kopf ziehen, schneiden falls nötig).
* '''Verdünnen - Spülen:''' Bei Kontakt mit Säuren, Laugen oder Reizgasen (Chlor) sofort und grossflächig mit viel Wasser spülen während mindestens 15-20 Minuten.
* '''Nicht abtrocknen:''' Bei Säuren/Laugen nicht abtupfen, das reibt den Stoff nur tiefer in die Haut
== Brandgase ==
Durch die Verbreitung von Kunststoffen (Isolierungen, Möbel, Kabel, Teppiche) in modernen Gebäuden hat sich das Brandgeschehen drastisch verändert. Der Rauch von heute ist eine hochkomplexe, chemische Todesfalle.
Man spricht heute bei Bränden von der "Toxischen Trias" (CO, HCN, Phosgen/HCl).
Die Exposition gegenüber Phosgen kann auch nach Stunden noch tödlich wirken. Das Betreten von verrauchten Bereichen ist für First Responder ohne umluftunabhängigen Atemschutz (Pressluftatmer) strengstens untersagt.
=== Die toxischen Brandgase im Detail ===
==== Blausäure (Cyanwasserstoff - HCN) ====
* '''Herkunft:''' Entsteht bei der Verbrennung von stickstoffhaltigen Kunststoffen. Das betrifft fast alle modernen Möbel (Polyurethan-Schaum, wie er in Matratzen, Polstern und Teppichböden verwendet wird), aber auch Seide und Wolle.
* '''Wirkung:''' HCN ist ein hochgradiges Zellgift. Es blockiert die Zellatmung. Das bedeutet: Der Sauerstoff ist zwar im Blut vorhanden (die Haut ist oft leuchtend rot!), kann aber von den Organen nicht mehr verwertet werden. Der Patient erstickt innerlich.
* '''Gefahr:''' Blausäure ist extrem flüchtig, leichter als Luft und breitet sich rasend schnell aus. Schon geringe Konzentrationen führen bei ungeschützten Personen zu Schwindel, Bewusstlosigkeit und Herzstillstand.
* '''Wichtig:''' Der typische Geruch nach "Bittermandeln" ist unzuverlässig! Etwa 20 bis 40 % der Menschen können Blausäure genetisch bedingt gar nicht riechen.
==== 2. Phosgen (Kohlenstoffchlorid - COCl<sub>2</sub>) ====
* '''Herkunft:''' Entsteht, wenn chlorhaltige Kunststoffe verbrennen. Der Klassiker ist '''PVC''' (Kabelisolierungen, Rohre, Fensterprofile, Bodenbeläge). Auch Kältemittel (Frigene) oder Lösungsmittel können unter Hitzeeinwirkung Phosgen bilden.
* '''Wirkung:''' Phosgen ist ein Lungengift, es wurde im Ersten Weltkrieg als Giftgas eingesetzt. Es führt zu einem massiven, toxischen Lungenödem (Wasser in der Lunge).
* '''Gefahr:''' Phosgen riecht bei niedrigen Dosen leicht nach "heuig" oder faulig, reizt anfangs aber kaum. Die tödliche Wirkung setzt oft mit einer Latenzzeit von 2 bis 24 Stunden ein. Der Helfer atmet es ein, hilft bei der Patientenversorgung, fühlt sich völlig fit, geht nach dem Einsatz nach Hause und bekommt nachts plötzlich keine Luft mehr und erstickt (vielleicht sogar im Schlaf).
==== Salzsäuregas (Chlorwasserstoff - HCl) ====
* '''Herkunft:''' Ebenfalls aus der Verbrennung von PVC und anderen chlorhaltigen Materialien. Es ist meist der Begleiter von Phosgen.
* '''Wirkung:''' HCl ist ein stark ätzendes Gas. Es greift Schleimhäute, Augen und die Atemwege an. Es bildet in der Lunge Salzsäure, die das Gewebe zerstört.
* '''Gefahr:''' Im Gegensatz zu Phosgen warnt HCl sich selbst. Es reizt extrem, führt zu heftigem Hustenreiz, Augenbrennen und Würgen. Die Gefahr hier ist, dass der Helfer durch den Schmerz panisch flieht, sich dabei verletzt oder – wenn er die Reizung ignoriert – schwere, dauerhafte Atemwegsschäden davonträgt.
=== Was bedeutet das für den Eigenschutz bei Bränden? ===
'''Der Mythos vom "nassen Tuch"''': Das in Filmen oft gezeigte Einatmen durch ein feuchtes Tuch schützt nicht vor Blausäure und Phosgen! Es filtert höchsts grobe Russpartikel. Gegen gasförmige Gifte ist es nutzlos, es vermittelt eine falsche Sicherheit.
'''FFP-Masken sind bei Bränden wertlos:''' Eine FFP2- oder FFP3-Maske filtert Partikel (Russ). Sie hat keinen Aktivkohlefilter und bietet keinen Schutz gegen CO, HCN, Phosgen oder HCl. Wer mit einer FFP-Maske in verrauchten Räumen geht, vergiftet sich genauso wie ohne.
'''Die einzige Schutzmöglichkeit - Pressluftatmer (PA):''' Jeder Eindringen in eine verrauchte Umgebung (auch "nur" um schnell eine Person zu ziehen) erfordert einen umluftunabhängigen Atemschutz (Pressluftatmer). Das Finden und Evakuieren von Personen aus Bereichen mit Atemgiften ist Aufgabe der Feuerwehr.
'''Eigenschutz bei der Patientenversorgung:''' Selbst wenn der Patient schon aus dem Rauch gerettet wurde und im Freien liegt, ist er eine Gefahrenquelle. In seinen Kleidern, Haaren und vor allem in seinem Atem (er atmet die Gifte wieder aus) befinden sich HCN, Phosgen und CO.
* '''Massnahme:''' Grosser Abstand zum Gesicht des Patienten beim ersten Ansprechen. Patient zügig entkleiden (Kleidung in Plastiksack werfen) und den Patienten selbst mit Sauerstoff beatmen/versorgen, damit er die Gifte ausatmet und die Umgebung nicht weiter belastet.
== Elektrizität ==
== Explosive / brennbare Stoffe ==
=== Treibstoffe ===
=== Gas ===
liwiouwcpmjw2p3toby3r1wap2w95p8
Gitarre: CAGED-Stammtöne - Zweiter Fingersatz
0
123115
1091116
1091000
2026-09-19T17:54:01Z
Mjchael
2222
/* Sascha (Dm-Form) */
1091116
wikitext
text/x-wiki
[[Gitarre: CAGED-Stammtöne - Erster Fingersatz]]
Verkleinern einer übergroßen Seite
== Zweiter Fingersatz ==
:[[Datei:Scala 6_71-2_34.svg]]
Zuerst suchen wir uns in der C-Dur-Tonleiter überall den zweiten Fingersatz heraus.
:[[Datei:C-Major-Scale_on_the_fretboard_second_fingering.svg]]
Zur leichteren Orientierung wird die Grafik bei jeder neuen Melodie wiederholt.
=== Rondeau (Auszug) ===
Die eintaktige Sequenzen wurde aus einem Rondeau von J.S. Bach entnommen. Der Grundton C, welcher im letzten Takt rot eingefärbt wurde, wird mit dem kleinen Finger gegriffen.
Am Anfang des Griffbrettes brauchen wir den zweiten Fingersatz nicht vollständig.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (C-Form) in C-Dur"
subtitle="Rondeau (Auszug)"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c {
% \set TabStaff.minimumFret = #5
% \set TabStaff.restrainOpenStrings = ##t
\key c \major
\repeat volta 2 {
e8 d e f e d c e
d c d e d c b d
c b c d c b a c
b a b c d b c d
}
\once \override NoteHead #'color = #red c1^\markup { \bold {(C)} }
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 4/4
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
e8 d e f e d c e
d c d e d c b d
c b c d c b a c
b a b c d b c d
c
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
<br>
In der A-(Bb-)Form müssen wir den Lagewechsel zwischen der G- und H-Saite beachten. Übrigens werden hier die Töne in der englischen Form angegeben. (Bb-Form und der Ton B statt des deutschen H.)
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (A-, Bb-Form) in C-Dur"
subtitle="Rondeau (Auszug)"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c' {
\set TabStaff.minimumFret = #2
\set TabStaff.restrainOpenStrings = ##t
\key c \major
\repeat volta 2 {
e8-3 d e f e d c e-4
d-2 c d e d c b d
c b c d c b a c
b a b c d-1 b c d
}
\once \override NoteHead #'color = #red c1^\markup { \bold {(C)} }
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 4/4
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
e8 d e f e d c e
d c d e d c b d
c b c d c b a c
b a b c d b c d
c
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
<br>
Leite dir den Grundton C vom Barré im 8. Bund ab, oder suche das A im 5. Bund (hier grün hervorgehoben).
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (G-Form) in C-Dur"
subtitle="Rondeau (Auszug)"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c {
\set TabStaff.minimumFret = #5
\set TabStaff.restrainOpenStrings = ##t
\key c \major
\repeat volta 2 {
e8-2 d e f e d c e
d c d e d c b d
c b c d c b \once \override NoteHead #'color = #green a c
b a b c d b c d
}
\once \override NoteHead #'color = #red c1^\markup { \bold {(C)} }
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 4/4
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
e8 d e f e d c e
d c d e d c b d
c b c d c b a c
b a b c d b c d
c
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
<br>
Der kleine Finger des C-Barré im 8. Bund in der E- bzw. F-Form gibt gleichzeitig das C des zweiten Fingersatz an.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (E- F-Form) in C-Dur"
subtitle="Rondeau (Auszug)"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c' {
\set TabStaff.minimumFret = #7
\set TabStaff.restrainOpenStrings = ##t
\key c \major
\repeat volta 2 {
e8-2 d e f e d c e
d c d e d c b d
c b c d c b a c
b a b c d b c d
}
\once \override NoteHead #'color = #red c1^\markup { \bold {(C)} }
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 4/4
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
e8-2 d e f e d c e
d c d e d c b d
c b c d c b a c
b a b c d b c d
c
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
<br>
Für den Grundton C müssen wir uns die D-Form gar nicht so genau ins Gedächtnis rufen, wenn uns die C-Form viel vertrauter ist.
Diese hohe Lage ist für E-Gitarristen oder Gitarren mit Cutaway gedacht. Auf der Konzertgitarre ist die sehr hohe Lage schlecht zu spielen. Gehe ggf. einen Kompromiss ein, und spiele diese hohe Saitenlage ein paar Bünde tiefer als Übung nur für den Fingersatz aber nicht für die Notennamen.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (D-Form) in C-Dur"
subtitle="Rondeau (Auszug)"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c'' {
\set TabStaff.minimumFret = #9
\set TabStaff.restrainOpenStrings = ##t
\key c \major
\repeat volta 2 {
e8-2 d e f e d c e
d c d e d c b d
c b c d c b a c
b a b c d b c d
}
\once \override NoteHead #'color = #red c1^\markup { \bold {(C)} }
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 4/4
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
e8 d e f e d c e
d c d e d c b d
c b c d c b a c
b a b c d b c d
c
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
<br>
Noten über dem hohen C (der mit zwei Hilfslinien) wird dir seltener begegnen, da in dem Fall bevorzugt die Noten nach unten oktaviert werden. (Beachte die 8 im Notensystem.) Bei den weiteren Übungen werden jedoch die Versionen mit den vielen Hilfslinien angezeigt.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (D-Form) in C-Dur"
subtitle="Rondeau (Auszug)"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c'' {
\set TabStaff.minimumFret = #9
\set TabStaff.restrainOpenStrings = ##t
\key c \major
\repeat volta 2 {
\ottava #1 e8-2 d e f e d c e
d c d e d c b d
c b c d c b a c
b a b c d b c d
}
\once \override NoteHead #'color = #red c1^\markup { \bold {(C)} }
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 4/4
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
e8 d e f e d c e
d c d e d c b d
c b c d c b a c
b a b c d b c d
c
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
<br>
Mit der C-Form in den ersten drei Bünden im Hinterkopf ist der 12. Bund leicht zu bewältigen. Wieder eine Übung, die weniger für Konzertgitarren geeignet ist.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (C-Form) in C-Dur"
subtitle="Rondeau (Auszug)"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c' {
\set TabStaff.minimumFret = #12
\set TabStaff.restrainOpenStrings = ##t
\key c \major
\repeat volta 2 {
e8-2 d e f e d c e
d c d e d c b d
c b c d c b a c
b a b c d b c d
}
\once \override NoteHead #'color = #red c1^\markup { \bold {(C)} }
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 4/4
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
e8 d e f e d c e
d c d e d c b d
c b c d c b a c
b a b c d b c d
c
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
<br>
=== "Das häßliche Entlein" oder "Alle meine Entchen"<ref>Anspielung auf ein Märchen der Gebrüder Grimm nebst einem bekannten deutschen Kinderlied.</ref> in A-Moll ===
Die vorherige Übung war in Dur, und hier verwenden wir ein und den selben Fingersatz in Moll. Wie du siehst und hörst, lässt sich ein Fingersatz oder ein Pattern nicht eindeutig einer einzigen Tonart zuordnen. Der Schlusston oder der Schlussakkord (hier der Ton A bzw. der Akkord Am) bestimmt die Tonart. Der Grundton A ist hier die Sexte (6) des zugrunde liegenden C-Major-Pattern. Es bleibt dir überlassen, ob du zur Orientierung lieber den Grundton A (grün) bestimmst, oder das C aus dem Karré (rot).
Wenn in einer Tabulatur über einer Ziffer zwei Notenhälse stehen, so ist das ein Zeichen für eine halbe Note, die zwei Schläge dauert. Da dieses für viele Gitarristen sehr ungewöhnlich aussieht, verzichtet man oft auf Taktstriche in der Tabulatur. In dem Fall lässt sich die Tondauer allein an den Notenwerten ablesen.
:[[Datei:C-Major-Scale_on_the_fretboard_second_fingering.svg]]
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (C-/Am-Form) in Am"
subtitle="Das häßliche Entlein"
subsubtitle="oder: Alle meine Entchen in Moll"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c {
% \set TabStaff.minimumFret = #5
% \set TabStaff.restrainOpenStrings = ##t
\key a \minor
\once \override NoteHead #'color = #green
a4 b
\once \override NoteHead #'color = #red
c d e2 e f4 f f f e1
f4 f f f e1 d4 d d d c2 c
b4 b b b a1
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 4/4
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
a4 b c d e2 e f4 f f f e1
f4 f f f e1 d4 d d d c2 c
b4 b b b a1
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
<br>
Der Lagewechsel zwischen der G- und H-Saite ist hier leicht zu bewältigen.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (Gm-/Bb-Form) in Am"
subtitle="Das häßliche Entlein"
subsubtitle="oder: Alle meine Entchen in Moll"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c' {
\set TabStaff.minimumFret = #2
\set TabStaff.restrainOpenStrings = ##t
\key a \minor
\once \override NoteHead #'color = #green
a4-1 b
\once \override NoteHead #'color = #red
c d-1 e2 e f4 f f f e1
f4 f f f e1 d4 d d d c2-4 c
b4 b b b a1
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 4/4
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
a4 b c d e2 e f4 f f f e1
f4 f f f e1 d4 d d d c2 c
b4 b b b a1
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
<br>
Auch hier ist es wieder einfacher das A (grün) zu suchen.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (Em-/G-Form) in Am"
subtitle="Das häßliche Entlein"
subsubtitle="oder: Alle meine Entchen in Moll"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c {
\set TabStaff.minimumFret = #5
\set TabStaff.restrainOpenStrings = ##t
\key a \minor
\once \override NoteHead #'color = #green
a4-1 b
\once \override NoteHead #'color = #red
c d e2 e f4 f f f e1
f4 f f f e1 d4 d d d c2 c
b4 b b b a1
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 4/4
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
a4 b c d e2 e f4 f f f e1
f4 f f f e1 d4 d d d c2 c
b4 b b b a1
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
<br>
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (E- / F-Form) in Am"
subtitle="Das häßliche Entlein"
subsubtitle="oder: Alle meine Entchen in Moll"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c' {
\set TabStaff.minimumFret = #7
\set TabStaff.restrainOpenStrings = ##t
\key a \minor
\once \override NoteHead #'color = #green
a4-1 b
\once \override NoteHead #'color = #red
c d e2 e f4 f f f e1
f4 f f f e1 d4 d d d c2 c
b4 b b b a1
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 4/4
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
a4 b c d e2 e f4 f f f e1
f4 f f f e1 d4 d d d c2 c
b4 b b b a1
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
<br>
Statt lange nach dem Grundton der D-Form zu suchen, erinneren wir uns kurz, wo der Grundton C auf der H- (B-)Saite sein muß (13. Bund).
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (D-Form) in Am"
subtitle="Das häßliche Entlein"
subsubtitle="oder: Alle meine Entchen in Moll"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c'' {
\set TabStaff.minimumFret = #9
\set TabStaff.restrainOpenStrings = ##t
\key a \minor
\once \override NoteHead #'color = #green
a4-1 b
\once \override NoteHead #'color = #red
c d e2 e f4 f f f e1
f4 f f f e1 d4 d d d c2 c
b4 b b b a1
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 4/4
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
a4 b c d e2 e f4 f f f e1
f4 f f f e1 d4 d d d c2 c
b4 b b b a1
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
<br>
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (C-Form) in Am"
subtitle="Das häßliche Entlein"
subsubtitle="oder: Alle meine Entchen in Moll"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c' {
\set TabStaff.minimumFret = #12
\set TabStaff.restrainOpenStrings = ##t
\key a \minor
\once \override NoteHead #'color = #green
a4-1 b
\once \override NoteHead #'color = #red
c d e2 e f4 f f f e1
f4 f f f e1 d4 d d d c2 c
b4 b b b a1
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 4/4
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
a4 b c d e2 e f4 f f f e1
f4 f f f e1 d4 d d d c2 c
b4 b b b a1
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
=== Die Moldau (Hauptmotiv) ===
Die Abfolge der Töne der folgenden Übung unterscheidet sich kaum von der vorhergehenden. Doch mit dem anderen Rhythmus haben wir das Hauptmotiv von der Komposition {{Youtube-Suche|Smetana+Die+Moldau|"Die Moldau" von Bedrich Smetana}} (ohne Auftakt und rhythmisch vereinfacht).
Auch wenn es hier (wie in der 7. Übung) nur die Molltonleiter rauf und runter geht, merkst du hoffentlich, wieviel der Takt und Rhythmus an der Wirkung ausmacht. Wenn du später mal meinst, deine Improvisationen hören sich langweilig an, dann solltest du dich mehr mit Rhythmus beschäftigen. Dazu kannst du dich auch ein wenig mit Schlagmustern beschäftigen.
:[[Datei:C-Major-Scale_on_the_fretboard_second_fingering.svg]]
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (Am-Form) in Am"
subtitle="Die Moldau (Hauptmotiv)"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c {
% \set TabStaff.minimumFret = #2
% \set TabStaff.restrainOpenStrings = ##t
\key a \minor
\once \override NoteHead #'color = #green
a4 b8
\once \override NoteHead #'color = #red
c4 d8 e4. e4. f4. f4. e2.
d4. d4. c4 d8 c4. b4. b4. a2.
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 6/8
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
a4 b8 c4 d8 e4. e4. f4. f4. e2.
d4. d4. c4 d8 c4. b4. b4. a2.
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
<br>
Warum die Form hier Gm-Form genannt wird, das wird dir in den nachfolgenden Lektionen klarer werden. Auf Fingersatzangaben können wir hier verzichten, wenn du vorher "Alle meine Entchen in Am" gespielt hast.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (Bb- /Gm-Form) in Am"
subtitle="Die Moldau (Hauptmotiv)"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c' {
\set TabStaff.minimumFret = #2
\set TabStaff.restrainOpenStrings = ##t
\key a \minor
\once \override NoteHead #'color = #green
a4 b8
\once \override NoteHead #'color = #red
c4 d8 e4. e4. f4. f4. e2.
d4. d4. c4 d8 c4. b4. b4. a2.
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 6/8
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
a4 b8 c4 d8 e4. e4. f4. f4. e2.
d4. d4. c4 d8 c4. b4. b4. a2.
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
<br>
Hier bietet sich besonders an, den Am-Barré zur Orientierung zu verwenden.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (Em-Form) in Am"
subtitle="Die Moldau (Hauptmotiv)"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c {
\set TabStaff.minimumFret = #5
\set TabStaff.restrainOpenStrings = ##t
\key a \minor
\once \override NoteHead #'color = #green
a4 b8
\once \override NoteHead #'color = #red
c4 d8 e4. e4. f4. f4. e2.
d4. d4. c4 d8 c4. b4. b4. a2.
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 6/8
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
a4 b8 c4 d8 e4. e4. f4. f4. e2.
d4. d4. c4 d8 c4. b4. b4. a2.
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
<br>
Auch hier gibt dir der kleine Finger des Am-Barrés den Grundton an. Du kannst dir die Dm-Form aber auch über die F-Form (C im 8. Bund) ableiten.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (F- /Dm-Form) in Am"
subtitle="Die Moldau (Hauptmotiv)"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c' {
\set TabStaff.minimumFret = #7
\set TabStaff.restrainOpenStrings = ##t
\key a \minor
\once \override NoteHead #'color = #green
a4 b8
\once \override NoteHead #'color = #red
c4 d8 e4. e4. f4. f4. e2.
d4. d4. c4 d8 c4. b4. b4. a2.
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 6/8
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
a4 b8 c4 d8 e4. e4. f4. f4. e2.
d4. d4. c4 d8 c4. b4. b4. a2.
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
<br>
Zähle vom C (H-Saite, 13. Bund) rückwärts zum A.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (D- /Bm7-Form) in Am"
subtitle="Die Moldau (Hauptmotiv)"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c'' {
\set TabStaff.minimumFret = #9
\set TabStaff.restrainOpenStrings = ##t
\key a \minor
\once \override NoteHead #'color = #green
a4 b8
\once \override NoteHead #'color = #red
c4 d8 e4. e4. f4. f4. e2.
d4. d4. c4 d8 c4. b4. b4. a2.
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 6/8
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
a4 b8 c4 d8 e4. e4. f4. f4. e2.
d4. d4. c4 d8 c4. b4. b4. a2.
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
<br>
Hier wird die erste Übung in den 12. Bund verschoben.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (C- /Am-Form) in Am"
subtitle="Die Moldau (Hauptmotiv)"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c' {
\set TabStaff.minimumFret = #12
\set TabStaff.restrainOpenStrings = ##t
\key a \minor
\once \override NoteHead #'color = #green
a4 b8
\once \override NoteHead #'color = #red
c4 d8 e4. e4. f4. f4. e2.
d4. d4. c4 d8 c4. b4. b4. a2.
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 6/8
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
a4 b8 c4 d8 e4. e4. f4. f4. e2.
d4. d4. c4 d8 c4. b4. b4. a2.
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
=== Sascha (vereinfacht) ===
[[Liederbuch/ Sascha|Sascha]] (auch bekannt unter "Sascha geizte mit den Worten" oder "Sascha liebt nicht große Worte") ist in beliebtes Kinder-, Jugend- und Pfadfinderlied.
==== Sascha (Am-Form) ====
<div style="float:left; padding:5px;margin:5px; border:black solid 1px; ">
<score raw="1">
\version "2.14.2"
\markup {
\override #'(size . 3.0) {
\override #'(fret-diagram-details . (
(orientation . landscape)
(finger-code . in-dot)
(dot-color . #'black)
(dot-radius . 0.4)
(dot-position . 0.5)
(top-fret-thickness . 6)
(fret-count . 3)
(number-type . roman-upper)
))
\fret-diagram-verbose #'(
(place-fret 4 0 "2" darkgreen )
(place-fret 4 2 "3" darkgrey )
(place-fret 4 3 "4" yellow3 )
(place-fret 5 0 "6" darkgreen )
(place-fret 5 2 "j7" yellow3 )
(place-fret 5 3 "1" black )
)
}}
\paper{
indent=0\mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
bookTitleMarkup = ##f
scoreTitleMarkup = ##f}
</score>
</div>
Das Lied startet mit dem Ton E. Man könntetheoretisch in der zweiten Lage spielen und mit dem Zeigefinger starten. Doch üblicher ist Zeigefinger erster Bund, Mittelfinger zweiter Bund, Ringfinger 3. Bund.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (C- /Am-Form) in Am"
subtitle="Sascha (vereinfacht)"
}
myKey = {
\time 4/4
\tempo 4 = 80
\set Score.tempoHideNote = ##t
\key c \major
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c {
% \set TabStaff.minimumFret = #2
% \set TabStaff.restrainOpenStrings = ##t
\myKey
\repeat volta 2 {
e8-2 e e c e e e c |
b d c b c a a a |
}
\repeat volta 2 {
f' f f r e e e r |
e d c b a a a r |
}
<a e' a c e>1^\markup { \bold {(Am)} }
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\myKey
\clef "treble_8"
\Diskant
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\myKey
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
==== Sascha (Gm-Form) ====
<div style="float:left; padding:5px;margin:5px; border:black solid 1px; ">
<score raw="1">
\version "2.14.2"
\markup {
\override #'(size . 3.0) {
\override #'(fret-diagram-details . (
(orientation . landscape)
(finger-code . in-dot)
(dot-color . #'black)
(dot-radius . 0.4)
(dot-position . 0.5)
(top-fret-thickness . 6)
(fret-count . 3)
(number-type . roman-upper)
))
\fret-diagram-verbose #'(
(place-fret 2 3 2 darkgreen )
(place-fret 2 5 3 darkgrey )
(place-fret 2 6 4 yellow3 )
(place-fret 3 2 6 darkgreen )
(place-fret 3 4 "j7" yellow3 )
(place-fret 3 5 1 black )
)
}}
\paper{
indent=0\mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
bookTitleMarkup = ##f
scoreTitleMarkup = ##f}
</score>
</div>
Das Lied "Sascha" wird hier auf der G- und H-Saite gespielt. Wir müssen uns Strategien zurechtlegen, welchen Fingersatz wir am besten für die Lagewechsel verwenden.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (Bb- /Gm7-Form) in Am"
subtitle="Sascha (vereinfacht)"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c' {
\set TabStaff.minimumFret = #2
\set TabStaff.restrainOpenStrings = ##t
\key c \major
\repeat volta 2 {
e8-4 e e c-3 e e e c |
b d-3 c-4 b c a a a |
}
\repeat volta 2 {
f'-4 f f r e e e r |
e d c-4 b a a a r |
}
\set TabStaff.minimumFret = #5
<c e a>1^\markup { \bold {(Am)} }
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 4/4
\tempo 4 = 80
\set Score.tempoHideNote = ##t
\Diskant
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 80
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
Auf den anderen Saitenlagen geht die Melodie einfacher von der Hand.
==== Sascha (Em-Form) ====
<div style="float:left; padding:5px;margin:5px; border:black solid 1px; ">
<score raw="1">
\version "2.14.2"
\markup {
\override #'(size . 3.0) {
\override #'(fret-diagram-details . (
(orientation . landscape)
(finger-code . in-dot)
(dot-color . #'black)
(dot-radius . 0.4)
(dot-position . 0.5)
(top-fret-thickness . 6)
(fret-count . 3)
(number-type . roman-upper)
))
\fret-diagram-verbose #'(
(place-fret 5 5 "2" darkgreen )
(place-fret 5 7 "3" darkgrey )
(place-fret 5 8 "4" yellow3 )
(place-fret 6 5 "6" darkgreen )
(place-fret 6 7 "j7" yellow3 )
(place-fret 6 8 "1" black )
)
}}
\paper{
indent=0\mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
bookTitleMarkup = ##f
scoreTitleMarkup = ##f}
</score>
</div>
Den Grundton A leiten wir wieder vom Am-Barré im 5. Bund ab.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (G- /Em-Form) in Am"
subtitle="Sascha (vereinfacht)"
}
myKey = {
\time 4/4
\tempo 4 = 80
\set Score.tempoHideNote = ##t
\key c \major
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c {
\set TabStaff.minimumFret = #5
\set TabStaff.restrainOpenStrings = ##t
\myKey
\repeat volta 2 {
e8-3 e e c e e e c |
b d c b c a a a |
}
\repeat volta 2 {
f' f f r e e e r |
e d c b a a a r |
}
<a e' a c e a>1^\markup { \bold {(Am)} }
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\myKey
\clef "treble_8"
\Diskant
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\myKey
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
==== Sascha (Dm-Form) ====
<div style="float:left; padding:5px;margin:5px; border:black solid 1px; ">
<score raw="1">
\version "2.14.2"
\markup {
\override #'(size . 3.0) {
\override #'(fret-diagram-details . (
(orientation . landscape)
(finger-code . in-dot)
(dot-color . #'black)
(dot-radius . 0.4)
(dot-position . 0.5)
(top-fret-thickness . 6)
(fret-count . 3)
(number-type . roman-upper)
))
\fret-diagram-verbose #'(
(place-fret 3 7 "2" darkgreen )
(place-fret 3 9 "3" darkgrey )
(place-fret 3 10 "4" yellow3 )
(place-fret 4 7 "6" darkgreen )
(place-fret 4 9 "j7" yellow3 )
(place-fret 4 10 "1" black )
)
}}
\paper{
indent=0\mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
bookTitleMarkup = ##f
scoreTitleMarkup = ##f}
</score>
</div>
Den Grundton A leiten wir wieder vom kleinen Finger des Am-Barré im 5. Bund ab.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (F- /Dm-Form) in Am"
subtitle="Sascha (vereinfacht)"
}
myKey = {
\time 4/4
\tempo 4 = 80
\set Score.tempoHideNote = ##t
\key c \major
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c' {
\set TabStaff.minimumFret = #7
\set TabStaff.restrainOpenStrings = ##t
\myKey
\repeat volta 2 {
e8-3 e e c e e e c |
b d c b c a a a |
}
\repeat volta 2 {
f' f f r e e e r |
e d c b a a a r |
}
<a' c e>1^\markup { \bold {(Am)} }
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\myKey
\clef "treble_8"
\Diskant
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\myKey
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
==== Sascha (Dm-Form) ====
<div style="float:left; padding:5px;margin:5px; border:black solid 1px; ">
<score raw="1">
\version "2.14.2"
\markup {
\override #'(size . 3.0) {
\override #'(fret-diagram-details . (
(orientation . landscape)
(finger-code . in-dot)
(dot-color . #'black)
(dot-radius . 0.4)
(dot-position . 0.5)
(top-fret-thickness . 6)
(fret-count . 3)
(number-type . roman-upper)
))
\fret-diagram-verbose #'(
(place-fret 1 10 "2" darkgreen )
(place-fret 1 12 "3" darkgrey )
(place-fret 1 13 "4" yellow3 )
(place-fret 2 10 "6" darkgreen )
(place-fret 2 12 "j7" yellow3 )
(place-fret 2 13 "1" black )
)
}}
\paper{
indent=0\mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
bookTitleMarkup = ##f
scoreTitleMarkup = ##f}
</score>
</div>
Wenn im 12. Bund der B-Saite der Ton B ist, dann ist 2 Bünde vorher das A. Das Lied beginnt mit E, also 12. Bund E-Saite
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (D- /Bm7-Form) in Am"
subtitle="Sascha (vereinfacht)"
}
myKey = {
\time 4/4
\tempo 4 = 80
\set Score.tempoHideNote = ##t
\key c \major
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c'' {
\set TabStaff.minimumFret = #10
\set TabStaff.restrainOpenStrings = ##t
\myKey
\repeat volta 2 {
e8-3 e e c e e e c |
b d c b c a a a |
}
\repeat volta 2 {
f' f f r e e e r |
e d c b a a a r |
}
<a, e' a c e>1^\markup { \bold {(Am)} }
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\myKey
\clef "treble_8"
\Diskant
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\myKey
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
==== Sascha (Am-Form) ====
<div style="float:left; padding:5px;margin:5px; border:black solid 1px; ">
<score raw="1">
\version "2.14.2"
\markup {
\override #'(size . 3.0) {
\override #'(fret-diagram-details . (
(orientation . landscape)
(finger-code . in-dot)
(dot-color . #'black)
(dot-radius . 0.4)
(dot-position . 0.5)
(top-fret-thickness . 6)
(fret-count . 4)
(number-type . roman-upper)
))
\fret-diagram-verbose #'(
(place-fret 4 12 "2" darkgreen )
(place-fret 4 14 "3" darkgrey )
(place-fret 4 15 "4" yellow3 )
(place-fret 5 12 "6" darkgreen )
(place-fret 5 14 "j7" yellow3 )
(place-fret 5 15 "1" black )
)
}}
\paper{
indent=0\mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
bookTitleMarkup = ##f
scoreTitleMarkup = ##f}
</score>
</div>
Die erste Übung wird in den 12. Bund verschoben. Grundton A = A-Saite 12. Bund. Von da aus zählst du bis zum E.
;A B C D E
Klassik-Gitarristen rücken ggf. ein paar Bünde zurück.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (C- /Am-Form) in Am"
subtitle="Sascha (vereinfacht)"
}
myKey = {
\time 4/4
\tempo 4 = 80
\set Score.tempoHideNote = ##t
\key c \major
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c' {
\set TabStaff.minimumFret = #12
\set TabStaff.restrainOpenStrings = ##t
\myKey
\repeat volta 2 {
e8-3 e e c e e e c |
b d c b c a a a |
}
\repeat volta 2 {
f' f f r e e e r |
e d c b a a a r |
}
<a e' a >1^\markup { \bold {(A5)} }
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\myKey
\clef "treble_8"
\Diskant
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\myKey
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
==== Baustelle ====
=== Asturias (Ausschnitt) ===
<div style="float:left; padding:5px;margin:5px; border:black solid 1px; ">
<score raw="1">
\version "2.14.2"
\markup {
\override #'(size . 3.0) {
\override #'(fret-diagram-details . (
(orientation . landscape)
(finger-code . in-dot)
(dot-color . #'black)
(dot-radius . 0.4)
(dot-position . 0.5)
(top-fret-thickness . 6)
(fret-count . 3)
(number-type . roman-upper)
))
\fret-diagram-verbose #'(
(place-fret 1 5 2 darkgreen )
(place-fret 1 7 3 darkgrey )
(place-fret 1 8 4 yellow3 )
(place-fret 2 5 6 darkgreen )
(place-fret 2 7 "j7" yellow3 )
(place-fret 2 8 1 black )
)
}}
\paper{
indent=0\mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
bookTitleMarkup = ##f
scoreTitleMarkup = ##f}
</score>
</div>
Das ganze Stück Asturias ist ein Meisterstück. Doch es mag dich vielleicht freuen, dass es gar nicht mehr lange dauert, bis du zumindest ein kleines Vorzeigestück mit den ersten Takten des Stückes kannst. Dies hier ist schon einmal eine Vorübung.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (D-Dur bzw. Bm-Form) in Em"
subtitle="Asturias (Ausschnitt)"
}
%% Diskant- bzw. Melodiesaiten
Diskant = {
\set TabStaff.minimumFret = #5
\set TabStaff.restrainOpenStrings = ##t
\key e \minor
\repeat volta 2 \relative c'{
e8 b' c a b g | e8 b' c a b g |
e8 b' c a b g | a fis g a fis g^\markup {2x} | }
\set TabStaff.minimumFret = #0
<e, b, e g b e'>2.^\markup { \bold {(Em)} }
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 6/8
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
7jp99oz26wqqljvt2r1p2deop93azad
1091127
1091116
2026-09-20T10:55:31Z
Mjchael
2222
/* Asturias (Ausschnitt) */
1091127
wikitext
text/x-wiki
[[Gitarre: CAGED-Stammtöne - Erster Fingersatz]]
Verkleinern einer übergroßen Seite
== Zweiter Fingersatz ==
:[[Datei:Scala 6_71-2_34.svg]]
Zuerst suchen wir uns in der C-Dur-Tonleiter überall den zweiten Fingersatz heraus.
:[[Datei:C-Major-Scale_on_the_fretboard_second_fingering.svg]]
Zur leichteren Orientierung wird die Grafik bei jeder neuen Melodie wiederholt.
=== Rondeau (Auszug) ===
Die eintaktige Sequenzen wurde aus einem Rondeau von J.S. Bach entnommen. Der Grundton C, welcher im letzten Takt rot eingefärbt wurde, wird mit dem kleinen Finger gegriffen.
Am Anfang des Griffbrettes brauchen wir den zweiten Fingersatz nicht vollständig.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (C-Form) in C-Dur"
subtitle="Rondeau (Auszug)"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c {
% \set TabStaff.minimumFret = #5
% \set TabStaff.restrainOpenStrings = ##t
\key c \major
\repeat volta 2 {
e8 d e f e d c e
d c d e d c b d
c b c d c b a c
b a b c d b c d
}
\once \override NoteHead #'color = #red c1^\markup { \bold {(C)} }
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 4/4
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
e8 d e f e d c e
d c d e d c b d
c b c d c b a c
b a b c d b c d
c
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
<br>
In der A-(Bb-)Form müssen wir den Lagewechsel zwischen der G- und H-Saite beachten. Übrigens werden hier die Töne in der englischen Form angegeben. (Bb-Form und der Ton B statt des deutschen H.)
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (A-, Bb-Form) in C-Dur"
subtitle="Rondeau (Auszug)"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c' {
\set TabStaff.minimumFret = #2
\set TabStaff.restrainOpenStrings = ##t
\key c \major
\repeat volta 2 {
e8-3 d e f e d c e-4
d-2 c d e d c b d
c b c d c b a c
b a b c d-1 b c d
}
\once \override NoteHead #'color = #red c1^\markup { \bold {(C)} }
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 4/4
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
e8 d e f e d c e
d c d e d c b d
c b c d c b a c
b a b c d b c d
c
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
<br>
Leite dir den Grundton C vom Barré im 8. Bund ab, oder suche das A im 5. Bund (hier grün hervorgehoben).
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (G-Form) in C-Dur"
subtitle="Rondeau (Auszug)"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c {
\set TabStaff.minimumFret = #5
\set TabStaff.restrainOpenStrings = ##t
\key c \major
\repeat volta 2 {
e8-2 d e f e d c e
d c d e d c b d
c b c d c b \once \override NoteHead #'color = #green a c
b a b c d b c d
}
\once \override NoteHead #'color = #red c1^\markup { \bold {(C)} }
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 4/4
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
e8 d e f e d c e
d c d e d c b d
c b c d c b a c
b a b c d b c d
c
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
<br>
Der kleine Finger des C-Barré im 8. Bund in der E- bzw. F-Form gibt gleichzeitig das C des zweiten Fingersatz an.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (E- F-Form) in C-Dur"
subtitle="Rondeau (Auszug)"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c' {
\set TabStaff.minimumFret = #7
\set TabStaff.restrainOpenStrings = ##t
\key c \major
\repeat volta 2 {
e8-2 d e f e d c e
d c d e d c b d
c b c d c b a c
b a b c d b c d
}
\once \override NoteHead #'color = #red c1^\markup { \bold {(C)} }
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 4/4
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
e8-2 d e f e d c e
d c d e d c b d
c b c d c b a c
b a b c d b c d
c
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
<br>
Für den Grundton C müssen wir uns die D-Form gar nicht so genau ins Gedächtnis rufen, wenn uns die C-Form viel vertrauter ist.
Diese hohe Lage ist für E-Gitarristen oder Gitarren mit Cutaway gedacht. Auf der Konzertgitarre ist die sehr hohe Lage schlecht zu spielen. Gehe ggf. einen Kompromiss ein, und spiele diese hohe Saitenlage ein paar Bünde tiefer als Übung nur für den Fingersatz aber nicht für die Notennamen.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (D-Form) in C-Dur"
subtitle="Rondeau (Auszug)"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c'' {
\set TabStaff.minimumFret = #9
\set TabStaff.restrainOpenStrings = ##t
\key c \major
\repeat volta 2 {
e8-2 d e f e d c e
d c d e d c b d
c b c d c b a c
b a b c d b c d
}
\once \override NoteHead #'color = #red c1^\markup { \bold {(C)} }
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 4/4
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
e8 d e f e d c e
d c d e d c b d
c b c d c b a c
b a b c d b c d
c
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
<br>
Noten über dem hohen C (der mit zwei Hilfslinien) wird dir seltener begegnen, da in dem Fall bevorzugt die Noten nach unten oktaviert werden. (Beachte die 8 im Notensystem.) Bei den weiteren Übungen werden jedoch die Versionen mit den vielen Hilfslinien angezeigt.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (D-Form) in C-Dur"
subtitle="Rondeau (Auszug)"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c'' {
\set TabStaff.minimumFret = #9
\set TabStaff.restrainOpenStrings = ##t
\key c \major
\repeat volta 2 {
\ottava #1 e8-2 d e f e d c e
d c d e d c b d
c b c d c b a c
b a b c d b c d
}
\once \override NoteHead #'color = #red c1^\markup { \bold {(C)} }
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 4/4
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
e8 d e f e d c e
d c d e d c b d
c b c d c b a c
b a b c d b c d
c
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
<br>
Mit der C-Form in den ersten drei Bünden im Hinterkopf ist der 12. Bund leicht zu bewältigen. Wieder eine Übung, die weniger für Konzertgitarren geeignet ist.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (C-Form) in C-Dur"
subtitle="Rondeau (Auszug)"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c' {
\set TabStaff.minimumFret = #12
\set TabStaff.restrainOpenStrings = ##t
\key c \major
\repeat volta 2 {
e8-2 d e f e d c e
d c d e d c b d
c b c d c b a c
b a b c d b c d
}
\once \override NoteHead #'color = #red c1^\markup { \bold {(C)} }
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 4/4
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
e8 d e f e d c e
d c d e d c b d
c b c d c b a c
b a b c d b c d
c
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
<br>
=== "Das häßliche Entlein" oder "Alle meine Entchen"<ref>Anspielung auf ein Märchen der Gebrüder Grimm nebst einem bekannten deutschen Kinderlied.</ref> in A-Moll ===
Die vorherige Übung war in Dur, und hier verwenden wir ein und den selben Fingersatz in Moll. Wie du siehst und hörst, lässt sich ein Fingersatz oder ein Pattern nicht eindeutig einer einzigen Tonart zuordnen. Der Schlusston oder der Schlussakkord (hier der Ton A bzw. der Akkord Am) bestimmt die Tonart. Der Grundton A ist hier die Sexte (6) des zugrunde liegenden C-Major-Pattern. Es bleibt dir überlassen, ob du zur Orientierung lieber den Grundton A (grün) bestimmst, oder das C aus dem Karré (rot).
Wenn in einer Tabulatur über einer Ziffer zwei Notenhälse stehen, so ist das ein Zeichen für eine halbe Note, die zwei Schläge dauert. Da dieses für viele Gitarristen sehr ungewöhnlich aussieht, verzichtet man oft auf Taktstriche in der Tabulatur. In dem Fall lässt sich die Tondauer allein an den Notenwerten ablesen.
:[[Datei:C-Major-Scale_on_the_fretboard_second_fingering.svg]]
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (C-/Am-Form) in Am"
subtitle="Das häßliche Entlein"
subsubtitle="oder: Alle meine Entchen in Moll"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c {
% \set TabStaff.minimumFret = #5
% \set TabStaff.restrainOpenStrings = ##t
\key a \minor
\once \override NoteHead #'color = #green
a4 b
\once \override NoteHead #'color = #red
c d e2 e f4 f f f e1
f4 f f f e1 d4 d d d c2 c
b4 b b b a1
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 4/4
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
a4 b c d e2 e f4 f f f e1
f4 f f f e1 d4 d d d c2 c
b4 b b b a1
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
<br>
Der Lagewechsel zwischen der G- und H-Saite ist hier leicht zu bewältigen.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (Gm-/Bb-Form) in Am"
subtitle="Das häßliche Entlein"
subsubtitle="oder: Alle meine Entchen in Moll"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c' {
\set TabStaff.minimumFret = #2
\set TabStaff.restrainOpenStrings = ##t
\key a \minor
\once \override NoteHead #'color = #green
a4-1 b
\once \override NoteHead #'color = #red
c d-1 e2 e f4 f f f e1
f4 f f f e1 d4 d d d c2-4 c
b4 b b b a1
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 4/4
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
a4 b c d e2 e f4 f f f e1
f4 f f f e1 d4 d d d c2 c
b4 b b b a1
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
<br>
Auch hier ist es wieder einfacher das A (grün) zu suchen.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (Em-/G-Form) in Am"
subtitle="Das häßliche Entlein"
subsubtitle="oder: Alle meine Entchen in Moll"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c {
\set TabStaff.minimumFret = #5
\set TabStaff.restrainOpenStrings = ##t
\key a \minor
\once \override NoteHead #'color = #green
a4-1 b
\once \override NoteHead #'color = #red
c d e2 e f4 f f f e1
f4 f f f e1 d4 d d d c2 c
b4 b b b a1
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 4/4
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
a4 b c d e2 e f4 f f f e1
f4 f f f e1 d4 d d d c2 c
b4 b b b a1
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
<br>
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (E- / F-Form) in Am"
subtitle="Das häßliche Entlein"
subsubtitle="oder: Alle meine Entchen in Moll"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c' {
\set TabStaff.minimumFret = #7
\set TabStaff.restrainOpenStrings = ##t
\key a \minor
\once \override NoteHead #'color = #green
a4-1 b
\once \override NoteHead #'color = #red
c d e2 e f4 f f f e1
f4 f f f e1 d4 d d d c2 c
b4 b b b a1
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 4/4
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
a4 b c d e2 e f4 f f f e1
f4 f f f e1 d4 d d d c2 c
b4 b b b a1
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
<br>
Statt lange nach dem Grundton der D-Form zu suchen, erinneren wir uns kurz, wo der Grundton C auf der H- (B-)Saite sein muß (13. Bund).
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (D-Form) in Am"
subtitle="Das häßliche Entlein"
subsubtitle="oder: Alle meine Entchen in Moll"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c'' {
\set TabStaff.minimumFret = #9
\set TabStaff.restrainOpenStrings = ##t
\key a \minor
\once \override NoteHead #'color = #green
a4-1 b
\once \override NoteHead #'color = #red
c d e2 e f4 f f f e1
f4 f f f e1 d4 d d d c2 c
b4 b b b a1
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 4/4
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
a4 b c d e2 e f4 f f f e1
f4 f f f e1 d4 d d d c2 c
b4 b b b a1
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
<br>
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (C-Form) in Am"
subtitle="Das häßliche Entlein"
subsubtitle="oder: Alle meine Entchen in Moll"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c' {
\set TabStaff.minimumFret = #12
\set TabStaff.restrainOpenStrings = ##t
\key a \minor
\once \override NoteHead #'color = #green
a4-1 b
\once \override NoteHead #'color = #red
c d e2 e f4 f f f e1
f4 f f f e1 d4 d d d c2 c
b4 b b b a1
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 4/4
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
a4 b c d e2 e f4 f f f e1
f4 f f f e1 d4 d d d c2 c
b4 b b b a1
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
=== Die Moldau (Hauptmotiv) ===
Die Abfolge der Töne der folgenden Übung unterscheidet sich kaum von der vorhergehenden. Doch mit dem anderen Rhythmus haben wir das Hauptmotiv von der Komposition {{Youtube-Suche|Smetana+Die+Moldau|"Die Moldau" von Bedrich Smetana}} (ohne Auftakt und rhythmisch vereinfacht).
Auch wenn es hier (wie in der 7. Übung) nur die Molltonleiter rauf und runter geht, merkst du hoffentlich, wieviel der Takt und Rhythmus an der Wirkung ausmacht. Wenn du später mal meinst, deine Improvisationen hören sich langweilig an, dann solltest du dich mehr mit Rhythmus beschäftigen. Dazu kannst du dich auch ein wenig mit Schlagmustern beschäftigen.
:[[Datei:C-Major-Scale_on_the_fretboard_second_fingering.svg]]
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (Am-Form) in Am"
subtitle="Die Moldau (Hauptmotiv)"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c {
% \set TabStaff.minimumFret = #2
% \set TabStaff.restrainOpenStrings = ##t
\key a \minor
\once \override NoteHead #'color = #green
a4 b8
\once \override NoteHead #'color = #red
c4 d8 e4. e4. f4. f4. e2.
d4. d4. c4 d8 c4. b4. b4. a2.
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 6/8
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
a4 b8 c4 d8 e4. e4. f4. f4. e2.
d4. d4. c4 d8 c4. b4. b4. a2.
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
<br>
Warum die Form hier Gm-Form genannt wird, das wird dir in den nachfolgenden Lektionen klarer werden. Auf Fingersatzangaben können wir hier verzichten, wenn du vorher "Alle meine Entchen in Am" gespielt hast.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (Bb- /Gm-Form) in Am"
subtitle="Die Moldau (Hauptmotiv)"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c' {
\set TabStaff.minimumFret = #2
\set TabStaff.restrainOpenStrings = ##t
\key a \minor
\once \override NoteHead #'color = #green
a4 b8
\once \override NoteHead #'color = #red
c4 d8 e4. e4. f4. f4. e2.
d4. d4. c4 d8 c4. b4. b4. a2.
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 6/8
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
a4 b8 c4 d8 e4. e4. f4. f4. e2.
d4. d4. c4 d8 c4. b4. b4. a2.
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
<br>
Hier bietet sich besonders an, den Am-Barré zur Orientierung zu verwenden.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (Em-Form) in Am"
subtitle="Die Moldau (Hauptmotiv)"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c {
\set TabStaff.minimumFret = #5
\set TabStaff.restrainOpenStrings = ##t
\key a \minor
\once \override NoteHead #'color = #green
a4 b8
\once \override NoteHead #'color = #red
c4 d8 e4. e4. f4. f4. e2.
d4. d4. c4 d8 c4. b4. b4. a2.
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 6/8
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
a4 b8 c4 d8 e4. e4. f4. f4. e2.
d4. d4. c4 d8 c4. b4. b4. a2.
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
<br>
Auch hier gibt dir der kleine Finger des Am-Barrés den Grundton an. Du kannst dir die Dm-Form aber auch über die F-Form (C im 8. Bund) ableiten.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (F- /Dm-Form) in Am"
subtitle="Die Moldau (Hauptmotiv)"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c' {
\set TabStaff.minimumFret = #7
\set TabStaff.restrainOpenStrings = ##t
\key a \minor
\once \override NoteHead #'color = #green
a4 b8
\once \override NoteHead #'color = #red
c4 d8 e4. e4. f4. f4. e2.
d4. d4. c4 d8 c4. b4. b4. a2.
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 6/8
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
a4 b8 c4 d8 e4. e4. f4. f4. e2.
d4. d4. c4 d8 c4. b4. b4. a2.
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
<br>
Zähle vom C (H-Saite, 13. Bund) rückwärts zum A.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (D- /Bm7-Form) in Am"
subtitle="Die Moldau (Hauptmotiv)"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c'' {
\set TabStaff.minimumFret = #9
\set TabStaff.restrainOpenStrings = ##t
\key a \minor
\once \override NoteHead #'color = #green
a4 b8
\once \override NoteHead #'color = #red
c4 d8 e4. e4. f4. f4. e2.
d4. d4. c4 d8 c4. b4. b4. a2.
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 6/8
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
a4 b8 c4 d8 e4. e4. f4. f4. e2.
d4. d4. c4 d8 c4. b4. b4. a2.
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
<br>
Hier wird die erste Übung in den 12. Bund verschoben.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (C- /Am-Form) in Am"
subtitle="Die Moldau (Hauptmotiv)"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c' {
\set TabStaff.minimumFret = #12
\set TabStaff.restrainOpenStrings = ##t
\key a \minor
\once \override NoteHead #'color = #green
a4 b8
\once \override NoteHead #'color = #red
c4 d8 e4. e4. f4. f4. e2.
d4. d4. c4 d8 c4. b4. b4. a2.
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 6/8
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
a4 b8 c4 d8 e4. e4. f4. f4. e2.
d4. d4. c4 d8 c4. b4. b4. a2.
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
=== Sascha (vereinfacht) ===
[[Liederbuch/ Sascha|Sascha]] (auch bekannt unter "Sascha geizte mit den Worten" oder "Sascha liebt nicht große Worte") ist in beliebtes Kinder-, Jugend- und Pfadfinderlied.
==== Sascha (Am-Form) ====
<div style="float:left; padding:5px;margin:5px; border:black solid 1px; ">
<score raw="1">
\version "2.14.2"
\markup {
\override #'(size . 3.0) {
\override #'(fret-diagram-details . (
(orientation . landscape)
(finger-code . in-dot)
(dot-color . #'black)
(dot-radius . 0.4)
(dot-position . 0.5)
(top-fret-thickness . 6)
(fret-count . 3)
(number-type . roman-upper)
))
\fret-diagram-verbose #'(
(place-fret 4 0 "2" darkgreen )
(place-fret 4 2 "3" darkgrey )
(place-fret 4 3 "4" yellow3 )
(place-fret 5 0 "6" darkgreen )
(place-fret 5 2 "j7" yellow3 )
(place-fret 5 3 "1" black )
)
}}
\paper{
indent=0\mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
bookTitleMarkup = ##f
scoreTitleMarkup = ##f}
</score>
</div>
Das Lied startet mit dem Ton E. Man könntetheoretisch in der zweiten Lage spielen und mit dem Zeigefinger starten. Doch üblicher ist Zeigefinger erster Bund, Mittelfinger zweiter Bund, Ringfinger 3. Bund.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (C- /Am-Form) in Am"
subtitle="Sascha (vereinfacht)"
}
myKey = {
\time 4/4
\tempo 4 = 80
\set Score.tempoHideNote = ##t
\key c \major
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c {
% \set TabStaff.minimumFret = #2
% \set TabStaff.restrainOpenStrings = ##t
\myKey
\repeat volta 2 {
e8-2 e e c e e e c |
b d c b c a a a |
}
\repeat volta 2 {
f' f f r e e e r |
e d c b a a a r |
}
<a e' a c e>1^\markup { \bold {(Am)} }
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\myKey
\clef "treble_8"
\Diskant
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\myKey
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
==== Sascha (Gm-Form) ====
<div style="float:left; padding:5px;margin:5px; border:black solid 1px; ">
<score raw="1">
\version "2.14.2"
\markup {
\override #'(size . 3.0) {
\override #'(fret-diagram-details . (
(orientation . landscape)
(finger-code . in-dot)
(dot-color . #'black)
(dot-radius . 0.4)
(dot-position . 0.5)
(top-fret-thickness . 6)
(fret-count . 3)
(number-type . roman-upper)
))
\fret-diagram-verbose #'(
(place-fret 2 3 2 darkgreen )
(place-fret 2 5 3 darkgrey )
(place-fret 2 6 4 yellow3 )
(place-fret 3 2 6 darkgreen )
(place-fret 3 4 "j7" yellow3 )
(place-fret 3 5 1 black )
)
}}
\paper{
indent=0\mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
bookTitleMarkup = ##f
scoreTitleMarkup = ##f}
</score>
</div>
Das Lied "Sascha" wird hier auf der G- und H-Saite gespielt. Wir müssen uns Strategien zurechtlegen, welchen Fingersatz wir am besten für die Lagewechsel verwenden.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (Bb- /Gm7-Form) in Am"
subtitle="Sascha (vereinfacht)"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c' {
\set TabStaff.minimumFret = #2
\set TabStaff.restrainOpenStrings = ##t
\key c \major
\repeat volta 2 {
e8-4 e e c-3 e e e c |
b d-3 c-4 b c a a a |
}
\repeat volta 2 {
f'-4 f f r e e e r |
e d c-4 b a a a r |
}
\set TabStaff.minimumFret = #5
<c e a>1^\markup { \bold {(Am)} }
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 4/4
\tempo 4 = 80
\set Score.tempoHideNote = ##t
\Diskant
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 80
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
Auf den anderen Saitenlagen geht die Melodie einfacher von der Hand.
==== Sascha (Em-Form) ====
<div style="float:left; padding:5px;margin:5px; border:black solid 1px; ">
<score raw="1">
\version "2.14.2"
\markup {
\override #'(size . 3.0) {
\override #'(fret-diagram-details . (
(orientation . landscape)
(finger-code . in-dot)
(dot-color . #'black)
(dot-radius . 0.4)
(dot-position . 0.5)
(top-fret-thickness . 6)
(fret-count . 3)
(number-type . roman-upper)
))
\fret-diagram-verbose #'(
(place-fret 5 5 "2" darkgreen )
(place-fret 5 7 "3" darkgrey )
(place-fret 5 8 "4" yellow3 )
(place-fret 6 5 "6" darkgreen )
(place-fret 6 7 "j7" yellow3 )
(place-fret 6 8 "1" black )
)
}}
\paper{
indent=0\mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
bookTitleMarkup = ##f
scoreTitleMarkup = ##f}
</score>
</div>
Den Grundton A leiten wir wieder vom Am-Barré im 5. Bund ab.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (G- /Em-Form) in Am"
subtitle="Sascha (vereinfacht)"
}
myKey = {
\time 4/4
\tempo 4 = 80
\set Score.tempoHideNote = ##t
\key c \major
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c {
\set TabStaff.minimumFret = #5
\set TabStaff.restrainOpenStrings = ##t
\myKey
\repeat volta 2 {
e8-3 e e c e e e c |
b d c b c a a a |
}
\repeat volta 2 {
f' f f r e e e r |
e d c b a a a r |
}
<a e' a c e a>1^\markup { \bold {(Am)} }
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\myKey
\clef "treble_8"
\Diskant
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\myKey
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
==== Sascha (Dm-Form) ====
<div style="float:left; padding:5px;margin:5px; border:black solid 1px; ">
<score raw="1">
\version "2.14.2"
\markup {
\override #'(size . 3.0) {
\override #'(fret-diagram-details . (
(orientation . landscape)
(finger-code . in-dot)
(dot-color . #'black)
(dot-radius . 0.4)
(dot-position . 0.5)
(top-fret-thickness . 6)
(fret-count . 3)
(number-type . roman-upper)
))
\fret-diagram-verbose #'(
(place-fret 3 7 "2" darkgreen )
(place-fret 3 9 "3" darkgrey )
(place-fret 3 10 "4" yellow3 )
(place-fret 4 7 "6" darkgreen )
(place-fret 4 9 "j7" yellow3 )
(place-fret 4 10 "1" black )
)
}}
\paper{
indent=0\mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
bookTitleMarkup = ##f
scoreTitleMarkup = ##f}
</score>
</div>
Den Grundton A leiten wir wieder vom kleinen Finger des Am-Barré im 5. Bund ab.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (F- /Dm-Form) in Am"
subtitle="Sascha (vereinfacht)"
}
myKey = {
\time 4/4
\tempo 4 = 80
\set Score.tempoHideNote = ##t
\key c \major
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c' {
\set TabStaff.minimumFret = #7
\set TabStaff.restrainOpenStrings = ##t
\myKey
\repeat volta 2 {
e8-3 e e c e e e c |
b d c b c a a a |
}
\repeat volta 2 {
f' f f r e e e r |
e d c b a a a r |
}
<a' c e>1^\markup { \bold {(Am)} }
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\myKey
\clef "treble_8"
\Diskant
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\myKey
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
==== Sascha (Dm-Form) ====
<div style="float:left; padding:5px;margin:5px; border:black solid 1px; ">
<score raw="1">
\version "2.14.2"
\markup {
\override #'(size . 3.0) {
\override #'(fret-diagram-details . (
(orientation . landscape)
(finger-code . in-dot)
(dot-color . #'black)
(dot-radius . 0.4)
(dot-position . 0.5)
(top-fret-thickness . 6)
(fret-count . 3)
(number-type . roman-upper)
))
\fret-diagram-verbose #'(
(place-fret 1 10 "2" darkgreen )
(place-fret 1 12 "3" darkgrey )
(place-fret 1 13 "4" yellow3 )
(place-fret 2 10 "6" darkgreen )
(place-fret 2 12 "j7" yellow3 )
(place-fret 2 13 "1" black )
)
}}
\paper{
indent=0\mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
bookTitleMarkup = ##f
scoreTitleMarkup = ##f}
</score>
</div>
Wenn im 12. Bund der B-Saite der Ton B ist, dann ist 2 Bünde vorher das A. Das Lied beginnt mit E, also 12. Bund E-Saite
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (D- /Bm7-Form) in Am"
subtitle="Sascha (vereinfacht)"
}
myKey = {
\time 4/4
\tempo 4 = 80
\set Score.tempoHideNote = ##t
\key c \major
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c'' {
\set TabStaff.minimumFret = #10
\set TabStaff.restrainOpenStrings = ##t
\myKey
\repeat volta 2 {
e8-3 e e c e e e c |
b d c b c a a a |
}
\repeat volta 2 {
f' f f r e e e r |
e d c b a a a r |
}
<a, e' a c e>1^\markup { \bold {(Am)} }
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\myKey
\clef "treble_8"
\Diskant
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\myKey
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
==== Sascha (Am-Form) ====
<div style="float:left; padding:5px;margin:5px; border:black solid 1px; ">
<score raw="1">
\version "2.14.2"
\markup {
\override #'(size . 3.0) {
\override #'(fret-diagram-details . (
(orientation . landscape)
(finger-code . in-dot)
(dot-color . #'black)
(dot-radius . 0.4)
(dot-position . 0.5)
(top-fret-thickness . 6)
(fret-count . 4)
(number-type . roman-upper)
))
\fret-diagram-verbose #'(
(place-fret 4 12 "2" darkgreen )
(place-fret 4 14 "3" darkgrey )
(place-fret 4 15 "4" yellow3 )
(place-fret 5 12 "6" darkgreen )
(place-fret 5 14 "j7" yellow3 )
(place-fret 5 15 "1" black )
)
}}
\paper{
indent=0\mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
bookTitleMarkup = ##f
scoreTitleMarkup = ##f}
</score>
</div>
Die erste Übung wird in den 12. Bund verschoben. Grundton A = A-Saite 12. Bund. Von da aus zählst du bis zum E.
;A B C D E
Klassik-Gitarristen rücken ggf. ein paar Bünde zurück.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (C- /Am-Form) in Am"
subtitle="Sascha (vereinfacht)"
}
myKey = {
\time 4/4
\tempo 4 = 80
\set Score.tempoHideNote = ##t
\key c \major
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c' {
\set TabStaff.minimumFret = #12
\set TabStaff.restrainOpenStrings = ##t
\myKey
\repeat volta 2 {
e8-3 e e c e e e c |
b d c b c a a a |
}
\repeat volta 2 {
f' f f r e e e r |
e d c b a a a r |
}
<a e' a >1^\markup { \bold {(A5)} }
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\myKey
\clef "treble_8"
\Diskant
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\myKey
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
==== Baustelle ====
=== Asturias (Ausschnitt) ===
Das ganze Stück Asturias ist ein Meisterstück. Doch es mag dich vielleicht freuen, dass es gar nicht mehr lange dauert, bis du zumindest die ersten Takte als kleines Vorzeigestück spielen kannst. Dies hier ist schon einmal eine Vorübung.
Es gibt auch eine einfache Version für Anfänger im Notenlesen.
• [[Gitarre: Notenlesen - Asturias-einfach|Asturias - vereinfacht]] (incl. Tabs)
==== Asturias - Am-Form (offen) ====
<div style="float:left; padding:5px;margin:5px; border:black solid 1px; ">
<score raw="1">
\version "2.14.2"
\markup {
\override #'(size . 3.0) {
\override #'(fret-diagram-details . (
(orientation . landscape)
(finger-code . in-dot)
(dot-color . #'black)
(dot-radius . 0.4)
(dot-position . 0.5)
(top-fret-thickness . 6)
(fret-count . 3)
(number-type . roman-upper)
))
\fret-diagram-verbose #'(
(place-fret 4 0 "D" darkgreen )
(place-fret 4 2 "E" darkgrey )
(place-fret 4 3 "F" yellow3 )
(place-fret 5 0 "A" darkgreen )
(place-fret 5 2 "B" yellow3 )
(place-fret 5 3 "C" black )
)
}}
\paper{
indent=0\mm
line-width=100\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
bookTitleMarkup = ##f
scoreTitleMarkup = ##f}
</score>
</div>
Vergiss nicht, neben dem Fingersatz auch die Notennamen zu üben.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz ( Am-Form - offen) in Am"
subtitle="Asturias (Ausschnitt)"
}
%% Diskant- bzw. Melodiesaiten
Diskant = {
% \set TabStaff.minimumFret = #5
% \set TabStaff.restrainOpenStrings = ##t
\key a \minor
\repeat volta 2 \relative c{
a8 e'-2 f d e c | a8 e' f d e c
a8 e' f d e c | d b c d b c |
^\markup {2x} | }
\set TabStaff.minimumFret = #0
<a, e' a c' e >2.^\markup { \bold {(Am)} }
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 6/8
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=140\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
==== Asturias - Gm-Form ====
<div style="float:left; padding:5px;margin:5px; border:black solid 1px; ">
<score raw="1">
\version "2.14.2"
\markup {
\override #'(size . 3.0) {
\override #'(fret-diagram-details . (
(orientation . landscape)
(finger-code . in-dot)
(dot-color . #'black)
(dot-radius . 0.4)
(dot-position . 0.5)
(top-fret-thickness . 6)
(fret-count . 3)
(number-type . roman-upper)
))
\fret-diagram-verbose #'(
(place-fret 2 3 "D" darkgreen )
(place-fret 2 5 "E" darkgrey )
(place-fret 2 6 "F" yellow3 )
(place-fret 3 2 "A" darkgreen )
(place-fret 3 4 "B" yellow3 )
(place-fret 3 5 "C" black )
)
}}
\paper{
indent=0\mm
line-width=100\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
bookTitleMarkup = ##f
scoreTitleMarkup = ##f}
</score>
</div>
Vergiss nicht, neben dem Fingersatz auch die Notennamen zu üben.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz ( Gm-Form) in Am"
subtitle="Asturias (Ausschnitt)"
}
%% Diskant- bzw. Melodiesaiten
Diskant = {
\set TabStaff.minimumFret = #2
\set TabStaff.restrainOpenStrings = ##t
\key a \minor
\repeat volta 2 \relative c'{
a8 e'-3 f d e c | a8 e' f d e c
a8 e' f d e c | d b c d b c |
^\markup {2x} | }
\set TabStaff.minimumFret = #0
< c' e' a'>2.^\markup { \bold {(Am)} }
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 6/8
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=140\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
=== Baustelle===
fgb9upnq4nvtvewevz9dwjfkp4tithk
1091128
1091127
2026-09-20T10:59:37Z
Mjchael
2222
/* Baustelle */
1091128
wikitext
text/x-wiki
[[Gitarre: CAGED-Stammtöne - Erster Fingersatz]]
Verkleinern einer übergroßen Seite
== Zweiter Fingersatz ==
:[[Datei:Scala 6_71-2_34.svg]]
Zuerst suchen wir uns in der C-Dur-Tonleiter überall den zweiten Fingersatz heraus.
:[[Datei:C-Major-Scale_on_the_fretboard_second_fingering.svg]]
Zur leichteren Orientierung wird die Grafik bei jeder neuen Melodie wiederholt.
=== Rondeau (Auszug) ===
Die eintaktige Sequenzen wurde aus einem Rondeau von J.S. Bach entnommen. Der Grundton C, welcher im letzten Takt rot eingefärbt wurde, wird mit dem kleinen Finger gegriffen.
Am Anfang des Griffbrettes brauchen wir den zweiten Fingersatz nicht vollständig.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (C-Form) in C-Dur"
subtitle="Rondeau (Auszug)"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c {
% \set TabStaff.minimumFret = #5
% \set TabStaff.restrainOpenStrings = ##t
\key c \major
\repeat volta 2 {
e8 d e f e d c e
d c d e d c b d
c b c d c b a c
b a b c d b c d
}
\once \override NoteHead #'color = #red c1^\markup { \bold {(C)} }
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 4/4
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
e8 d e f e d c e
d c d e d c b d
c b c d c b a c
b a b c d b c d
c
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
<br>
In der A-(Bb-)Form müssen wir den Lagewechsel zwischen der G- und H-Saite beachten. Übrigens werden hier die Töne in der englischen Form angegeben. (Bb-Form und der Ton B statt des deutschen H.)
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (A-, Bb-Form) in C-Dur"
subtitle="Rondeau (Auszug)"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c' {
\set TabStaff.minimumFret = #2
\set TabStaff.restrainOpenStrings = ##t
\key c \major
\repeat volta 2 {
e8-3 d e f e d c e-4
d-2 c d e d c b d
c b c d c b a c
b a b c d-1 b c d
}
\once \override NoteHead #'color = #red c1^\markup { \bold {(C)} }
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 4/4
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
e8 d e f e d c e
d c d e d c b d
c b c d c b a c
b a b c d b c d
c
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
<br>
Leite dir den Grundton C vom Barré im 8. Bund ab, oder suche das A im 5. Bund (hier grün hervorgehoben).
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (G-Form) in C-Dur"
subtitle="Rondeau (Auszug)"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c {
\set TabStaff.minimumFret = #5
\set TabStaff.restrainOpenStrings = ##t
\key c \major
\repeat volta 2 {
e8-2 d e f e d c e
d c d e d c b d
c b c d c b \once \override NoteHead #'color = #green a c
b a b c d b c d
}
\once \override NoteHead #'color = #red c1^\markup { \bold {(C)} }
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 4/4
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
e8 d e f e d c e
d c d e d c b d
c b c d c b a c
b a b c d b c d
c
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
<br>
Der kleine Finger des C-Barré im 8. Bund in der E- bzw. F-Form gibt gleichzeitig das C des zweiten Fingersatz an.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (E- F-Form) in C-Dur"
subtitle="Rondeau (Auszug)"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c' {
\set TabStaff.minimumFret = #7
\set TabStaff.restrainOpenStrings = ##t
\key c \major
\repeat volta 2 {
e8-2 d e f e d c e
d c d e d c b d
c b c d c b a c
b a b c d b c d
}
\once \override NoteHead #'color = #red c1^\markup { \bold {(C)} }
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 4/4
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
e8-2 d e f e d c e
d c d e d c b d
c b c d c b a c
b a b c d b c d
c
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
<br>
Für den Grundton C müssen wir uns die D-Form gar nicht so genau ins Gedächtnis rufen, wenn uns die C-Form viel vertrauter ist.
Diese hohe Lage ist für E-Gitarristen oder Gitarren mit Cutaway gedacht. Auf der Konzertgitarre ist die sehr hohe Lage schlecht zu spielen. Gehe ggf. einen Kompromiss ein, und spiele diese hohe Saitenlage ein paar Bünde tiefer als Übung nur für den Fingersatz aber nicht für die Notennamen.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (D-Form) in C-Dur"
subtitle="Rondeau (Auszug)"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c'' {
\set TabStaff.minimumFret = #9
\set TabStaff.restrainOpenStrings = ##t
\key c \major
\repeat volta 2 {
e8-2 d e f e d c e
d c d e d c b d
c b c d c b a c
b a b c d b c d
}
\once \override NoteHead #'color = #red c1^\markup { \bold {(C)} }
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 4/4
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
e8 d e f e d c e
d c d e d c b d
c b c d c b a c
b a b c d b c d
c
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
<br>
Noten über dem hohen C (der mit zwei Hilfslinien) wird dir seltener begegnen, da in dem Fall bevorzugt die Noten nach unten oktaviert werden. (Beachte die 8 im Notensystem.) Bei den weiteren Übungen werden jedoch die Versionen mit den vielen Hilfslinien angezeigt.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (D-Form) in C-Dur"
subtitle="Rondeau (Auszug)"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c'' {
\set TabStaff.minimumFret = #9
\set TabStaff.restrainOpenStrings = ##t
\key c \major
\repeat volta 2 {
\ottava #1 e8-2 d e f e d c e
d c d e d c b d
c b c d c b a c
b a b c d b c d
}
\once \override NoteHead #'color = #red c1^\markup { \bold {(C)} }
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 4/4
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
e8 d e f e d c e
d c d e d c b d
c b c d c b a c
b a b c d b c d
c
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
<br>
Mit der C-Form in den ersten drei Bünden im Hinterkopf ist der 12. Bund leicht zu bewältigen. Wieder eine Übung, die weniger für Konzertgitarren geeignet ist.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (C-Form) in C-Dur"
subtitle="Rondeau (Auszug)"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c' {
\set TabStaff.minimumFret = #12
\set TabStaff.restrainOpenStrings = ##t
\key c \major
\repeat volta 2 {
e8-2 d e f e d c e
d c d e d c b d
c b c d c b a c
b a b c d b c d
}
\once \override NoteHead #'color = #red c1^\markup { \bold {(C)} }
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 4/4
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
e8 d e f e d c e
d c d e d c b d
c b c d c b a c
b a b c d b c d
c
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
<br>
=== "Das häßliche Entlein" oder "Alle meine Entchen"<ref>Anspielung auf ein Märchen der Gebrüder Grimm nebst einem bekannten deutschen Kinderlied.</ref> in A-Moll ===
Die vorherige Übung war in Dur, und hier verwenden wir ein und den selben Fingersatz in Moll. Wie du siehst und hörst, lässt sich ein Fingersatz oder ein Pattern nicht eindeutig einer einzigen Tonart zuordnen. Der Schlusston oder der Schlussakkord (hier der Ton A bzw. der Akkord Am) bestimmt die Tonart. Der Grundton A ist hier die Sexte (6) des zugrunde liegenden C-Major-Pattern. Es bleibt dir überlassen, ob du zur Orientierung lieber den Grundton A (grün) bestimmst, oder das C aus dem Karré (rot).
Wenn in einer Tabulatur über einer Ziffer zwei Notenhälse stehen, so ist das ein Zeichen für eine halbe Note, die zwei Schläge dauert. Da dieses für viele Gitarristen sehr ungewöhnlich aussieht, verzichtet man oft auf Taktstriche in der Tabulatur. In dem Fall lässt sich die Tondauer allein an den Notenwerten ablesen.
:[[Datei:C-Major-Scale_on_the_fretboard_second_fingering.svg]]
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (C-/Am-Form) in Am"
subtitle="Das häßliche Entlein"
subsubtitle="oder: Alle meine Entchen in Moll"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c {
% \set TabStaff.minimumFret = #5
% \set TabStaff.restrainOpenStrings = ##t
\key a \minor
\once \override NoteHead #'color = #green
a4 b
\once \override NoteHead #'color = #red
c d e2 e f4 f f f e1
f4 f f f e1 d4 d d d c2 c
b4 b b b a1
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 4/4
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
a4 b c d e2 e f4 f f f e1
f4 f f f e1 d4 d d d c2 c
b4 b b b a1
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
<br>
Der Lagewechsel zwischen der G- und H-Saite ist hier leicht zu bewältigen.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (Gm-/Bb-Form) in Am"
subtitle="Das häßliche Entlein"
subsubtitle="oder: Alle meine Entchen in Moll"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c' {
\set TabStaff.minimumFret = #2
\set TabStaff.restrainOpenStrings = ##t
\key a \minor
\once \override NoteHead #'color = #green
a4-1 b
\once \override NoteHead #'color = #red
c d-1 e2 e f4 f f f e1
f4 f f f e1 d4 d d d c2-4 c
b4 b b b a1
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 4/4
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
a4 b c d e2 e f4 f f f e1
f4 f f f e1 d4 d d d c2 c
b4 b b b a1
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
<br>
Auch hier ist es wieder einfacher das A (grün) zu suchen.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (Em-/G-Form) in Am"
subtitle="Das häßliche Entlein"
subsubtitle="oder: Alle meine Entchen in Moll"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c {
\set TabStaff.minimumFret = #5
\set TabStaff.restrainOpenStrings = ##t
\key a \minor
\once \override NoteHead #'color = #green
a4-1 b
\once \override NoteHead #'color = #red
c d e2 e f4 f f f e1
f4 f f f e1 d4 d d d c2 c
b4 b b b a1
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 4/4
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
a4 b c d e2 e f4 f f f e1
f4 f f f e1 d4 d d d c2 c
b4 b b b a1
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
<br>
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (E- / F-Form) in Am"
subtitle="Das häßliche Entlein"
subsubtitle="oder: Alle meine Entchen in Moll"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c' {
\set TabStaff.minimumFret = #7
\set TabStaff.restrainOpenStrings = ##t
\key a \minor
\once \override NoteHead #'color = #green
a4-1 b
\once \override NoteHead #'color = #red
c d e2 e f4 f f f e1
f4 f f f e1 d4 d d d c2 c
b4 b b b a1
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 4/4
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
a4 b c d e2 e f4 f f f e1
f4 f f f e1 d4 d d d c2 c
b4 b b b a1
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
<br>
Statt lange nach dem Grundton der D-Form zu suchen, erinneren wir uns kurz, wo der Grundton C auf der H- (B-)Saite sein muß (13. Bund).
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (D-Form) in Am"
subtitle="Das häßliche Entlein"
subsubtitle="oder: Alle meine Entchen in Moll"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c'' {
\set TabStaff.minimumFret = #9
\set TabStaff.restrainOpenStrings = ##t
\key a \minor
\once \override NoteHead #'color = #green
a4-1 b
\once \override NoteHead #'color = #red
c d e2 e f4 f f f e1
f4 f f f e1 d4 d d d c2 c
b4 b b b a1
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 4/4
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
a4 b c d e2 e f4 f f f e1
f4 f f f e1 d4 d d d c2 c
b4 b b b a1
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
<br>
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (C-Form) in Am"
subtitle="Das häßliche Entlein"
subsubtitle="oder: Alle meine Entchen in Moll"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c' {
\set TabStaff.minimumFret = #12
\set TabStaff.restrainOpenStrings = ##t
\key a \minor
\once \override NoteHead #'color = #green
a4-1 b
\once \override NoteHead #'color = #red
c d e2 e f4 f f f e1
f4 f f f e1 d4 d d d c2 c
b4 b b b a1
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 4/4
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
a4 b c d e2 e f4 f f f e1
f4 f f f e1 d4 d d d c2 c
b4 b b b a1
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
=== Die Moldau (Hauptmotiv) ===
Die Abfolge der Töne der folgenden Übung unterscheidet sich kaum von der vorhergehenden. Doch mit dem anderen Rhythmus haben wir das Hauptmotiv von der Komposition {{Youtube-Suche|Smetana+Die+Moldau|"Die Moldau" von Bedrich Smetana}} (ohne Auftakt und rhythmisch vereinfacht).
Auch wenn es hier (wie in der 7. Übung) nur die Molltonleiter rauf und runter geht, merkst du hoffentlich, wieviel der Takt und Rhythmus an der Wirkung ausmacht. Wenn du später mal meinst, deine Improvisationen hören sich langweilig an, dann solltest du dich mehr mit Rhythmus beschäftigen. Dazu kannst du dich auch ein wenig mit Schlagmustern beschäftigen.
:[[Datei:C-Major-Scale_on_the_fretboard_second_fingering.svg]]
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (Am-Form) in Am"
subtitle="Die Moldau (Hauptmotiv)"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c {
% \set TabStaff.minimumFret = #2
% \set TabStaff.restrainOpenStrings = ##t
\key a \minor
\once \override NoteHead #'color = #green
a4 b8
\once \override NoteHead #'color = #red
c4 d8 e4. e4. f4. f4. e2.
d4. d4. c4 d8 c4. b4. b4. a2.
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 6/8
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
a4 b8 c4 d8 e4. e4. f4. f4. e2.
d4. d4. c4 d8 c4. b4. b4. a2.
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
<br>
Warum die Form hier Gm-Form genannt wird, das wird dir in den nachfolgenden Lektionen klarer werden. Auf Fingersatzangaben können wir hier verzichten, wenn du vorher "Alle meine Entchen in Am" gespielt hast.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (Bb- /Gm-Form) in Am"
subtitle="Die Moldau (Hauptmotiv)"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c' {
\set TabStaff.minimumFret = #2
\set TabStaff.restrainOpenStrings = ##t
\key a \minor
\once \override NoteHead #'color = #green
a4 b8
\once \override NoteHead #'color = #red
c4 d8 e4. e4. f4. f4. e2.
d4. d4. c4 d8 c4. b4. b4. a2.
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 6/8
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
a4 b8 c4 d8 e4. e4. f4. f4. e2.
d4. d4. c4 d8 c4. b4. b4. a2.
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
<br>
Hier bietet sich besonders an, den Am-Barré zur Orientierung zu verwenden.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (Em-Form) in Am"
subtitle="Die Moldau (Hauptmotiv)"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c {
\set TabStaff.minimumFret = #5
\set TabStaff.restrainOpenStrings = ##t
\key a \minor
\once \override NoteHead #'color = #green
a4 b8
\once \override NoteHead #'color = #red
c4 d8 e4. e4. f4. f4. e2.
d4. d4. c4 d8 c4. b4. b4. a2.
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 6/8
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
a4 b8 c4 d8 e4. e4. f4. f4. e2.
d4. d4. c4 d8 c4. b4. b4. a2.
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
<br>
Auch hier gibt dir der kleine Finger des Am-Barrés den Grundton an. Du kannst dir die Dm-Form aber auch über die F-Form (C im 8. Bund) ableiten.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (F- /Dm-Form) in Am"
subtitle="Die Moldau (Hauptmotiv)"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c' {
\set TabStaff.minimumFret = #7
\set TabStaff.restrainOpenStrings = ##t
\key a \minor
\once \override NoteHead #'color = #green
a4 b8
\once \override NoteHead #'color = #red
c4 d8 e4. e4. f4. f4. e2.
d4. d4. c4 d8 c4. b4. b4. a2.
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 6/8
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
a4 b8 c4 d8 e4. e4. f4. f4. e2.
d4. d4. c4 d8 c4. b4. b4. a2.
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
<br>
Zähle vom C (H-Saite, 13. Bund) rückwärts zum A.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (D- /Bm7-Form) in Am"
subtitle="Die Moldau (Hauptmotiv)"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c'' {
\set TabStaff.minimumFret = #9
\set TabStaff.restrainOpenStrings = ##t
\key a \minor
\once \override NoteHead #'color = #green
a4 b8
\once \override NoteHead #'color = #red
c4 d8 e4. e4. f4. f4. e2.
d4. d4. c4 d8 c4. b4. b4. a2.
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 6/8
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
a4 b8 c4 d8 e4. e4. f4. f4. e2.
d4. d4. c4 d8 c4. b4. b4. a2.
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
<br>
Hier wird die erste Übung in den 12. Bund verschoben.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (C- /Am-Form) in Am"
subtitle="Die Moldau (Hauptmotiv)"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c' {
\set TabStaff.minimumFret = #12
\set TabStaff.restrainOpenStrings = ##t
\key a \minor
\once \override NoteHead #'color = #green
a4 b8
\once \override NoteHead #'color = #red
c4 d8 e4. e4. f4. f4. e2.
d4. d4. c4 d8 c4. b4. b4. a2.
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 6/8
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
a4 b8 c4 d8 e4. e4. f4. f4. e2.
d4. d4. c4 d8 c4. b4. b4. a2.
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
=== Sascha (vereinfacht) ===
[[Liederbuch/ Sascha|Sascha]] (auch bekannt unter "Sascha geizte mit den Worten" oder "Sascha liebt nicht große Worte") ist in beliebtes Kinder-, Jugend- und Pfadfinderlied.
==== Sascha (Am-Form) ====
<div style="float:left; padding:5px;margin:5px; border:black solid 1px; ">
<score raw="1">
\version "2.14.2"
\markup {
\override #'(size . 3.0) {
\override #'(fret-diagram-details . (
(orientation . landscape)
(finger-code . in-dot)
(dot-color . #'black)
(dot-radius . 0.4)
(dot-position . 0.5)
(top-fret-thickness . 6)
(fret-count . 3)
(number-type . roman-upper)
))
\fret-diagram-verbose #'(
(place-fret 4 0 "2" darkgreen )
(place-fret 4 2 "3" darkgrey )
(place-fret 4 3 "4" yellow3 )
(place-fret 5 0 "6" darkgreen )
(place-fret 5 2 "j7" yellow3 )
(place-fret 5 3 "1" black )
)
}}
\paper{
indent=0\mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
bookTitleMarkup = ##f
scoreTitleMarkup = ##f}
</score>
</div>
Das Lied startet mit dem Ton E. Man könntetheoretisch in der zweiten Lage spielen und mit dem Zeigefinger starten. Doch üblicher ist Zeigefinger erster Bund, Mittelfinger zweiter Bund, Ringfinger 3. Bund.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (C- /Am-Form) in Am"
subtitle="Sascha (vereinfacht)"
}
myKey = {
\time 4/4
\tempo 4 = 80
\set Score.tempoHideNote = ##t
\key c \major
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c {
% \set TabStaff.minimumFret = #2
% \set TabStaff.restrainOpenStrings = ##t
\myKey
\repeat volta 2 {
e8-2 e e c e e e c |
b d c b c a a a |
}
\repeat volta 2 {
f' f f r e e e r |
e d c b a a a r |
}
<a e' a c e>1^\markup { \bold {(Am)} }
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\myKey
\clef "treble_8"
\Diskant
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\myKey
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
==== Sascha (Gm-Form) ====
<div style="float:left; padding:5px;margin:5px; border:black solid 1px; ">
<score raw="1">
\version "2.14.2"
\markup {
\override #'(size . 3.0) {
\override #'(fret-diagram-details . (
(orientation . landscape)
(finger-code . in-dot)
(dot-color . #'black)
(dot-radius . 0.4)
(dot-position . 0.5)
(top-fret-thickness . 6)
(fret-count . 3)
(number-type . roman-upper)
))
\fret-diagram-verbose #'(
(place-fret 2 3 2 darkgreen )
(place-fret 2 5 3 darkgrey )
(place-fret 2 6 4 yellow3 )
(place-fret 3 2 6 darkgreen )
(place-fret 3 4 "j7" yellow3 )
(place-fret 3 5 1 black )
)
}}
\paper{
indent=0\mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
bookTitleMarkup = ##f
scoreTitleMarkup = ##f}
</score>
</div>
Das Lied "Sascha" wird hier auf der G- und H-Saite gespielt. Wir müssen uns Strategien zurechtlegen, welchen Fingersatz wir am besten für die Lagewechsel verwenden.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (Bb- /Gm7-Form) in Am"
subtitle="Sascha (vereinfacht)"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c' {
\set TabStaff.minimumFret = #2
\set TabStaff.restrainOpenStrings = ##t
\key c \major
\repeat volta 2 {
e8-4 e e c-3 e e e c |
b d-3 c-4 b c a a a |
}
\repeat volta 2 {
f'-4 f f r e e e r |
e d c-4 b a a a r |
}
\set TabStaff.minimumFret = #5
<c e a>1^\markup { \bold {(Am)} }
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 4/4
\tempo 4 = 80
\set Score.tempoHideNote = ##t
\Diskant
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 80
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
Auf den anderen Saitenlagen geht die Melodie einfacher von der Hand.
==== Sascha (Em-Form) ====
<div style="float:left; padding:5px;margin:5px; border:black solid 1px; ">
<score raw="1">
\version "2.14.2"
\markup {
\override #'(size . 3.0) {
\override #'(fret-diagram-details . (
(orientation . landscape)
(finger-code . in-dot)
(dot-color . #'black)
(dot-radius . 0.4)
(dot-position . 0.5)
(top-fret-thickness . 6)
(fret-count . 3)
(number-type . roman-upper)
))
\fret-diagram-verbose #'(
(place-fret 5 5 "2" darkgreen )
(place-fret 5 7 "3" darkgrey )
(place-fret 5 8 "4" yellow3 )
(place-fret 6 5 "6" darkgreen )
(place-fret 6 7 "j7" yellow3 )
(place-fret 6 8 "1" black )
)
}}
\paper{
indent=0\mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
bookTitleMarkup = ##f
scoreTitleMarkup = ##f}
</score>
</div>
Den Grundton A leiten wir wieder vom Am-Barré im 5. Bund ab.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (G- /Em-Form) in Am"
subtitle="Sascha (vereinfacht)"
}
myKey = {
\time 4/4
\tempo 4 = 80
\set Score.tempoHideNote = ##t
\key c \major
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c {
\set TabStaff.minimumFret = #5
\set TabStaff.restrainOpenStrings = ##t
\myKey
\repeat volta 2 {
e8-3 e e c e e e c |
b d c b c a a a |
}
\repeat volta 2 {
f' f f r e e e r |
e d c b a a a r |
}
<a e' a c e a>1^\markup { \bold {(Am)} }
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\myKey
\clef "treble_8"
\Diskant
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\myKey
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
==== Sascha (Dm-Form) ====
<div style="float:left; padding:5px;margin:5px; border:black solid 1px; ">
<score raw="1">
\version "2.14.2"
\markup {
\override #'(size . 3.0) {
\override #'(fret-diagram-details . (
(orientation . landscape)
(finger-code . in-dot)
(dot-color . #'black)
(dot-radius . 0.4)
(dot-position . 0.5)
(top-fret-thickness . 6)
(fret-count . 3)
(number-type . roman-upper)
))
\fret-diagram-verbose #'(
(place-fret 3 7 "2" darkgreen )
(place-fret 3 9 "3" darkgrey )
(place-fret 3 10 "4" yellow3 )
(place-fret 4 7 "6" darkgreen )
(place-fret 4 9 "j7" yellow3 )
(place-fret 4 10 "1" black )
)
}}
\paper{
indent=0\mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
bookTitleMarkup = ##f
scoreTitleMarkup = ##f}
</score>
</div>
Den Grundton A leiten wir wieder vom kleinen Finger des Am-Barré im 5. Bund ab.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (F- /Dm-Form) in Am"
subtitle="Sascha (vereinfacht)"
}
myKey = {
\time 4/4
\tempo 4 = 80
\set Score.tempoHideNote = ##t
\key c \major
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c' {
\set TabStaff.minimumFret = #7
\set TabStaff.restrainOpenStrings = ##t
\myKey
\repeat volta 2 {
e8-3 e e c e e e c |
b d c b c a a a |
}
\repeat volta 2 {
f' f f r e e e r |
e d c b a a a r |
}
<a' c e>1^\markup { \bold {(Am)} }
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\myKey
\clef "treble_8"
\Diskant
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\myKey
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
==== Sascha (Dm-Form) ====
<div style="float:left; padding:5px;margin:5px; border:black solid 1px; ">
<score raw="1">
\version "2.14.2"
\markup {
\override #'(size . 3.0) {
\override #'(fret-diagram-details . (
(orientation . landscape)
(finger-code . in-dot)
(dot-color . #'black)
(dot-radius . 0.4)
(dot-position . 0.5)
(top-fret-thickness . 6)
(fret-count . 3)
(number-type . roman-upper)
))
\fret-diagram-verbose #'(
(place-fret 1 10 "2" darkgreen )
(place-fret 1 12 "3" darkgrey )
(place-fret 1 13 "4" yellow3 )
(place-fret 2 10 "6" darkgreen )
(place-fret 2 12 "j7" yellow3 )
(place-fret 2 13 "1" black )
)
}}
\paper{
indent=0\mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
bookTitleMarkup = ##f
scoreTitleMarkup = ##f}
</score>
</div>
Wenn im 12. Bund der B-Saite der Ton B ist, dann ist 2 Bünde vorher das A. Das Lied beginnt mit E, also 12. Bund E-Saite
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (D- /Bm7-Form) in Am"
subtitle="Sascha (vereinfacht)"
}
myKey = {
\time 4/4
\tempo 4 = 80
\set Score.tempoHideNote = ##t
\key c \major
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c'' {
\set TabStaff.minimumFret = #10
\set TabStaff.restrainOpenStrings = ##t
\myKey
\repeat volta 2 {
e8-3 e e c e e e c |
b d c b c a a a |
}
\repeat volta 2 {
f' f f r e e e r |
e d c b a a a r |
}
<a, e' a c e>1^\markup { \bold {(Am)} }
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\myKey
\clef "treble_8"
\Diskant
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\myKey
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
==== Sascha (Am-Form) ====
<div style="float:left; padding:5px;margin:5px; border:black solid 1px; ">
<score raw="1">
\version "2.14.2"
\markup {
\override #'(size . 3.0) {
\override #'(fret-diagram-details . (
(orientation . landscape)
(finger-code . in-dot)
(dot-color . #'black)
(dot-radius . 0.4)
(dot-position . 0.5)
(top-fret-thickness . 6)
(fret-count . 4)
(number-type . roman-upper)
))
\fret-diagram-verbose #'(
(place-fret 4 12 "2" darkgreen )
(place-fret 4 14 "3" darkgrey )
(place-fret 4 15 "4" yellow3 )
(place-fret 5 12 "6" darkgreen )
(place-fret 5 14 "j7" yellow3 )
(place-fret 5 15 "1" black )
)
}}
\paper{
indent=0\mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
bookTitleMarkup = ##f
scoreTitleMarkup = ##f}
</score>
</div>
Die erste Übung wird in den 12. Bund verschoben. Grundton A = A-Saite 12. Bund. Von da aus zählst du bis zum E.
;A B C D E
Klassik-Gitarristen rücken ggf. ein paar Bünde zurück.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (C- /Am-Form) in Am"
subtitle="Sascha (vereinfacht)"
}
myKey = {
\time 4/4
\tempo 4 = 80
\set Score.tempoHideNote = ##t
\key c \major
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c' {
\set TabStaff.minimumFret = #12
\set TabStaff.restrainOpenStrings = ##t
\myKey
\repeat volta 2 {
e8-3 e e c e e e c |
b d c b c a a a |
}
\repeat volta 2 {
f' f f r e e e r |
e d c b a a a r |
}
<a e' a >1^\markup { \bold {(A5)} }
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\myKey
\clef "treble_8"
\Diskant
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\myKey
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
==== Baustelle ====
=== Asturias (Ausschnitt) ===
Das ganze Stück Asturias ist ein Meisterstück. Doch es mag dich vielleicht freuen, dass es gar nicht mehr lange dauert, bis du zumindest die ersten Takte als kleines Vorzeigestück spielen kannst. Dies hier ist schon einmal eine Vorübung.
Es gibt auch eine einfache Version für Anfänger im Notenlesen.
• [[Gitarre: Notenlesen - Asturias-einfach|Asturias - vereinfacht]] (incl. Tabs)
==== Asturias - Am-Form (offen) ====
<div style="float:left; padding:5px;margin:5px; border:black solid 1px; ">
<score raw="1">
\version "2.14.2"
\markup {
\override #'(size . 3.0) {
\override #'(fret-diagram-details . (
(orientation . landscape)
(finger-code . in-dot)
(dot-color . #'black)
(dot-radius . 0.4)
(dot-position . 0.5)
(top-fret-thickness . 6)
(fret-count . 3)
(number-type . roman-upper)
))
\fret-diagram-verbose #'(
(place-fret 4 0 "D" darkgreen )
(place-fret 4 2 "E" darkgrey )
(place-fret 4 3 "F" yellow3 )
(place-fret 5 0 "A" darkgreen )
(place-fret 5 2 "B" yellow3 )
(place-fret 5 3 "C" black )
)
}}
\paper{
indent=0\mm
line-width=100\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
bookTitleMarkup = ##f
scoreTitleMarkup = ##f}
</score>
</div>
Vergiss nicht, neben dem Fingersatz auch die Notennamen zu üben.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz ( Am-Form - offen) in Am"
subtitle="Asturias (Ausschnitt)"
}
%% Diskant- bzw. Melodiesaiten
Diskant = {
% \set TabStaff.minimumFret = #5
% \set TabStaff.restrainOpenStrings = ##t
\key a \minor
\repeat volta 2 \relative c{
a8 e'-2 f d e c | a8 e' f d e c
a8 e' f d e c | d b c d b c |
^\markup {2x} | }
\set TabStaff.minimumFret = #0
<a, e' a c' e >2.^\markup { \bold {(Am)} }
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 6/8
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=140\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
==== Asturias - Gm-Form ====
<div style="float:left; padding:5px;margin:5px; border:black solid 1px; ">
<score raw="1">
\version "2.14.2"
\markup {
\override #'(size . 3.0) {
\override #'(fret-diagram-details . (
(orientation . landscape)
(finger-code . in-dot)
(dot-color . #'black)
(dot-radius . 0.4)
(dot-position . 0.5)
(top-fret-thickness . 6)
(fret-count . 3)
(number-type . roman-upper)
))
\fret-diagram-verbose #'(
(place-fret 2 3 "D" darkgreen )
(place-fret 2 5 "E" darkgrey )
(place-fret 2 6 "F" yellow3 )
(place-fret 3 2 "A" darkgreen )
(place-fret 3 4 "B" yellow3 )
(place-fret 3 5 "C" black )
)
}}
\paper{
indent=0\mm
line-width=100\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
bookTitleMarkup = ##f
scoreTitleMarkup = ##f}
</score>
</div>
Vergiss nicht, neben dem Fingersatz auch die Notennamen zu üben.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz ( Gm-Form) in Am"
subtitle="Asturias (Ausschnitt)"
}
%% Diskant- bzw. Melodiesaiten
Diskant = {
\set TabStaff.minimumFret = #2
\set TabStaff.restrainOpenStrings = ##t
\key a \minor
\repeat volta 2 \relative c'{
a8 e'-3 f d e c | a8 e' f d e c
a8 e' f d e c | d b c d b c |
^\markup {2x} | }
\set TabStaff.minimumFret = #0
< c' e' a'>2.^\markup { \bold {(Am)} }
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 6/8
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=140\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
==== Asturias - Em-Form ====
<div style="float:left; padding:5px;margin:5px; border:black solid 1px; ">
<score raw="1">
\version "2.14.2"
\markup {
\override #'(size . 3.0) {
\override #'(fret-diagram-details . (
(orientation . landscape)
(finger-code . in-dot)
(dot-color . #'black)
(dot-radius . 0.4)
(dot-position . 0.5)
(top-fret-thickness . 6)
(fret-count . 3)
(number-type . roman-upper)
))
\fret-diagram-verbose #'(
(place-fret 5 5 "D" darkgreen )
(place-fret 5 7 "E" darkgrey )
(place-fret 5 8 "F" yellow3 )
(place-fret 6 5 "A" darkgreen )
(place-fret 6 7 "B" yellow3 )
(place-fret 6 8 "C" black )
)
}}
\paper{
indent=0\mm
line-width=100\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
bookTitleMarkup = ##f
scoreTitleMarkup = ##f}
</score>
</div>
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz ( Em-Form) in Am"
subtitle="Asturias (Ausschnitt)"
}
%% Diskant- bzw. Melodiesaiten
Diskant = {
\set TabStaff.minimumFret = #5
\set TabStaff.restrainOpenStrings = ##t
\key a \minor
\repeat volta 2 \relative c{
a8 e'-3 f d e c | a8 e' f d e c
a8 e' f d e c | d b c d b c |
^\markup {2x} | }
\set TabStaff.minimumFret = #0
< a, e a c' e' a'>2.^\markup { \bold {(Am)} }
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 6/8
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=140\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
=== Baustelle===
gdqz8jiiyds8mqu8eovrsnjwh60r565
1091129
1091128
2026-09-20T11:25:14Z
Mjchael
2222
/* Baustelle */
1091129
wikitext
text/x-wiki
[[Gitarre: CAGED-Stammtöne - Erster Fingersatz]]
Verkleinern einer übergroßen Seite
== Zweiter Fingersatz ==
:[[Datei:Scala 6_71-2_34.svg]]
Zuerst suchen wir uns in der C-Dur-Tonleiter überall den zweiten Fingersatz heraus.
:[[Datei:C-Major-Scale_on_the_fretboard_second_fingering.svg]]
Zur leichteren Orientierung wird die Grafik bei jeder neuen Melodie wiederholt.
=== Rondeau (Auszug) ===
Die eintaktige Sequenzen wurde aus einem Rondeau von J.S. Bach entnommen. Der Grundton C, welcher im letzten Takt rot eingefärbt wurde, wird mit dem kleinen Finger gegriffen.
Am Anfang des Griffbrettes brauchen wir den zweiten Fingersatz nicht vollständig.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (C-Form) in C-Dur"
subtitle="Rondeau (Auszug)"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c {
% \set TabStaff.minimumFret = #5
% \set TabStaff.restrainOpenStrings = ##t
\key c \major
\repeat volta 2 {
e8 d e f e d c e
d c d e d c b d
c b c d c b a c
b a b c d b c d
}
\once \override NoteHead #'color = #red c1^\markup { \bold {(C)} }
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 4/4
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
e8 d e f e d c e
d c d e d c b d
c b c d c b a c
b a b c d b c d
c
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
<br>
In der A-(Bb-)Form müssen wir den Lagewechsel zwischen der G- und H-Saite beachten. Übrigens werden hier die Töne in der englischen Form angegeben. (Bb-Form und der Ton B statt des deutschen H.)
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (A-, Bb-Form) in C-Dur"
subtitle="Rondeau (Auszug)"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c' {
\set TabStaff.minimumFret = #2
\set TabStaff.restrainOpenStrings = ##t
\key c \major
\repeat volta 2 {
e8-3 d e f e d c e-4
d-2 c d e d c b d
c b c d c b a c
b a b c d-1 b c d
}
\once \override NoteHead #'color = #red c1^\markup { \bold {(C)} }
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 4/4
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
e8 d e f e d c e
d c d e d c b d
c b c d c b a c
b a b c d b c d
c
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
<br>
Leite dir den Grundton C vom Barré im 8. Bund ab, oder suche das A im 5. Bund (hier grün hervorgehoben).
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (G-Form) in C-Dur"
subtitle="Rondeau (Auszug)"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c {
\set TabStaff.minimumFret = #5
\set TabStaff.restrainOpenStrings = ##t
\key c \major
\repeat volta 2 {
e8-2 d e f e d c e
d c d e d c b d
c b c d c b \once \override NoteHead #'color = #green a c
b a b c d b c d
}
\once \override NoteHead #'color = #red c1^\markup { \bold {(C)} }
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 4/4
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
e8 d e f e d c e
d c d e d c b d
c b c d c b a c
b a b c d b c d
c
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
<br>
Der kleine Finger des C-Barré im 8. Bund in der E- bzw. F-Form gibt gleichzeitig das C des zweiten Fingersatz an.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (E- F-Form) in C-Dur"
subtitle="Rondeau (Auszug)"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c' {
\set TabStaff.minimumFret = #7
\set TabStaff.restrainOpenStrings = ##t
\key c \major
\repeat volta 2 {
e8-2 d e f e d c e
d c d e d c b d
c b c d c b a c
b a b c d b c d
}
\once \override NoteHead #'color = #red c1^\markup { \bold {(C)} }
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 4/4
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
e8-2 d e f e d c e
d c d e d c b d
c b c d c b a c
b a b c d b c d
c
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
<br>
Für den Grundton C müssen wir uns die D-Form gar nicht so genau ins Gedächtnis rufen, wenn uns die C-Form viel vertrauter ist.
Diese hohe Lage ist für E-Gitarristen oder Gitarren mit Cutaway gedacht. Auf der Konzertgitarre ist die sehr hohe Lage schlecht zu spielen. Gehe ggf. einen Kompromiss ein, und spiele diese hohe Saitenlage ein paar Bünde tiefer als Übung nur für den Fingersatz aber nicht für die Notennamen.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (D-Form) in C-Dur"
subtitle="Rondeau (Auszug)"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c'' {
\set TabStaff.minimumFret = #9
\set TabStaff.restrainOpenStrings = ##t
\key c \major
\repeat volta 2 {
e8-2 d e f e d c e
d c d e d c b d
c b c d c b a c
b a b c d b c d
}
\once \override NoteHead #'color = #red c1^\markup { \bold {(C)} }
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 4/4
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
e8 d e f e d c e
d c d e d c b d
c b c d c b a c
b a b c d b c d
c
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
<br>
Noten über dem hohen C (der mit zwei Hilfslinien) wird dir seltener begegnen, da in dem Fall bevorzugt die Noten nach unten oktaviert werden. (Beachte die 8 im Notensystem.) Bei den weiteren Übungen werden jedoch die Versionen mit den vielen Hilfslinien angezeigt.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (D-Form) in C-Dur"
subtitle="Rondeau (Auszug)"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c'' {
\set TabStaff.minimumFret = #9
\set TabStaff.restrainOpenStrings = ##t
\key c \major
\repeat volta 2 {
\ottava #1 e8-2 d e f e d c e
d c d e d c b d
c b c d c b a c
b a b c d b c d
}
\once \override NoteHead #'color = #red c1^\markup { \bold {(C)} }
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 4/4
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
e8 d e f e d c e
d c d e d c b d
c b c d c b a c
b a b c d b c d
c
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
<br>
Mit der C-Form in den ersten drei Bünden im Hinterkopf ist der 12. Bund leicht zu bewältigen. Wieder eine Übung, die weniger für Konzertgitarren geeignet ist.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (C-Form) in C-Dur"
subtitle="Rondeau (Auszug)"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c' {
\set TabStaff.minimumFret = #12
\set TabStaff.restrainOpenStrings = ##t
\key c \major
\repeat volta 2 {
e8-2 d e f e d c e
d c d e d c b d
c b c d c b a c
b a b c d b c d
}
\once \override NoteHead #'color = #red c1^\markup { \bold {(C)} }
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 4/4
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
e8 d e f e d c e
d c d e d c b d
c b c d c b a c
b a b c d b c d
c
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
<br>
=== "Das häßliche Entlein" oder "Alle meine Entchen"<ref>Anspielung auf ein Märchen der Gebrüder Grimm nebst einem bekannten deutschen Kinderlied.</ref> in A-Moll ===
Die vorherige Übung war in Dur, und hier verwenden wir ein und den selben Fingersatz in Moll. Wie du siehst und hörst, lässt sich ein Fingersatz oder ein Pattern nicht eindeutig einer einzigen Tonart zuordnen. Der Schlusston oder der Schlussakkord (hier der Ton A bzw. der Akkord Am) bestimmt die Tonart. Der Grundton A ist hier die Sexte (6) des zugrunde liegenden C-Major-Pattern. Es bleibt dir überlassen, ob du zur Orientierung lieber den Grundton A (grün) bestimmst, oder das C aus dem Karré (rot).
Wenn in einer Tabulatur über einer Ziffer zwei Notenhälse stehen, so ist das ein Zeichen für eine halbe Note, die zwei Schläge dauert. Da dieses für viele Gitarristen sehr ungewöhnlich aussieht, verzichtet man oft auf Taktstriche in der Tabulatur. In dem Fall lässt sich die Tondauer allein an den Notenwerten ablesen.
:[[Datei:C-Major-Scale_on_the_fretboard_second_fingering.svg]]
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (C-/Am-Form) in Am"
subtitle="Das häßliche Entlein"
subsubtitle="oder: Alle meine Entchen in Moll"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c {
% \set TabStaff.minimumFret = #5
% \set TabStaff.restrainOpenStrings = ##t
\key a \minor
\once \override NoteHead #'color = #green
a4 b
\once \override NoteHead #'color = #red
c d e2 e f4 f f f e1
f4 f f f e1 d4 d d d c2 c
b4 b b b a1
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 4/4
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
a4 b c d e2 e f4 f f f e1
f4 f f f e1 d4 d d d c2 c
b4 b b b a1
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
<br>
Der Lagewechsel zwischen der G- und H-Saite ist hier leicht zu bewältigen.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (Gm-/Bb-Form) in Am"
subtitle="Das häßliche Entlein"
subsubtitle="oder: Alle meine Entchen in Moll"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c' {
\set TabStaff.minimumFret = #2
\set TabStaff.restrainOpenStrings = ##t
\key a \minor
\once \override NoteHead #'color = #green
a4-1 b
\once \override NoteHead #'color = #red
c d-1 e2 e f4 f f f e1
f4 f f f e1 d4 d d d c2-4 c
b4 b b b a1
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 4/4
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
a4 b c d e2 e f4 f f f e1
f4 f f f e1 d4 d d d c2 c
b4 b b b a1
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
<br>
Auch hier ist es wieder einfacher das A (grün) zu suchen.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (Em-/G-Form) in Am"
subtitle="Das häßliche Entlein"
subsubtitle="oder: Alle meine Entchen in Moll"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c {
\set TabStaff.minimumFret = #5
\set TabStaff.restrainOpenStrings = ##t
\key a \minor
\once \override NoteHead #'color = #green
a4-1 b
\once \override NoteHead #'color = #red
c d e2 e f4 f f f e1
f4 f f f e1 d4 d d d c2 c
b4 b b b a1
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 4/4
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
a4 b c d e2 e f4 f f f e1
f4 f f f e1 d4 d d d c2 c
b4 b b b a1
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
<br>
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (E- / F-Form) in Am"
subtitle="Das häßliche Entlein"
subsubtitle="oder: Alle meine Entchen in Moll"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c' {
\set TabStaff.minimumFret = #7
\set TabStaff.restrainOpenStrings = ##t
\key a \minor
\once \override NoteHead #'color = #green
a4-1 b
\once \override NoteHead #'color = #red
c d e2 e f4 f f f e1
f4 f f f e1 d4 d d d c2 c
b4 b b b a1
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 4/4
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
a4 b c d e2 e f4 f f f e1
f4 f f f e1 d4 d d d c2 c
b4 b b b a1
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
<br>
Statt lange nach dem Grundton der D-Form zu suchen, erinneren wir uns kurz, wo der Grundton C auf der H- (B-)Saite sein muß (13. Bund).
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (D-Form) in Am"
subtitle="Das häßliche Entlein"
subsubtitle="oder: Alle meine Entchen in Moll"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c'' {
\set TabStaff.minimumFret = #9
\set TabStaff.restrainOpenStrings = ##t
\key a \minor
\once \override NoteHead #'color = #green
a4-1 b
\once \override NoteHead #'color = #red
c d e2 e f4 f f f e1
f4 f f f e1 d4 d d d c2 c
b4 b b b a1
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 4/4
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
a4 b c d e2 e f4 f f f e1
f4 f f f e1 d4 d d d c2 c
b4 b b b a1
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
<br>
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (C-Form) in Am"
subtitle="Das häßliche Entlein"
subsubtitle="oder: Alle meine Entchen in Moll"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c' {
\set TabStaff.minimumFret = #12
\set TabStaff.restrainOpenStrings = ##t
\key a \minor
\once \override NoteHead #'color = #green
a4-1 b
\once \override NoteHead #'color = #red
c d e2 e f4 f f f e1
f4 f f f e1 d4 d d d c2 c
b4 b b b a1
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 4/4
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
a4 b c d e2 e f4 f f f e1
f4 f f f e1 d4 d d d c2 c
b4 b b b a1
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
=== Die Moldau (Hauptmotiv) ===
Die Abfolge der Töne der folgenden Übung unterscheidet sich kaum von der vorhergehenden. Doch mit dem anderen Rhythmus haben wir das Hauptmotiv von der Komposition {{Youtube-Suche|Smetana+Die+Moldau|"Die Moldau" von Bedrich Smetana}} (ohne Auftakt und rhythmisch vereinfacht).
Auch wenn es hier (wie in der 7. Übung) nur die Molltonleiter rauf und runter geht, merkst du hoffentlich, wieviel der Takt und Rhythmus an der Wirkung ausmacht. Wenn du später mal meinst, deine Improvisationen hören sich langweilig an, dann solltest du dich mehr mit Rhythmus beschäftigen. Dazu kannst du dich auch ein wenig mit Schlagmustern beschäftigen.
:[[Datei:C-Major-Scale_on_the_fretboard_second_fingering.svg]]
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (Am-Form) in Am"
subtitle="Die Moldau (Hauptmotiv)"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c {
% \set TabStaff.minimumFret = #2
% \set TabStaff.restrainOpenStrings = ##t
\key a \minor
\once \override NoteHead #'color = #green
a4 b8
\once \override NoteHead #'color = #red
c4 d8 e4. e4. f4. f4. e2.
d4. d4. c4 d8 c4. b4. b4. a2.
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 6/8
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
a4 b8 c4 d8 e4. e4. f4. f4. e2.
d4. d4. c4 d8 c4. b4. b4. a2.
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
<br>
Warum die Form hier Gm-Form genannt wird, das wird dir in den nachfolgenden Lektionen klarer werden. Auf Fingersatzangaben können wir hier verzichten, wenn du vorher "Alle meine Entchen in Am" gespielt hast.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (Bb- /Gm-Form) in Am"
subtitle="Die Moldau (Hauptmotiv)"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c' {
\set TabStaff.minimumFret = #2
\set TabStaff.restrainOpenStrings = ##t
\key a \minor
\once \override NoteHead #'color = #green
a4 b8
\once \override NoteHead #'color = #red
c4 d8 e4. e4. f4. f4. e2.
d4. d4. c4 d8 c4. b4. b4. a2.
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 6/8
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
a4 b8 c4 d8 e4. e4. f4. f4. e2.
d4. d4. c4 d8 c4. b4. b4. a2.
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
<br>
Hier bietet sich besonders an, den Am-Barré zur Orientierung zu verwenden.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (Em-Form) in Am"
subtitle="Die Moldau (Hauptmotiv)"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c {
\set TabStaff.minimumFret = #5
\set TabStaff.restrainOpenStrings = ##t
\key a \minor
\once \override NoteHead #'color = #green
a4 b8
\once \override NoteHead #'color = #red
c4 d8 e4. e4. f4. f4. e2.
d4. d4. c4 d8 c4. b4. b4. a2.
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 6/8
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
a4 b8 c4 d8 e4. e4. f4. f4. e2.
d4. d4. c4 d8 c4. b4. b4. a2.
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
<br>
Auch hier gibt dir der kleine Finger des Am-Barrés den Grundton an. Du kannst dir die Dm-Form aber auch über die F-Form (C im 8. Bund) ableiten.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (F- /Dm-Form) in Am"
subtitle="Die Moldau (Hauptmotiv)"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c' {
\set TabStaff.minimumFret = #7
\set TabStaff.restrainOpenStrings = ##t
\key a \minor
\once \override NoteHead #'color = #green
a4 b8
\once \override NoteHead #'color = #red
c4 d8 e4. e4. f4. f4. e2.
d4. d4. c4 d8 c4. b4. b4. a2.
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 6/8
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
a4 b8 c4 d8 e4. e4. f4. f4. e2.
d4. d4. c4 d8 c4. b4. b4. a2.
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
<br>
Zähle vom C (H-Saite, 13. Bund) rückwärts zum A.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (D- /Bm7-Form) in Am"
subtitle="Die Moldau (Hauptmotiv)"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c'' {
\set TabStaff.minimumFret = #9
\set TabStaff.restrainOpenStrings = ##t
\key a \minor
\once \override NoteHead #'color = #green
a4 b8
\once \override NoteHead #'color = #red
c4 d8 e4. e4. f4. f4. e2.
d4. d4. c4 d8 c4. b4. b4. a2.
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 6/8
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
a4 b8 c4 d8 e4. e4. f4. f4. e2.
d4. d4. c4 d8 c4. b4. b4. a2.
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
<br>
Hier wird die erste Übung in den 12. Bund verschoben.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (C- /Am-Form) in Am"
subtitle="Die Moldau (Hauptmotiv)"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c' {
\set TabStaff.minimumFret = #12
\set TabStaff.restrainOpenStrings = ##t
\key a \minor
\once \override NoteHead #'color = #green
a4 b8
\once \override NoteHead #'color = #red
c4 d8 e4. e4. f4. f4. e2.
d4. d4. c4 d8 c4. b4. b4. a2.
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 6/8
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
a4 b8 c4 d8 e4. e4. f4. f4. e2.
d4. d4. c4 d8 c4. b4. b4. a2.
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
=== Sascha (vereinfacht) ===
[[Liederbuch/ Sascha|Sascha]] (auch bekannt unter "Sascha geizte mit den Worten" oder "Sascha liebt nicht große Worte") ist in beliebtes Kinder-, Jugend- und Pfadfinderlied.
==== Sascha (Am-Form) ====
<div style="float:left; padding:5px;margin:5px; border:black solid 1px; ">
<score raw="1">
\version "2.14.2"
\markup {
\override #'(size . 3.0) {
\override #'(fret-diagram-details . (
(orientation . landscape)
(finger-code . in-dot)
(dot-color . #'black)
(dot-radius . 0.4)
(dot-position . 0.5)
(top-fret-thickness . 6)
(fret-count . 3)
(number-type . roman-upper)
))
\fret-diagram-verbose #'(
(place-fret 4 0 "2" darkgreen )
(place-fret 4 2 "3" darkgrey )
(place-fret 4 3 "4" yellow3 )
(place-fret 5 0 "6" darkgreen )
(place-fret 5 2 "j7" yellow3 )
(place-fret 5 3 "1" black )
)
}}
\paper{
indent=0\mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
bookTitleMarkup = ##f
scoreTitleMarkup = ##f}
</score>
</div>
Das Lied startet mit dem Ton E. Man könntetheoretisch in der zweiten Lage spielen und mit dem Zeigefinger starten. Doch üblicher ist Zeigefinger erster Bund, Mittelfinger zweiter Bund, Ringfinger 3. Bund.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (C- /Am-Form) in Am"
subtitle="Sascha (vereinfacht)"
}
myKey = {
\time 4/4
\tempo 4 = 80
\set Score.tempoHideNote = ##t
\key c \major
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c {
% \set TabStaff.minimumFret = #2
% \set TabStaff.restrainOpenStrings = ##t
\myKey
\repeat volta 2 {
e8-2 e e c e e e c |
b d c b c a a a |
}
\repeat volta 2 {
f' f f r e e e r |
e d c b a a a r |
}
<a e' a c e>1^\markup { \bold {(Am)} }
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\myKey
\clef "treble_8"
\Diskant
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\myKey
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
==== Sascha (Gm-Form) ====
<div style="float:left; padding:5px;margin:5px; border:black solid 1px; ">
<score raw="1">
\version "2.14.2"
\markup {
\override #'(size . 3.0) {
\override #'(fret-diagram-details . (
(orientation . landscape)
(finger-code . in-dot)
(dot-color . #'black)
(dot-radius . 0.4)
(dot-position . 0.5)
(top-fret-thickness . 6)
(fret-count . 3)
(number-type . roman-upper)
))
\fret-diagram-verbose #'(
(place-fret 2 3 2 darkgreen )
(place-fret 2 5 3 darkgrey )
(place-fret 2 6 4 yellow3 )
(place-fret 3 2 6 darkgreen )
(place-fret 3 4 "j7" yellow3 )
(place-fret 3 5 1 black )
)
}}
\paper{
indent=0\mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
bookTitleMarkup = ##f
scoreTitleMarkup = ##f}
</score>
</div>
Das Lied "Sascha" wird hier auf der G- und H-Saite gespielt. Wir müssen uns Strategien zurechtlegen, welchen Fingersatz wir am besten für die Lagewechsel verwenden.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (Bb- /Gm7-Form) in Am"
subtitle="Sascha (vereinfacht)"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c' {
\set TabStaff.minimumFret = #2
\set TabStaff.restrainOpenStrings = ##t
\key c \major
\repeat volta 2 {
e8-4 e e c-3 e e e c |
b d-3 c-4 b c a a a |
}
\repeat volta 2 {
f'-4 f f r e e e r |
e d c-4 b a a a r |
}
\set TabStaff.minimumFret = #5
<c e a>1^\markup { \bold {(Am)} }
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 4/4
\tempo 4 = 80
\set Score.tempoHideNote = ##t
\Diskant
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 80
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
Auf den anderen Saitenlagen geht die Melodie einfacher von der Hand.
==== Sascha (Em-Form) ====
<div style="float:left; padding:5px;margin:5px; border:black solid 1px; ">
<score raw="1">
\version "2.14.2"
\markup {
\override #'(size . 3.0) {
\override #'(fret-diagram-details . (
(orientation . landscape)
(finger-code . in-dot)
(dot-color . #'black)
(dot-radius . 0.4)
(dot-position . 0.5)
(top-fret-thickness . 6)
(fret-count . 3)
(number-type . roman-upper)
))
\fret-diagram-verbose #'(
(place-fret 5 5 "2" darkgreen )
(place-fret 5 7 "3" darkgrey )
(place-fret 5 8 "4" yellow3 )
(place-fret 6 5 "6" darkgreen )
(place-fret 6 7 "j7" yellow3 )
(place-fret 6 8 "1" black )
)
}}
\paper{
indent=0\mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
bookTitleMarkup = ##f
scoreTitleMarkup = ##f}
</score>
</div>
Den Grundton A leiten wir wieder vom Am-Barré im 5. Bund ab.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (G- /Em-Form) in Am"
subtitle="Sascha (vereinfacht)"
}
myKey = {
\time 4/4
\tempo 4 = 80
\set Score.tempoHideNote = ##t
\key c \major
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c {
\set TabStaff.minimumFret = #5
\set TabStaff.restrainOpenStrings = ##t
\myKey
\repeat volta 2 {
e8-3 e e c e e e c |
b d c b c a a a |
}
\repeat volta 2 {
f' f f r e e e r |
e d c b a a a r |
}
<a e' a c e a>1^\markup { \bold {(Am)} }
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\myKey
\clef "treble_8"
\Diskant
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\myKey
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
==== Sascha (Dm-Form) ====
<div style="float:left; padding:5px;margin:5px; border:black solid 1px; ">
<score raw="1">
\version "2.14.2"
\markup {
\override #'(size . 3.0) {
\override #'(fret-diagram-details . (
(orientation . landscape)
(finger-code . in-dot)
(dot-color . #'black)
(dot-radius . 0.4)
(dot-position . 0.5)
(top-fret-thickness . 6)
(fret-count . 3)
(number-type . roman-upper)
))
\fret-diagram-verbose #'(
(place-fret 3 7 "2" darkgreen )
(place-fret 3 9 "3" darkgrey )
(place-fret 3 10 "4" yellow3 )
(place-fret 4 7 "6" darkgreen )
(place-fret 4 9 "j7" yellow3 )
(place-fret 4 10 "1" black )
)
}}
\paper{
indent=0\mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
bookTitleMarkup = ##f
scoreTitleMarkup = ##f}
</score>
</div>
Den Grundton A leiten wir wieder vom kleinen Finger des Am-Barré im 5. Bund ab.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (F- /Dm-Form) in Am"
subtitle="Sascha (vereinfacht)"
}
myKey = {
\time 4/4
\tempo 4 = 80
\set Score.tempoHideNote = ##t
\key c \major
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c' {
\set TabStaff.minimumFret = #7
\set TabStaff.restrainOpenStrings = ##t
\myKey
\repeat volta 2 {
e8-3 e e c e e e c |
b d c b c a a a |
}
\repeat volta 2 {
f' f f r e e e r |
e d c b a a a r |
}
<a' c e>1^\markup { \bold {(Am)} }
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\myKey
\clef "treble_8"
\Diskant
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\myKey
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
==== Sascha (Dm-Form) ====
<div style="float:left; padding:5px;margin:5px; border:black solid 1px; ">
<score raw="1">
\version "2.14.2"
\markup {
\override #'(size . 3.0) {
\override #'(fret-diagram-details . (
(orientation . landscape)
(finger-code . in-dot)
(dot-color . #'black)
(dot-radius . 0.4)
(dot-position . 0.5)
(top-fret-thickness . 6)
(fret-count . 3)
(number-type . roman-upper)
))
\fret-diagram-verbose #'(
(place-fret 1 10 "2" darkgreen )
(place-fret 1 12 "3" darkgrey )
(place-fret 1 13 "4" yellow3 )
(place-fret 2 10 "6" darkgreen )
(place-fret 2 12 "j7" yellow3 )
(place-fret 2 13 "1" black )
)
}}
\paper{
indent=0\mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
bookTitleMarkup = ##f
scoreTitleMarkup = ##f}
</score>
</div>
Wenn im 12. Bund der B-Saite der Ton B ist, dann ist 2 Bünde vorher das A. Das Lied beginnt mit E, also 12. Bund E-Saite
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (D- /Bm7-Form) in Am"
subtitle="Sascha (vereinfacht)"
}
myKey = {
\time 4/4
\tempo 4 = 80
\set Score.tempoHideNote = ##t
\key c \major
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c'' {
\set TabStaff.minimumFret = #10
\set TabStaff.restrainOpenStrings = ##t
\myKey
\repeat volta 2 {
e8-3 e e c e e e c |
b d c b c a a a |
}
\repeat volta 2 {
f' f f r e e e r |
e d c b a a a r |
}
<a, e' a c e>1^\markup { \bold {(Am)} }
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\myKey
\clef "treble_8"
\Diskant
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\myKey
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
==== Sascha (Am-Form) ====
<div style="float:left; padding:5px;margin:5px; border:black solid 1px; ">
<score raw="1">
\version "2.14.2"
\markup {
\override #'(size . 3.0) {
\override #'(fret-diagram-details . (
(orientation . landscape)
(finger-code . in-dot)
(dot-color . #'black)
(dot-radius . 0.4)
(dot-position . 0.5)
(top-fret-thickness . 6)
(fret-count . 4)
(number-type . roman-upper)
))
\fret-diagram-verbose #'(
(place-fret 4 12 "2" darkgreen )
(place-fret 4 14 "3" darkgrey )
(place-fret 4 15 "4" yellow3 )
(place-fret 5 12 "6" darkgreen )
(place-fret 5 14 "j7" yellow3 )
(place-fret 5 15 "1" black )
)
}}
\paper{
indent=0\mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
bookTitleMarkup = ##f
scoreTitleMarkup = ##f}
</score>
</div>
Die erste Übung wird in den 12. Bund verschoben. Grundton A = A-Saite 12. Bund. Von da aus zählst du bis zum E.
;A B C D E
Klassik-Gitarristen rücken ggf. ein paar Bünde zurück.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (C- /Am-Form) in Am"
subtitle="Sascha (vereinfacht)"
}
myKey = {
\time 4/4
\tempo 4 = 80
\set Score.tempoHideNote = ##t
\key c \major
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c' {
\set TabStaff.minimumFret = #12
\set TabStaff.restrainOpenStrings = ##t
\myKey
\repeat volta 2 {
e8-3 e e c e e e c |
b d c b c a a a |
}
\repeat volta 2 {
f' f f r e e e r |
e d c b a a a r |
}
<a e' a >1^\markup { \bold {(A5)} }
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\myKey
\clef "treble_8"
\Diskant
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\myKey
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
==== Baustelle ====
=== Asturias (Ausschnitt) ===
Das ganze Stück Asturias ist ein Meisterstück. Doch es mag dich vielleicht freuen, dass es gar nicht mehr lange dauert, bis du zumindest die ersten Takte als kleines Vorzeigestück spielen kannst. Dies hier ist schon einmal eine Vorübung.
Es gibt auch eine einfache Version für Anfänger im Notenlesen.
• [[Gitarre: Notenlesen - Asturias-einfach|Asturias - vereinfacht]] (incl. Tabs)
==== Asturias - Am-Form (offen) ====
<div style="float:left; padding:5px;margin:5px; border:black solid 1px; ">
<score raw="1">
\version "2.14.2"
\markup {
\override #'(size . 3.0) {
\override #'(fret-diagram-details . (
(orientation . landscape)
(finger-code . in-dot)
(dot-color . #'black)
(dot-radius . 0.4)
(dot-position . 0.5)
(top-fret-thickness . 6)
(fret-count . 3)
(number-type . roman-upper)
))
\fret-diagram-verbose #'(
(place-fret 4 0 "D" darkgreen )
(place-fret 4 2 "E" darkgrey )
(place-fret 4 3 "F" yellow3 )
(place-fret 5 0 "A" darkgreen )
(place-fret 5 2 "B" yellow3 )
(place-fret 5 3 "C" black )
)
}}
\paper{
indent=0\mm
line-width=100\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
bookTitleMarkup = ##f
scoreTitleMarkup = ##f}
</score>
</div>
Vergiss nicht, neben dem Fingersatz auch die Notennamen zu üben.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz ( Am-Form - offen) in Am"
subtitle="Asturias (Ausschnitt)"
}
%% Diskant- bzw. Melodiesaiten
Diskant = {
% \set TabStaff.minimumFret = #5
% \set TabStaff.restrainOpenStrings = ##t
\key a \minor
\repeat volta 2 \relative c{
a8 e'-2 f d e c | a8 e' f d e c
a8 e' f d e c | d b c d b c |
^\markup {2x} | }
\set TabStaff.minimumFret = #0
<a, e' a c' e >2.^\markup { \bold {(Am)} }
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 6/8
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=140\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
==== Asturias - Gm-Form ====
<div style="float:left; padding:5px;margin:5px; border:black solid 1px; ">
<score raw="1">
\version "2.14.2"
\markup {
\override #'(size . 3.0) {
\override #'(fret-diagram-details . (
(orientation . landscape)
(finger-code . in-dot)
(dot-color . #'black)
(dot-radius . 0.4)
(dot-position . 0.5)
(top-fret-thickness . 6)
(fret-count . 3)
(number-type . roman-upper)
))
\fret-diagram-verbose #'(
(place-fret 2 3 "D" darkgreen )
(place-fret 2 5 "E" darkgrey )
(place-fret 2 6 "F" yellow3 )
(place-fret 3 2 "A" darkgreen )
(place-fret 3 4 "B" yellow3 )
(place-fret 3 5 "C" black )
)
}}
\paper{
indent=0\mm
line-width=100\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
bookTitleMarkup = ##f
scoreTitleMarkup = ##f}
</score>
</div>
Vergiss nicht, neben dem Fingersatz auch die Notennamen zu üben.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz ( Gm-Form) in Am"
subtitle="Asturias (Ausschnitt)"
}
%% Diskant- bzw. Melodiesaiten
Diskant = {
\set TabStaff.minimumFret = #2
\set TabStaff.restrainOpenStrings = ##t
\key a \minor
\repeat volta 2 \relative c'{
a8 e'-3 f d e c | a8 e' f d e c
a8 e' f d e c | d b c d b c |
^\markup {2x} | }
\set TabStaff.minimumFret = #0
< c' e' a'>2.^\markup { \bold {(Am)} }
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 6/8
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=140\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
==== Asturias - Em-Form ====
<div style="float:left; padding:5px;margin:5px; border:black solid 1px; ">
<score raw="1">
\version "2.14.2"
\markup {
\override #'(size . 3.0) {
\override #'(fret-diagram-details . (
(orientation . landscape)
(finger-code . in-dot)
(dot-color . #'black)
(dot-radius . 0.4)
(dot-position . 0.5)
(top-fret-thickness . 6)
(fret-count . 3)
(number-type . roman-upper)
))
\fret-diagram-verbose #'(
(place-fret 5 5 "D" darkgreen )
(place-fret 5 7 "E" darkgrey )
(place-fret 5 8 "F" yellow3 )
(place-fret 6 5 "A" darkgreen )
(place-fret 6 7 "B" yellow3 )
(place-fret 6 8 "C" black )
)
}}
\paper{
indent=0\mm
line-width=100\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
bookTitleMarkup = ##f
scoreTitleMarkup = ##f}
</score>
</div>
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz ( Em-Form) in Am"
subtitle="Asturias (Ausschnitt)"
}
%% Diskant- bzw. Melodiesaiten
Diskant = {
\set TabStaff.minimumFret = #5
\set TabStaff.restrainOpenStrings = ##t
\key a \minor
\repeat volta 2 \relative c{
a8 e'-3 f d e c | a8 e' f d e c
a8 e' f d e c | d b c d b c |
^\markup {2x} | }
\set TabStaff.minimumFret = #0
< a, e a c' e' a'>2.^\markup { \bold {(Am)} }
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 6/8
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=140\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
==== Asturias - Em-Form ====
<div style="float:left; padding:5px;margin:5px; border:black solid 1px; ">
<score raw="1">
\version "2.14.2"
\markup {
\override #'(size . 3.0) {
\override #'(fret-diagram-details . (
(orientation . landscape)
(finger-code . in-dot)
(dot-color . #'black)
(dot-radius . 0.4)
(dot-position . 0.5)
(top-fret-thickness . 6)
(fret-count . 3)
(number-type . roman-upper)
))
\fret-diagram-verbose #'(
(place-fret 3 7 "D" darkgreen )
(place-fret 3 9 "E" darkgrey )
(place-fret 3 10 "F" yellow3 )
(place-fret 4 7 "A" darkgreen )
(place-fret 4 9 "B" yellow3 )
(place-fret 4 10 "C" black )
)
}}
\paper{
indent=0\mm
line-width=100\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
bookTitleMarkup = ##f
scoreTitleMarkup = ##f}
</score>
</div>
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz ( Dm-Form) in Am"
subtitle="Asturias (Ausschnitt)"
}
%% Diskant- bzw. Melodiesaiten
Diskant = {
\set TabStaff.minimumFret = #7
\set TabStaff.restrainOpenStrings = ##t
\key a \minor
\repeat volta 2 \relative c' {
a8 e'-3 f d e c | a8 e' f d e c
a8 e' f d e c | d b c d b c |
^\markup {2x} | }
\set TabStaff.minimumFret = #0
< a, e a c' e' a'>2.^\markup { \bold {(Am)} }
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 6/8
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=140\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
=== Baustelle===
4adf2on2gyf216klucfr28nui6vj6n2
1091130
1091129
2026-09-20T11:55:08Z
Mjchael
2222
/* Asturias - Em-Form */
1091130
wikitext
text/x-wiki
[[Gitarre: CAGED-Stammtöne - Erster Fingersatz]]
Verkleinern einer übergroßen Seite
== Zweiter Fingersatz ==
:[[Datei:Scala 6_71-2_34.svg]]
Zuerst suchen wir uns in der C-Dur-Tonleiter überall den zweiten Fingersatz heraus.
:[[Datei:C-Major-Scale_on_the_fretboard_second_fingering.svg]]
Zur leichteren Orientierung wird die Grafik bei jeder neuen Melodie wiederholt.
=== Rondeau (Auszug) ===
Die eintaktige Sequenzen wurde aus einem Rondeau von J.S. Bach entnommen. Der Grundton C, welcher im letzten Takt rot eingefärbt wurde, wird mit dem kleinen Finger gegriffen.
Am Anfang des Griffbrettes brauchen wir den zweiten Fingersatz nicht vollständig.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (C-Form) in C-Dur"
subtitle="Rondeau (Auszug)"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c {
% \set TabStaff.minimumFret = #5
% \set TabStaff.restrainOpenStrings = ##t
\key c \major
\repeat volta 2 {
e8 d e f e d c e
d c d e d c b d
c b c d c b a c
b a b c d b c d
}
\once \override NoteHead #'color = #red c1^\markup { \bold {(C)} }
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 4/4
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
e8 d e f e d c e
d c d e d c b d
c b c d c b a c
b a b c d b c d
c
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
<br>
In der A-(Bb-)Form müssen wir den Lagewechsel zwischen der G- und H-Saite beachten. Übrigens werden hier die Töne in der englischen Form angegeben. (Bb-Form und der Ton B statt des deutschen H.)
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (A-, Bb-Form) in C-Dur"
subtitle="Rondeau (Auszug)"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c' {
\set TabStaff.minimumFret = #2
\set TabStaff.restrainOpenStrings = ##t
\key c \major
\repeat volta 2 {
e8-3 d e f e d c e-4
d-2 c d e d c b d
c b c d c b a c
b a b c d-1 b c d
}
\once \override NoteHead #'color = #red c1^\markup { \bold {(C)} }
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 4/4
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
e8 d e f e d c e
d c d e d c b d
c b c d c b a c
b a b c d b c d
c
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
<br>
Leite dir den Grundton C vom Barré im 8. Bund ab, oder suche das A im 5. Bund (hier grün hervorgehoben).
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (G-Form) in C-Dur"
subtitle="Rondeau (Auszug)"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c {
\set TabStaff.minimumFret = #5
\set TabStaff.restrainOpenStrings = ##t
\key c \major
\repeat volta 2 {
e8-2 d e f e d c e
d c d e d c b d
c b c d c b \once \override NoteHead #'color = #green a c
b a b c d b c d
}
\once \override NoteHead #'color = #red c1^\markup { \bold {(C)} }
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 4/4
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
e8 d e f e d c e
d c d e d c b d
c b c d c b a c
b a b c d b c d
c
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
<br>
Der kleine Finger des C-Barré im 8. Bund in der E- bzw. F-Form gibt gleichzeitig das C des zweiten Fingersatz an.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (E- F-Form) in C-Dur"
subtitle="Rondeau (Auszug)"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c' {
\set TabStaff.minimumFret = #7
\set TabStaff.restrainOpenStrings = ##t
\key c \major
\repeat volta 2 {
e8-2 d e f e d c e
d c d e d c b d
c b c d c b a c
b a b c d b c d
}
\once \override NoteHead #'color = #red c1^\markup { \bold {(C)} }
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 4/4
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
e8-2 d e f e d c e
d c d e d c b d
c b c d c b a c
b a b c d b c d
c
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
<br>
Für den Grundton C müssen wir uns die D-Form gar nicht so genau ins Gedächtnis rufen, wenn uns die C-Form viel vertrauter ist.
Diese hohe Lage ist für E-Gitarristen oder Gitarren mit Cutaway gedacht. Auf der Konzertgitarre ist die sehr hohe Lage schlecht zu spielen. Gehe ggf. einen Kompromiss ein, und spiele diese hohe Saitenlage ein paar Bünde tiefer als Übung nur für den Fingersatz aber nicht für die Notennamen.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (D-Form) in C-Dur"
subtitle="Rondeau (Auszug)"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c'' {
\set TabStaff.minimumFret = #9
\set TabStaff.restrainOpenStrings = ##t
\key c \major
\repeat volta 2 {
e8-2 d e f e d c e
d c d e d c b d
c b c d c b a c
b a b c d b c d
}
\once \override NoteHead #'color = #red c1^\markup { \bold {(C)} }
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 4/4
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
e8 d e f e d c e
d c d e d c b d
c b c d c b a c
b a b c d b c d
c
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
<br>
Noten über dem hohen C (der mit zwei Hilfslinien) wird dir seltener begegnen, da in dem Fall bevorzugt die Noten nach unten oktaviert werden. (Beachte die 8 im Notensystem.) Bei den weiteren Übungen werden jedoch die Versionen mit den vielen Hilfslinien angezeigt.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (D-Form) in C-Dur"
subtitle="Rondeau (Auszug)"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c'' {
\set TabStaff.minimumFret = #9
\set TabStaff.restrainOpenStrings = ##t
\key c \major
\repeat volta 2 {
\ottava #1 e8-2 d e f e d c e
d c d e d c b d
c b c d c b a c
b a b c d b c d
}
\once \override NoteHead #'color = #red c1^\markup { \bold {(C)} }
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 4/4
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
e8 d e f e d c e
d c d e d c b d
c b c d c b a c
b a b c d b c d
c
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
<br>
Mit der C-Form in den ersten drei Bünden im Hinterkopf ist der 12. Bund leicht zu bewältigen. Wieder eine Übung, die weniger für Konzertgitarren geeignet ist.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (C-Form) in C-Dur"
subtitle="Rondeau (Auszug)"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c' {
\set TabStaff.minimumFret = #12
\set TabStaff.restrainOpenStrings = ##t
\key c \major
\repeat volta 2 {
e8-2 d e f e d c e
d c d e d c b d
c b c d c b a c
b a b c d b c d
}
\once \override NoteHead #'color = #red c1^\markup { \bold {(C)} }
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 4/4
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
e8 d e f e d c e
d c d e d c b d
c b c d c b a c
b a b c d b c d
c
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
<br>
=== "Das häßliche Entlein" oder "Alle meine Entchen"<ref>Anspielung auf ein Märchen der Gebrüder Grimm nebst einem bekannten deutschen Kinderlied.</ref> in A-Moll ===
Die vorherige Übung war in Dur, und hier verwenden wir ein und den selben Fingersatz in Moll. Wie du siehst und hörst, lässt sich ein Fingersatz oder ein Pattern nicht eindeutig einer einzigen Tonart zuordnen. Der Schlusston oder der Schlussakkord (hier der Ton A bzw. der Akkord Am) bestimmt die Tonart. Der Grundton A ist hier die Sexte (6) des zugrunde liegenden C-Major-Pattern. Es bleibt dir überlassen, ob du zur Orientierung lieber den Grundton A (grün) bestimmst, oder das C aus dem Karré (rot).
Wenn in einer Tabulatur über einer Ziffer zwei Notenhälse stehen, so ist das ein Zeichen für eine halbe Note, die zwei Schläge dauert. Da dieses für viele Gitarristen sehr ungewöhnlich aussieht, verzichtet man oft auf Taktstriche in der Tabulatur. In dem Fall lässt sich die Tondauer allein an den Notenwerten ablesen.
:[[Datei:C-Major-Scale_on_the_fretboard_second_fingering.svg]]
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (C-/Am-Form) in Am"
subtitle="Das häßliche Entlein"
subsubtitle="oder: Alle meine Entchen in Moll"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c {
% \set TabStaff.minimumFret = #5
% \set TabStaff.restrainOpenStrings = ##t
\key a \minor
\once \override NoteHead #'color = #green
a4 b
\once \override NoteHead #'color = #red
c d e2 e f4 f f f e1
f4 f f f e1 d4 d d d c2 c
b4 b b b a1
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 4/4
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
a4 b c d e2 e f4 f f f e1
f4 f f f e1 d4 d d d c2 c
b4 b b b a1
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
<br>
Der Lagewechsel zwischen der G- und H-Saite ist hier leicht zu bewältigen.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (Gm-/Bb-Form) in Am"
subtitle="Das häßliche Entlein"
subsubtitle="oder: Alle meine Entchen in Moll"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c' {
\set TabStaff.minimumFret = #2
\set TabStaff.restrainOpenStrings = ##t
\key a \minor
\once \override NoteHead #'color = #green
a4-1 b
\once \override NoteHead #'color = #red
c d-1 e2 e f4 f f f e1
f4 f f f e1 d4 d d d c2-4 c
b4 b b b a1
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 4/4
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
a4 b c d e2 e f4 f f f e1
f4 f f f e1 d4 d d d c2 c
b4 b b b a1
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
<br>
Auch hier ist es wieder einfacher das A (grün) zu suchen.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (Em-/G-Form) in Am"
subtitle="Das häßliche Entlein"
subsubtitle="oder: Alle meine Entchen in Moll"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c {
\set TabStaff.minimumFret = #5
\set TabStaff.restrainOpenStrings = ##t
\key a \minor
\once \override NoteHead #'color = #green
a4-1 b
\once \override NoteHead #'color = #red
c d e2 e f4 f f f e1
f4 f f f e1 d4 d d d c2 c
b4 b b b a1
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 4/4
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
a4 b c d e2 e f4 f f f e1
f4 f f f e1 d4 d d d c2 c
b4 b b b a1
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
<br>
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (E- / F-Form) in Am"
subtitle="Das häßliche Entlein"
subsubtitle="oder: Alle meine Entchen in Moll"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c' {
\set TabStaff.minimumFret = #7
\set TabStaff.restrainOpenStrings = ##t
\key a \minor
\once \override NoteHead #'color = #green
a4-1 b
\once \override NoteHead #'color = #red
c d e2 e f4 f f f e1
f4 f f f e1 d4 d d d c2 c
b4 b b b a1
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 4/4
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
a4 b c d e2 e f4 f f f e1
f4 f f f e1 d4 d d d c2 c
b4 b b b a1
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
<br>
Statt lange nach dem Grundton der D-Form zu suchen, erinneren wir uns kurz, wo der Grundton C auf der H- (B-)Saite sein muß (13. Bund).
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (D-Form) in Am"
subtitle="Das häßliche Entlein"
subsubtitle="oder: Alle meine Entchen in Moll"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c'' {
\set TabStaff.minimumFret = #9
\set TabStaff.restrainOpenStrings = ##t
\key a \minor
\once \override NoteHead #'color = #green
a4-1 b
\once \override NoteHead #'color = #red
c d e2 e f4 f f f e1
f4 f f f e1 d4 d d d c2 c
b4 b b b a1
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 4/4
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
a4 b c d e2 e f4 f f f e1
f4 f f f e1 d4 d d d c2 c
b4 b b b a1
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
<br>
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (C-Form) in Am"
subtitle="Das häßliche Entlein"
subsubtitle="oder: Alle meine Entchen in Moll"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c' {
\set TabStaff.minimumFret = #12
\set TabStaff.restrainOpenStrings = ##t
\key a \minor
\once \override NoteHead #'color = #green
a4-1 b
\once \override NoteHead #'color = #red
c d e2 e f4 f f f e1
f4 f f f e1 d4 d d d c2 c
b4 b b b a1
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 4/4
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
a4 b c d e2 e f4 f f f e1
f4 f f f e1 d4 d d d c2 c
b4 b b b a1
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
=== Die Moldau (Hauptmotiv) ===
Die Abfolge der Töne der folgenden Übung unterscheidet sich kaum von der vorhergehenden. Doch mit dem anderen Rhythmus haben wir das Hauptmotiv von der Komposition {{Youtube-Suche|Smetana+Die+Moldau|"Die Moldau" von Bedrich Smetana}} (ohne Auftakt und rhythmisch vereinfacht).
Auch wenn es hier (wie in der 7. Übung) nur die Molltonleiter rauf und runter geht, merkst du hoffentlich, wieviel der Takt und Rhythmus an der Wirkung ausmacht. Wenn du später mal meinst, deine Improvisationen hören sich langweilig an, dann solltest du dich mehr mit Rhythmus beschäftigen. Dazu kannst du dich auch ein wenig mit Schlagmustern beschäftigen.
:[[Datei:C-Major-Scale_on_the_fretboard_second_fingering.svg]]
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (Am-Form) in Am"
subtitle="Die Moldau (Hauptmotiv)"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c {
% \set TabStaff.minimumFret = #2
% \set TabStaff.restrainOpenStrings = ##t
\key a \minor
\once \override NoteHead #'color = #green
a4 b8
\once \override NoteHead #'color = #red
c4 d8 e4. e4. f4. f4. e2.
d4. d4. c4 d8 c4. b4. b4. a2.
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 6/8
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
a4 b8 c4 d8 e4. e4. f4. f4. e2.
d4. d4. c4 d8 c4. b4. b4. a2.
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
<br>
Warum die Form hier Gm-Form genannt wird, das wird dir in den nachfolgenden Lektionen klarer werden. Auf Fingersatzangaben können wir hier verzichten, wenn du vorher "Alle meine Entchen in Am" gespielt hast.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (Bb- /Gm-Form) in Am"
subtitle="Die Moldau (Hauptmotiv)"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c' {
\set TabStaff.minimumFret = #2
\set TabStaff.restrainOpenStrings = ##t
\key a \minor
\once \override NoteHead #'color = #green
a4 b8
\once \override NoteHead #'color = #red
c4 d8 e4. e4. f4. f4. e2.
d4. d4. c4 d8 c4. b4. b4. a2.
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 6/8
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
a4 b8 c4 d8 e4. e4. f4. f4. e2.
d4. d4. c4 d8 c4. b4. b4. a2.
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
<br>
Hier bietet sich besonders an, den Am-Barré zur Orientierung zu verwenden.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (Em-Form) in Am"
subtitle="Die Moldau (Hauptmotiv)"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c {
\set TabStaff.minimumFret = #5
\set TabStaff.restrainOpenStrings = ##t
\key a \minor
\once \override NoteHead #'color = #green
a4 b8
\once \override NoteHead #'color = #red
c4 d8 e4. e4. f4. f4. e2.
d4. d4. c4 d8 c4. b4. b4. a2.
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 6/8
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
a4 b8 c4 d8 e4. e4. f4. f4. e2.
d4. d4. c4 d8 c4. b4. b4. a2.
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
<br>
Auch hier gibt dir der kleine Finger des Am-Barrés den Grundton an. Du kannst dir die Dm-Form aber auch über die F-Form (C im 8. Bund) ableiten.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (F- /Dm-Form) in Am"
subtitle="Die Moldau (Hauptmotiv)"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c' {
\set TabStaff.minimumFret = #7
\set TabStaff.restrainOpenStrings = ##t
\key a \minor
\once \override NoteHead #'color = #green
a4 b8
\once \override NoteHead #'color = #red
c4 d8 e4. e4. f4. f4. e2.
d4. d4. c4 d8 c4. b4. b4. a2.
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 6/8
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
a4 b8 c4 d8 e4. e4. f4. f4. e2.
d4. d4. c4 d8 c4. b4. b4. a2.
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
<br>
Zähle vom C (H-Saite, 13. Bund) rückwärts zum A.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (D- /Bm7-Form) in Am"
subtitle="Die Moldau (Hauptmotiv)"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c'' {
\set TabStaff.minimumFret = #9
\set TabStaff.restrainOpenStrings = ##t
\key a \minor
\once \override NoteHead #'color = #green
a4 b8
\once \override NoteHead #'color = #red
c4 d8 e4. e4. f4. f4. e2.
d4. d4. c4 d8 c4. b4. b4. a2.
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 6/8
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
a4 b8 c4 d8 e4. e4. f4. f4. e2.
d4. d4. c4 d8 c4. b4. b4. a2.
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
<br>
Hier wird die erste Übung in den 12. Bund verschoben.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (C- /Am-Form) in Am"
subtitle="Die Moldau (Hauptmotiv)"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c' {
\set TabStaff.minimumFret = #12
\set TabStaff.restrainOpenStrings = ##t
\key a \minor
\once \override NoteHead #'color = #green
a4 b8
\once \override NoteHead #'color = #red
c4 d8 e4. e4. f4. f4. e2.
d4. d4. c4 d8 c4. b4. b4. a2.
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 6/8
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant \addlyrics {
a4 b8 c4 d8 e4. e4. f4. f4. e2.
d4. d4. c4 d8 c4. b4. b4. a2.
}
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
=== Sascha (vereinfacht) ===
[[Liederbuch/ Sascha|Sascha]] (auch bekannt unter "Sascha geizte mit den Worten" oder "Sascha liebt nicht große Worte") ist in beliebtes Kinder-, Jugend- und Pfadfinderlied.
==== Sascha (Am-Form) ====
<div style="float:left; padding:5px;margin:5px; border:black solid 1px; ">
<score raw="1">
\version "2.14.2"
\markup {
\override #'(size . 3.0) {
\override #'(fret-diagram-details . (
(orientation . landscape)
(finger-code . in-dot)
(dot-color . #'black)
(dot-radius . 0.4)
(dot-position . 0.5)
(top-fret-thickness . 6)
(fret-count . 3)
(number-type . roman-upper)
))
\fret-diagram-verbose #'(
(place-fret 4 0 "2" darkgreen )
(place-fret 4 2 "3" darkgrey )
(place-fret 4 3 "4" yellow3 )
(place-fret 5 0 "6" darkgreen )
(place-fret 5 2 "j7" yellow3 )
(place-fret 5 3 "1" black )
)
}}
\paper{
indent=0\mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
bookTitleMarkup = ##f
scoreTitleMarkup = ##f}
</score>
</div>
Das Lied startet mit dem Ton E. Man könntetheoretisch in der zweiten Lage spielen und mit dem Zeigefinger starten. Doch üblicher ist Zeigefinger erster Bund, Mittelfinger zweiter Bund, Ringfinger 3. Bund.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (C- /Am-Form) in Am"
subtitle="Sascha (vereinfacht)"
}
myKey = {
\time 4/4
\tempo 4 = 80
\set Score.tempoHideNote = ##t
\key c \major
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c {
% \set TabStaff.minimumFret = #2
% \set TabStaff.restrainOpenStrings = ##t
\myKey
\repeat volta 2 {
e8-2 e e c e e e c |
b d c b c a a a |
}
\repeat volta 2 {
f' f f r e e e r |
e d c b a a a r |
}
<a e' a c e>1^\markup { \bold {(Am)} }
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\myKey
\clef "treble_8"
\Diskant
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\myKey
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
==== Sascha (Gm-Form) ====
<div style="float:left; padding:5px;margin:5px; border:black solid 1px; ">
<score raw="1">
\version "2.14.2"
\markup {
\override #'(size . 3.0) {
\override #'(fret-diagram-details . (
(orientation . landscape)
(finger-code . in-dot)
(dot-color . #'black)
(dot-radius . 0.4)
(dot-position . 0.5)
(top-fret-thickness . 6)
(fret-count . 3)
(number-type . roman-upper)
))
\fret-diagram-verbose #'(
(place-fret 2 3 2 darkgreen )
(place-fret 2 5 3 darkgrey )
(place-fret 2 6 4 yellow3 )
(place-fret 3 2 6 darkgreen )
(place-fret 3 4 "j7" yellow3 )
(place-fret 3 5 1 black )
)
}}
\paper{
indent=0\mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
bookTitleMarkup = ##f
scoreTitleMarkup = ##f}
</score>
</div>
Das Lied "Sascha" wird hier auf der G- und H-Saite gespielt. Wir müssen uns Strategien zurechtlegen, welchen Fingersatz wir am besten für die Lagewechsel verwenden.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (Bb- /Gm7-Form) in Am"
subtitle="Sascha (vereinfacht)"
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c' {
\set TabStaff.minimumFret = #2
\set TabStaff.restrainOpenStrings = ##t
\key c \major
\repeat volta 2 {
e8-4 e e c-3 e e e c |
b d-3 c-4 b c a a a |
}
\repeat volta 2 {
f'-4 f f r e e e r |
e d c-4 b a a a r |
}
\set TabStaff.minimumFret = #5
<c e a>1^\markup { \bold {(Am)} }
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 4/4
\tempo 4 = 80
\set Score.tempoHideNote = ##t
\Diskant
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 80
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
Auf den anderen Saitenlagen geht die Melodie einfacher von der Hand.
==== Sascha (Em-Form) ====
<div style="float:left; padding:5px;margin:5px; border:black solid 1px; ">
<score raw="1">
\version "2.14.2"
\markup {
\override #'(size . 3.0) {
\override #'(fret-diagram-details . (
(orientation . landscape)
(finger-code . in-dot)
(dot-color . #'black)
(dot-radius . 0.4)
(dot-position . 0.5)
(top-fret-thickness . 6)
(fret-count . 3)
(number-type . roman-upper)
))
\fret-diagram-verbose #'(
(place-fret 5 5 "2" darkgreen )
(place-fret 5 7 "3" darkgrey )
(place-fret 5 8 "4" yellow3 )
(place-fret 6 5 "6" darkgreen )
(place-fret 6 7 "j7" yellow3 )
(place-fret 6 8 "1" black )
)
}}
\paper{
indent=0\mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
bookTitleMarkup = ##f
scoreTitleMarkup = ##f}
</score>
</div>
Den Grundton A leiten wir wieder vom Am-Barré im 5. Bund ab.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (G- /Em-Form) in Am"
subtitle="Sascha (vereinfacht)"
}
myKey = {
\time 4/4
\tempo 4 = 80
\set Score.tempoHideNote = ##t
\key c \major
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c {
\set TabStaff.minimumFret = #5
\set TabStaff.restrainOpenStrings = ##t
\myKey
\repeat volta 2 {
e8-3 e e c e e e c |
b d c b c a a a |
}
\repeat volta 2 {
f' f f r e e e r |
e d c b a a a r |
}
<a e' a c e a>1^\markup { \bold {(Am)} }
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\myKey
\clef "treble_8"
\Diskant
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\myKey
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
==== Sascha (Dm-Form) ====
<div style="float:left; padding:5px;margin:5px; border:black solid 1px; ">
<score raw="1">
\version "2.14.2"
\markup {
\override #'(size . 3.0) {
\override #'(fret-diagram-details . (
(orientation . landscape)
(finger-code . in-dot)
(dot-color . #'black)
(dot-radius . 0.4)
(dot-position . 0.5)
(top-fret-thickness . 6)
(fret-count . 3)
(number-type . roman-upper)
))
\fret-diagram-verbose #'(
(place-fret 3 7 "2" darkgreen )
(place-fret 3 9 "3" darkgrey )
(place-fret 3 10 "4" yellow3 )
(place-fret 4 7 "6" darkgreen )
(place-fret 4 9 "j7" yellow3 )
(place-fret 4 10 "1" black )
)
}}
\paper{
indent=0\mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
bookTitleMarkup = ##f
scoreTitleMarkup = ##f}
</score>
</div>
Den Grundton A leiten wir wieder vom kleinen Finger des Am-Barré im 5. Bund ab.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (F- /Dm-Form) in Am"
subtitle="Sascha (vereinfacht)"
}
myKey = {
\time 4/4
\tempo 4 = 80
\set Score.tempoHideNote = ##t
\key c \major
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c' {
\set TabStaff.minimumFret = #7
\set TabStaff.restrainOpenStrings = ##t
\myKey
\repeat volta 2 {
e8-3 e e c e e e c |
b d c b c a a a |
}
\repeat volta 2 {
f' f f r e e e r |
e d c b a a a r |
}
<a' c e>1^\markup { \bold {(Am)} }
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\myKey
\clef "treble_8"
\Diskant
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\myKey
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
==== Sascha (Dm-Form) ====
<div style="float:left; padding:5px;margin:5px; border:black solid 1px; ">
<score raw="1">
\version "2.14.2"
\markup {
\override #'(size . 3.0) {
\override #'(fret-diagram-details . (
(orientation . landscape)
(finger-code . in-dot)
(dot-color . #'black)
(dot-radius . 0.4)
(dot-position . 0.5)
(top-fret-thickness . 6)
(fret-count . 3)
(number-type . roman-upper)
))
\fret-diagram-verbose #'(
(place-fret 1 10 "2" darkgreen )
(place-fret 1 12 "3" darkgrey )
(place-fret 1 13 "4" yellow3 )
(place-fret 2 10 "6" darkgreen )
(place-fret 2 12 "j7" yellow3 )
(place-fret 2 13 "1" black )
)
}}
\paper{
indent=0\mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
bookTitleMarkup = ##f
scoreTitleMarkup = ##f}
</score>
</div>
Wenn im 12. Bund der B-Saite der Ton B ist, dann ist 2 Bünde vorher das A. Das Lied beginnt mit E, also 12. Bund E-Saite
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (D- /Bm7-Form) in Am"
subtitle="Sascha (vereinfacht)"
}
myKey = {
\time 4/4
\tempo 4 = 80
\set Score.tempoHideNote = ##t
\key c \major
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c'' {
\set TabStaff.minimumFret = #10
\set TabStaff.restrainOpenStrings = ##t
\myKey
\repeat volta 2 {
e8-3 e e c e e e c |
b d c b c a a a |
}
\repeat volta 2 {
f' f f r e e e r |
e d c b a a a r |
}
<a, e' a c e>1^\markup { \bold {(Am)} }
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\myKey
\clef "treble_8"
\Diskant
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\myKey
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
==== Sascha (Am-Form) ====
<div style="float:left; padding:5px;margin:5px; border:black solid 1px; ">
<score raw="1">
\version "2.14.2"
\markup {
\override #'(size . 3.0) {
\override #'(fret-diagram-details . (
(orientation . landscape)
(finger-code . in-dot)
(dot-color . #'black)
(dot-radius . 0.4)
(dot-position . 0.5)
(top-fret-thickness . 6)
(fret-count . 4)
(number-type . roman-upper)
))
\fret-diagram-verbose #'(
(place-fret 4 12 "2" darkgreen )
(place-fret 4 14 "3" darkgrey )
(place-fret 4 15 "4" yellow3 )
(place-fret 5 12 "6" darkgreen )
(place-fret 5 14 "j7" yellow3 )
(place-fret 5 15 "1" black )
)
}}
\paper{
indent=0\mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
bookTitleMarkup = ##f
scoreTitleMarkup = ##f}
</score>
</div>
Die erste Übung wird in den 12. Bund verschoben. Grundton A = A-Saite 12. Bund. Von da aus zählst du bis zum E.
;A B C D E
Klassik-Gitarristen rücken ggf. ein paar Bünde zurück.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz (C- /Am-Form) in Am"
subtitle="Sascha (vereinfacht)"
}
myKey = {
\time 4/4
\tempo 4 = 80
\set Score.tempoHideNote = ##t
\key c \major
}
%% Diskant- bzw. Melodiesaiten
Diskant = \relative c' {
\set TabStaff.minimumFret = #12
\set TabStaff.restrainOpenStrings = ##t
\myKey
\repeat volta 2 {
e8-3 e e c e e e c |
b d c b c a a a |
}
\repeat volta 2 {
f' f f r e e e r |
e d c b a a a r |
}
<a e' a >1^\markup { \bold {(A5)} }
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\myKey
\clef "treble_8"
\Diskant
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\myKey
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=180\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
==== Baustelle ====
=== Asturias (Ausschnitt) ===
Das ganze Stück Asturias ist ein Meisterstück. Doch es mag dich vielleicht freuen, dass es gar nicht mehr lange dauert, bis du zumindest die ersten Takte als kleines Vorzeigestück spielen kannst. Dies hier ist schon einmal eine Vorübung.
Es gibt auch eine einfache Version für Anfänger im Notenlesen.
• [[Gitarre: Notenlesen - Asturias-einfach|Asturias - vereinfacht]] (incl. Tabs)
==== Asturias - Am-Form (offen) ====
<div style="float:left; padding:5px;margin:5px; border:black solid 1px; ">
<score raw="1">
\version "2.14.2"
\markup {
\override #'(size . 3.0) {
\override #'(fret-diagram-details . (
(orientation . landscape)
(finger-code . in-dot)
(dot-color . #'black)
(dot-radius . 0.4)
(dot-position . 0.5)
(top-fret-thickness . 6)
(fret-count . 3)
(number-type . roman-upper)
))
\fret-diagram-verbose #'(
(place-fret 4 0 "D" darkgreen )
(place-fret 4 2 "E" darkgrey )
(place-fret 4 3 "F" yellow3 )
(place-fret 5 0 "A" darkgreen )
(place-fret 5 2 "B" yellow3 )
(place-fret 5 3 "C" black )
)
}}
\paper{
indent=0\mm
line-width=100\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
bookTitleMarkup = ##f
scoreTitleMarkup = ##f}
</score>
</div>
Vergiss nicht, neben dem Fingersatz auch die Notennamen zu üben.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz ( Am-Form - offen) in Am"
subtitle="Asturias (Ausschnitt)"
}
%% Diskant- bzw. Melodiesaiten
Diskant = {
% \set TabStaff.minimumFret = #5
% \set TabStaff.restrainOpenStrings = ##t
\key a \minor
\repeat volta 2 \relative c{
a8 e'-2 f d e c | a8 e' f d e c
a8 e' f d e c | d b c d b c |
^\markup {2x} | }
\set TabStaff.minimumFret = #0
<a, e' a c' e >2.^\markup { \bold {(Am)} }
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 6/8
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=140\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
==== Asturias - Gm-Form ====
<div style="float:left; padding:5px;margin:5px; border:black solid 1px; ">
<score raw="1">
\version "2.14.2"
\markup {
\override #'(size . 3.0) {
\override #'(fret-diagram-details . (
(orientation . landscape)
(finger-code . in-dot)
(dot-color . #'black)
(dot-radius . 0.4)
(dot-position . 0.5)
(top-fret-thickness . 6)
(fret-count . 3)
(number-type . roman-upper)
))
\fret-diagram-verbose #'(
(place-fret 2 3 "D" darkgreen )
(place-fret 2 5 "E" darkgrey )
(place-fret 2 6 "F" yellow3 )
(place-fret 3 2 "A" darkgreen )
(place-fret 3 4 "B" yellow3 )
(place-fret 3 5 "C" black )
)
}}
\paper{
indent=0\mm
line-width=100\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
bookTitleMarkup = ##f
scoreTitleMarkup = ##f}
</score>
</div>
Vergiss nicht, neben dem Fingersatz auch die Notennamen zu üben.
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz ( Gm-Form) in Am"
subtitle="Asturias (Ausschnitt)"
}
%% Diskant- bzw. Melodiesaiten
Diskant = {
\set TabStaff.minimumFret = #2
\set TabStaff.restrainOpenStrings = ##t
\key a \minor
\repeat volta 2 \relative c'{
a8 e'-3 f d e c | a8 e' f d e c
a8 e' f d e c | d b c d b c |
^\markup {2x} | }
\set TabStaff.minimumFret = #0
< c' e' a'>2.^\markup { \bold {(Am)} }
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 6/8
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=140\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
==== Asturias - Em-Form ====
<div style="float:left; padding:5px;margin:5px; border:black solid 1px; ">
<score raw="1">
\version "2.14.2"
\markup {
\override #'(size . 3.0) {
\override #'(fret-diagram-details . (
(orientation . landscape)
(finger-code . in-dot)
(dot-color . #'black)
(dot-radius . 0.4)
(dot-position . 0.5)
(top-fret-thickness . 6)
(fret-count . 3)
(number-type . roman-upper)
))
\fret-diagram-verbose #'(
(place-fret 5 5 "D" darkgreen )
(place-fret 5 7 "E" darkgrey )
(place-fret 5 8 "F" yellow3 )
(place-fret 6 5 "A" darkgreen )
(place-fret 6 7 "B" yellow3 )
(place-fret 6 8 "C" black )
)
}}
\paper{
indent=0\mm
line-width=100\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
bookTitleMarkup = ##f
scoreTitleMarkup = ##f}
</score>
</div>
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz ( Em-Form) in Am"
subtitle="Asturias (Ausschnitt)"
}
%% Diskant- bzw. Melodiesaiten
Diskant = {
\set TabStaff.minimumFret = #5
\set TabStaff.restrainOpenStrings = ##t
\key a \minor
\repeat volta 2 \relative c{
a8 e'-3 f d e c | a8 e' f d e c
a8 e' f d e c | d b c d b c |
^\markup {2x} | }
\set TabStaff.minimumFret = #0
< a, e a c' e' a'>2.^\markup { \bold {(Am)} }
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 6/8
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=140\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
==== Asturias - Dm-Form ====
<div style="float:left; padding:5px;margin:5px; border:black solid 1px; ">
<score raw="1">
\version "2.14.2"
\markup {
\override #'(size . 3.0) {
\override #'(fret-diagram-details . (
(orientation . landscape)
(finger-code . in-dot)
(dot-color . #'black)
(dot-radius . 0.4)
(dot-position . 0.5)
(top-fret-thickness . 6)
(fret-count . 3)
(number-type . roman-upper)
))
\fret-diagram-verbose #'(
(place-fret 3 7 "D" darkgreen )
(place-fret 3 9 "E" darkgrey )
(place-fret 3 10 "F" yellow3 )
(place-fret 4 7 "A" darkgreen )
(place-fret 4 9 "B" yellow3 )
(place-fret 4 10 "C" black )
)
}}
\paper{
indent=0\mm
line-width=100\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
bookTitleMarkup = ##f
scoreTitleMarkup = ##f}
</score>
</div>
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz ( Dm-Form) in Am"
subtitle="Asturias (Ausschnitt)"
}
%% Diskant- bzw. Melodiesaiten
Diskant = {
\set TabStaff.minimumFret = #7
\set TabStaff.restrainOpenStrings = ##t
\key a \minor
\repeat volta 2 \relative c' {
a8 e'-3 f d e c | a8 e' f d e c
a8 e' f d e c | d b c d b c |
^\markup {2x} | }
\set TabStaff.minimumFret = #0
< a, e a c' e' a'>2.^\markup { \bold {(Am)} }
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 6/8
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=140\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
==== Asturias - D-/ Bm7-Form ====
<div style="float:left; padding:5px;margin:5px; border:black solid 1px; ">
<score raw="1">
\version "2.14.2"
\markup {
\override #'(size . 3.0) {
\override #'(fret-diagram-details . (
(orientation . landscape)
(finger-code . in-dot)
(dot-color . #'black)
(dot-radius . 0.4)
(dot-position . 0.5)
(top-fret-thickness . 6)
(fret-count . 3)
(number-type . roman-upper)
))
\fret-diagram-verbose #'(
(place-fret 2 10 "D" darkgreen )
(place-fret 1 12 "E" darkgrey )
(place-fret 1 13 "F" yellow3 )
(place-fret 2 10 "A" darkgreen )
(place-fret 2 12 "B" yellow3 )
(place-fret 2 13 "C" black )
)
}}
\paper{
indent=0\mm
line-width=100\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
bookTitleMarkup = ##f
scoreTitleMarkup = ##f}
</score>
</div>
<score sound="1" raw="1">
\version "2.20.0"
\header {
title="2. Fingersatz ( D- / Bm7-Form) in Am"
subtitle="Asturias (Ausschnitt)"
}
%% Diskant- bzw. Melodiesaiten
Diskant = {
\set TabStaff.minimumFret = #10
\set TabStaff.restrainOpenStrings = ##t
\key a \minor
\repeat volta 2 \relative c'' {
a8 e'-3 f d e c | a8 e' f d e c
a8 e' f d e c | d b c d b c |
^\markup {2x} | }
\set TabStaff.minimumFret = #0
< a, e a c' e' a'>2.^\markup { \bold {(Am)} }
\bar "|."
}
%% Layout- bzw. Bildausgabe
\score {
<<
\new Voice {
\clef "treble_8"
\time 6/8
\tempo 4 = 120
\set Score.tempoHideNote = ##t
\Diskant
}
\new TabStaff { \tabFullNotation \Diskant }
>>
\layout {}
}
%% Midiausgabe mit Wiederholungen, ohne Akkorde
\score {
<<
\unfoldRepeats {
\new Staff <<
\tempo 4 = 120
\time 4/4
\set Staff.midiInstrument = #"acoustic guitar (nylon)"
\clef "G_8"
\Diskant
>>
}
>>
\midi {}
}
%% unterdrückt im raw="!"-Modus das DinA4-Format.
\paper {
indent=0\mm
%% DinA4 = 210mm - 10mm Rand - 20mm Lochrand = 180mm
line-width=140\mm
oddFooterMarkup=##f
oddHeaderMarkup=##f
% bookTitleMarkup=##f
scoreTitleMarkup=##f
}
</score>
=== Baustelle===
22rmpa5cjvcdc2cnqc8f1o6xgqmwtim
Traktorenlexikon: Allis-Chalmers 6060
0
123135
1091082
2026-09-19T13:01:54Z
Baupit
56622
Neue Seite (vgl. [[WB:AZ]])
1091082
wikitext
text/x-wiki
{{:Traktorenlexikon: Navigation |HERSTELLER-LINK=Traktorenlexikon: Allis-Chalmers |HERSTELLER= Allis-Chalmers}}
{{:Traktorenlexikon: Modell-Infobox
| HERSTELLER = ALLIS-CHALMERS
| MODELLREIHE = 6.000 er - Baureihe
| MODELL = 6060
| BILD =
| BILDBESCHREIBUNG =
| BAUWEISE = Blockbauweise
| PRODUKTIONSBEGINN = 1980
| PRODUKTIONSENDE = 1984
| STÜCKZAHL = 4.027
| EIGENGEWICHT = 2.585 (4 WD: 2.948)
| LÄNGE = 3.721
| BREITE = 1.740
| HÖHE = 2.621
| RADSTAND = 2.362 (4 WD: 2.334)
| BODENFREIHEIT = 518 (4 WD: 460)
| SPURWEITE =
| SPURWEITE VORNE = 1.371-2.007 (4 WD: 1.499-1.930)
| SPURWEITE HINTEN = 1.448-2.261
| WENDERADIUS MIT LENKBREMSE = 3.340 (4 WD: 4.648)
| WENDERADIUS OHNE LENKBREMSE = 3.800 (4 WD: 5.791)
| BEREIFUNG VORNE = 7.50-16 ASF (4 WD: 11.2-24 AS)
| BEREIFUNG HINTEN = 16.9-28 AS (4 WD: 18.4-28 AS)
| LEISTUNG KW = 47,8
| LEISTUNG PS = 65
| NENNDREHZAHL = 2.300
| ZYLINDER = 4
| HUBRAUM = 3.287
| DREHMOMENTANSTIEG =
| KRAFTSTOFF = Diesel
| KÜHLSYSTEM = Wasserkühlung
| ANTRIEBSTYP = Heck- oder Allradantrieb
| GETRIEBE = 8 V/2 R
| HÖCHSTGESCHWINDIGKEIT = 25
| KATEGORIESORTIERUNG =
}}
Der ALLIS-CHALMERS 6060 löste im Jahr 1980 den legendären ALLIS-CHALMERS 175 ab und parallel das Einstiegsmodell 6040. Die 6000 er-Serie beruhte auf einer Zusammenarbeit zwischen FIAT und ALLIS-CHALMERS. Das Hinterteil samt Getriebe des 6060 stammte vom FIAT 780, kombiniert mit einem aufgeladenen-hauseigenen Vierzylinderaggregat. Als Triebwerk diente ein teilsynchronisiertes 8/2-Gänge Getriebe. Dabei war er sowohl als Heckantrieb- als auch mit Allradantrieb erhältlich.
Nachdem im März 1985 die KLÖCKNER-HUMBOLD-DEUTZ AG den traditionellen Hersteller ALLIS-CHALMERS übernommen hatte, wurden Schlepper beider Hersteller angeboten. Eines dieser Modelle war der ALLIS-CHALMERS 6060, der jetzt als DEUTZ-ALLIS 6060 vermarktet wurde.
==Motor==
* ALLIS-CHALMERS, Typ: 433 T, stehender-wassergekühlter Viertakt-Vierzylinder-Reihen-OHC-Saugmotor mit Direkteinspritzverfahren, hängenden Ventilen, zahnradgetriebener Nockenwelle, Reihen-Einspritzpumpe, Leichtmetall-Kolben, Trockenluftfilter, fünffach-gelagerter Kurbelwelle, mechanischer Fliehkraftregler, Turbolader, Druckumlaufschmierung mittels Zahnradpumpe, Motorölkühler, Mehrlochdüse und Lamellenkühler mit Lüfter.
* Bohrung = 98,42 mm, Hub = 107,95 mm
* Verdichtungsverhältnis = 14,1:1
* Max. Drehmoment = 267 Nm bei 1.400 U/min.
* Mittlere Kolbengeschwindigkeit = 8,28 m/s
* Geregelter Drehzahlbereich = 775 bis 2.580 U/min
==Kupplung==
* Trockene Doppelkupplung Typ: 11/11"
Pedal-betätigte Fahrkupplung mit 279,4 mm Scheibendurchmesser
* Handhebel-betätigte Zapfwellenkupplung mit 279,4 mm Scheibendurchmesser
==Getriebe==
* Im Ölbad laufendes, teilsynchronisiertes Gruppen-Getriebe
* Wechselgetriebe mit vier Vorwärts-und einem Rückwärtsgang
* Gruppen-Getriebe mit zwei Gruppen, in die Bereiche L und H unterteilt
* Die Gänge 3+4 und 7+8 sind synchronisiert
8 Vorwärts- und 2 Rückwärtsgänge
==Geschwindigkeiten vor- und rückwärts==
"Geschwindigkeiten mit Bereifung 18.4-28 AS"
{| class="wikitable"
|-
! bei Motordrehzahl (U/min) !! 2.300
|-
! Gruppe - L ||
|-
| 1.Gang || 2,25 km/h
|-
| 2.Gang || 3,22 km/h
|-
| 3.Gang || 4,83 km/h
|-
| 4.Gang || 6,28 km/h
|-
| 1.Rückwärtsgang || 2,90 km/h
|-
! Gruppe - H !!
|-
| 1.Gang || 8,05 km/h
|-
| 2.Gang || 11,59 km/h
|-
| 3.Gang || 17,22 km/h
|-
| 4.Gang || 22,37 km/h
|-
| 2.Rückwärtsgang || 10,46 km/h
|-
|}
==Zapfwelle==
* Mechanisch-betätigte, kupplungsunabhängige Motorzapfwelle
* Stummel = 1 3/8"- 6 Keile
* Einfach schaltbar, 540 U/min.
* 540 U/min. mit 2.226 U/min.- Motordrehzahl
Übertragbare Leistung = 65,8 DIN-PS
* Oder 558 U/min. mit Nenndrehzahl
Übertragbare Leistung = 64,7 DIN-PS
==Bremsen==
* Pedal-betätigte, hydraulisch-nasse Scheibenbremse auf die Differentialseitenwellen wirkend, als Einzelrad-Bremse ausgebildet
* Handhebel-betätigte Feststellbremse auf die Getriebe-Zwischenwelle wirkend
==Achsen==
* Pendelnd-aufgehängte Stahlvorderachse
Verstellbare Spurweite = 1.371 bis 2.007 mm (Optional = 1.676 bis 2.540 mm)
* Pendelnd-gelagerte Lenktriebvorderachse mit zentraler Gelenkwelle
Verstellbare Spurweite = 1.499 bis 1.930 mm
* Hinterachse mit Kegelradgetriebe und Endantrieb als Stirnradübersetzung
* Mechanisch-betätigte Differentialsperre
Verstellbare Spurweite = 1.448 bis 2.261 mm (Optional = 1.626 bis 2.438 mm)
* Vordere Achslast = 971 kg
* Hintere Achslast = 1.962 kg
==Lenkung==
* Hydrostatische Lenkung
Förderleistung = 28,7 l/min.
==Hydrauliksystem und Kraftheber==
* Hydraulischer Blockkraftheber mit Unterlenkerregelung
* Einfachwirkender Hubzylinder
* Dreipunktkupplung der Kategorie II
"Funktionen:"
* Heben, Senken, Schwimmstellung, Zugkraft- und Lageregelung
* Zahnradpumpe mit 71,9 l/min bei 175 bar und Nenndrehzahl
Max. Hubkraft 610 mm hinter den Koppelpunkten = 1.588 kg
==Steuergeräte==
* Ein einfach- oder doppelt-wirkendes Steuergerät
* Auf Wunsch bis zu drei einfach- oder doppelt-wirkende Steuergeräte
==Elektrische Ausrüstung==
"12 Volt-Einrichtung"
* Lichtmaschine, 14 V-72 A
==Maße und Abmessungen==
* Länge über alles = 3.721 mm
* Breite bei kleinster Spurweite = 1.740 mm
* Höhe über Motorhaube = 1.763 mm
* Höhe über Kabine = 2.621 mm
* Höhe über Auspuff = 2.799 mm
* Radstand = 2.362 mm (4 WD = 2.334 mm)
* Bodenfreiheit unter der Vorderachse = 518 mm (4 WD = 460 mm)
* Betriebsgewicht = 2.933 kg (4 WD = 3.296 kg)
==Bereifung==
"Standardbereifung:"
* Vorne = 7.50-16 AS Front (4 WD = 11.2-24 AS)
* Hinten = 16.9-28 AS (4 WD = 18.4-28 AS)
"Optional:"
* Vorne = 6.50-16 und 9.5 L-15 AS Front (4 WD = 11.2-28 AS)
* Hinten = 15.5-38 und 13.6-38 AS
==Füllmengen==
* Tankinhalt = 121,0 l
* Motoröl mit Filter = 9,5 l
* Kühlsystem = 16,0 l
* Getriebe = 11,4 l
* Differential = 35,0 l
==Verbrauch==
* Kraftstoffverbrauch = 15,3 l/h bei 47,6 kW und Nenndrehzahl
==Kabine==
* Fahrerstand mit seitlichem Aufstieg, Schutzrahmen, gefederten Sitz, Öldruck- und Batterieanzeige, Motortemperaturanzeige, Blinker und Luftfilteranzeige, Traktormeter mit Anzeige der Motor- und Zapfwellendrehzahlen und der Betriebsstunden.
"Optional:"
* Kabine mit Komfort-Sitz, Heizung, Klimaanlage und Arbeitsscheinwerfer
==Sonderausrüstung==
* Kabine
* Zusatzgewichte
* Arbeitsscheinwerfer
* Heizung
==Literatur & Weblinks==
* tractordata.com
* Brochure Deutz-Allis Corporation
* digitalcommons.unl.edu (Test-Nr. 1397/81)
<references />
{{:Traktorenlexikon: Navigation |HERSTELLER-LINK=Traktorenlexikon: Allis-Chalmers |HERSTELLER= Allis-Chalmers}}
1k3cdusvno9vwwgp2mzjm0dh6u8mujm
Traktorenlexikon: Allis-Chalmers 6070
0
123136
1091083
2026-09-19T13:40:21Z
Baupit
56622
Neue Seite (vgl. [[WB:AZ]])
1091083
wikitext
text/x-wiki
{{:Traktorenlexikon: Navigation |HERSTELLER-LINK=Traktorenlexikon: Allis-Chalmers |HERSTELLER= Allis-Chalmers}}
{{:Traktorenlexikon: Modell-Infobox
| HERSTELLER = ALLIS-CHALMERS
| MODELLREIHE = 6.000 er - Baureihe
| MODELL = 6070
| BILD =
| BILDBESCHREIBUNG =
| BAUWEISE = Blockbauweise
| PRODUKTIONSBEGINN = 1984
| PRODUKTIONSENDE = 1985
| STÜCKZAHL =
| EIGENGEWICHT = 2.767 (4 WD: 2.948)
| LÄNGE = 3.721
| BREITE = 1.740
| HÖHE = 2.621
| RADSTAND = 2.362 (4 WD: 2.334)
| BODENFREIHEIT = 518 (4 WD: 459)
| SPURWEITE =
| SPURWEITE VORNE = 1.442-2.007 (4 WD: 1.524-1.981)
| SPURWEITE HINTEN = 1.524-2.184 (4 WD: 1.499-2.184)
| WENDERADIUS MIT LENKBREMSE = 3.170 (4 WD: 4.648)
| WENDERADIUS OHNE LENKBREMSE = 3.580 (4 WD: 5.791)
| BEREIFUNG VORNE = 7.50-16 ASF (4 WD: 11.2-24 AS)
| BEREIFUNG HINTEN = 16.9-28 AS (4 WD: 18.4-28 AS)
| LEISTUNG KW = 52,2
| LEISTUNG PS = 71
| NENNDREHZAHL = 2.300
| ZYLINDER = 4
| HUBRAUM = 3.287
| DREHMOMENTANSTIEG =
| KRAFTSTOFF = Diesel
| KÜHLSYSTEM = Wasserkühlung
| ANTRIEBSTYP = Heck- oder Allradantrieb
| GETRIEBE = 12 V/3 R
| HÖCHSTGESCHWINDIGKEIT = 25
| KATEGORIESORTIERUNG =
}}
Der im Jahr 1984 vorgestellte ALLIS-CHALMERS 6070 löste das kleinere Modell 6060 ab. Neben einer größeren Nennleistung, wurde ihm auch das synchronisierte 12/3-Gänge Triebwerk zu teil. Allerdings nahm er einen einzigartigen und historisch bedeutsamen Platz in der ALLIS-CHALMERS Geschichte ein. Denn am 6. Dezember 1985 war es ein ALLIS-CHALMERS 6070, mit der Seriennummer 1972, der als allerletzter Schlepper von ALLIS-CHALMERS vom Band lief. Nach mehr als einem Jahrhundert waren die traditionsreichen orangefarbenen Schlepper, nur noch Geschichte.
Nachdem im März 1985 die KLÖCKNER-HUMBOLD-DEUTZ AG den traditionellen Hersteller ALLIS-CHALMERS übernommen hatte, wurden Schlepper beider Hersteller angeboten. Eines dieser Modelle war der ALLIS-CHALMERS 6070, der jetzt als DEUTZ-ALLIS 6070 vermarktet wurde.
==Motor==
* ALLIS-CHALMERS, Typ: 433 T, stehender-wassergekühlter Viertakt-Vierzylinder-Reihen-OHC-Saugmotor mit Direkteinspritzverfahren, hängenden Ventilen, zahnradgetriebener Nockenwelle, Kolbenkühlung, Reihen-Einspritzpumpe, Leichtmetall-Kolben, Trockenluftfilter, fünffach-gelagerter Kurbelwelle, mechanischer Fliehkraftregler, Turbolader, Druckumlaufschmierung mittels Zahnradpumpe, Motorölkühler, Mehrlochdüse und Lamellenkühler mit Lüfter.
* Bohrung = 98,2 mm, Hub = 107,9 mm
* Verdichtungsverhältnis = 15,1:1
* Max. Drehmoment = 267 Nm bei 1.400 U/min.
* Mittlere Kolbengeschwindigkeit = 8,28 m/s
* Geregelter Drehzahlbereich = 775 bis 2.580 U/min
==Kupplung==
* Trockene Doppelkupplung Typ: 12/12"
Pedal-betätigte Fahrkupplung mit 304,8 mm Scheibendurchmesser
* Mechanisch-betätigte Zapfwellenkupplung mit 304,8 mm Scheibendurchmesser
==Getriebe==
* Im Ölbad laufendes, synchronisiertes Gruppen-Getriebe
* Wechselgetriebe mit vier Vorwärts-und einem Rückwärtsgang
* Gruppen-Getriebe mit drei Gruppen, in die Bereiche L-M und H unterteilt
12 Vorwärts- und 3 Rückwärtsgänge
==Geschwindigkeiten vor- und rückwärts==
"Geschwindigkeiten mit Bereifung 18.4-28 AS"
{| class="wikitable"
|-
! bei Motordrehzahl (U/min) !! 2.300
|-
! Gruppe - L ||
|-
| 1.Gang || 1,61 km/h
|-
| 2.Gang || 2,09 km/h
|-
| 3.Gang || 2,90 km/h
|-
| 4.Gang || 3,22 km/h
|-
| 1.Rückwärtsgang || 1,45 km/h
|-
! Gruppe - M ||
|-
| 1.Gang || 4,51 km/h
|-
| 2.Gang || 5,79 km/h
|-
| 3.Gang || 7,40 km/h
|-
| 4.Gang || 9,17 km/h
|-
| 2.Rückwärtsgang || 4,35 km/h
|-
! Gruppe - H !!
|-
| 1.Gang || 13,04 km/h
|-
| 2.Gang || 17,06 km/h
|-
| 3.Gang || 21,40 km/h
|-
| 4.Gang || 26,88 km/h
|-
| 3.Rückwärtsgang || 12,55 km/h
|-
|}
==Zapfwelle==
* Mechanisch-betätigte, kupplungsunabhängige Motorzapfwelle
* Stummel = 1 3/8"- 6 Keile
* Einfach schaltbar, 540 U/min.
* 540 U/min. mit 2.228 U/min.- Motordrehzahl
Übertragbare Leistung = 72,0 DIN-PS
* Oder 558 U/min. mit Nenndrehzahl
Übertragbare Leistung = 71,8 DIN-PS
==Bremsen==
* Pedal-betätigte, hydraulisch-nasse Scheibenbremse auf die Differentialseitenwellen wirkend, als Einzelrad-Bremse ausgebildet
* Handhebel-betätigte Feststellbremse auf die Getriebe-Zwischenwelle wirkend
==Achsen==
* Pendelnd-aufgehängte Stahlvorderachse
Verstellbare Spurweite = 1.442 bis 2.007 mm (Optional = 1.727 bis 2.438 mm)
* Pendelnd-gelagerte Lenktriebvorderachse mit zentraler Gelenkwelle
Verstellbare Spurweite = 1.524 bis 1.981 mm
* Hinterachse mit Kegelradgetriebe und Endantrieb als Stirnradübersetzung
* Mechanisch-betätigte Differentialsperre
Verstellbare Spurweite = 1.499 bis 2.184 mm (Optional = 1.575 bis 2.464 mm)
* Vordere Achslast = 1.034 kg
* Hintere Achslast = 2.350 kg
==Lenkung==
* Hydrostatische Lenkung
Förderleistung = 28,7 l/min.
==Hydrauliksystem und Kraftheber==
* Hydraulischer Blockkraftheber mit Unterlenkerregelung
* Einfachwirkender Hubzylinder
* Dreipunktkupplung der Kategorie II
"Funktionen:"
* Heben, Senken, Schwimmstellung, Zugkraft- und Lageregelung
* Zahnradpumpe mit 71,9 l/min bei 175 bar und Nenndrehzahl
Max. Hubkraft 610 mm hinter den Koppelpunkten = 1.588 kg
==Steuergeräte==
* Ein einfach- oder doppelt-wirkendes Steuergerät
* Auf Wunsch bis zu drei einfach- oder doppelt-wirkende Steuergeräte
==Elektrische Ausrüstung==
"12 Volt-Einrichtung"
* Lichtmaschine, 14 V-72 A
==Maße und Abmessungen==
* Länge über alles = 3.721 mm
* Breite bei kleinster Spurweite = 1.740 mm
* Höhe über Motorhaube = 1.763 mm
* Höhe über Kabine = 2.621 mm
* Höhe über Auspuff = 2.799 mm
* Radstand = 2.362 mm (4 WD = 2.334 mm)
* Bodenfreiheit unter der Vorderachse = 518 mm (4 WD = 459 mm)
* Betriebsgewicht = 3.384 kg (4 WD = 3.747 kg)
==Bereifung==
"Standardbereifung:"
* Vorne = 7.50-16 AS Front (4 WD = 11.2-24 AS)
* Hinten = 16.9-28 AS (4 WD = 18.4-28 AS)
"Optional:"
* Vorne = 6.50-16 und 9.5 L-15 AS Front (4 WD = 11.2-28 AS)
* Hinten = 15.5-38 und 13.6-38 AS
==Füllmengen==
* Tankinhalt = 121,0 l
* Motoröl mit Filter = 9,5 l
* Kühlsystem = 16,0 l
* Getriebe = 11,4 l
* Differential = 35,0 l
==Verbrauch==
* Kraftstoffverbrauch = 16,6 l/h bei 52,8 kW und Nenndrehzahl
==Kabine==
* Fahrerstand mit seitlichem Aufstieg, Schutzrahmen, gefederten Sitz, Öldruck- und Batterieanzeige, Motortemperaturanzeige, Blinker und Luftfilteranzeige, Traktormeter mit Anzeige der Motor- und Zapfwellendrehzahlen und der Betriebsstunden.
"Optional:"
* Kabine mit Komfort-Sitz, Heizung, Klimaanlage und Arbeitsscheinwerfer
==Sonderausrüstung==
* Kabine
* Zusatzgewichte
* Arbeitsscheinwerfer
* Heizung
==Literatur & Weblinks==
* tractordata.com
* Allis-Chalmers Agricultural Equipment Brochure
* koneviesti.fi
* digitalcommons.unl.edu (Test-Nr. 1545/84)
<references />
{{:Traktorenlexikon: Navigation |HERSTELLER-LINK=Traktorenlexikon: Allis-Chalmers |HERSTELLER= Allis-Chalmers}}
jxtyz7lgnphtz2rqu9svmqw0pwonk6y
A Poem a Day/ 26. September: Herbst (R.M. Rilke)
0
123137
1091101
2026-09-19T15:31:40Z
Mjchael
2222
Neue Seite (vgl. [[WB:AZ]])
1091101
wikitext
text/x-wiki
=Herbst=
[[Datei:Herbst.jpg|mini]]
<poem>
Die Blätter fallen, fallen wie von weit,
als welkten in den Himmeln ferne Gärten;
sie fallen mit verneinender Gebärde.
Und in den Nächten fällt die schwere Erde
aus allen Sternen in die Einsamkeit.
Wir alle fallen. Diese Hand da fällt.
Und sieh dir andre an: es ist in allen.
Und doch ist Einer welcher dieses Fallen
unendlich sanft in seinen Händen hält.
<small>Rainer Maria Rilke</small>
</poem>
m5xonwm1plaea2ba41w19go4pl79qj4
Traktorenlexikon: Allis-Chalmers 6080
0
123138
1091114
2026-09-19T17:15:53Z
Baupit
56622
Neue Seite (vgl. [[WB:AZ]])
1091114
wikitext
text/x-wiki
{{:Traktorenlexikon: Navigation |HERSTELLER-LINK=Traktorenlexikon: Allis-Chalmers |HERSTELLER= Allis-Chalmers}}
{{:Traktorenlexikon: Modell-Infobox
| HERSTELLER = ALLIS-CHALMERS
| MODELLREIHE = 6.000 er - Baureihe
| MODELL = 6080
| BILD =
| BILDBESCHREIBUNG =
| BAUWEISE = Blockbauweise
| PRODUKTIONSBEGINN = 1980
| PRODUKTIONSENDE = 1985
| STÜCKZAHL = 6.698
| EIGENGEWICHT = 2.767 (4 WD: 3.175)
| LÄNGE = 3.805
| BREITE = 1.857
| HÖHE = 2.621
| RADSTAND = 2.438 (4 WD: 2.421)
| BODENFREIHEIT = 536 (4 WD: 447)
| SPURWEITE =
| SPURWEITE VORNE = 1.524-2.235 (4 WD: 1.702-2.134)
| SPURWEITE HINTEN = 1.448-2.363
| WENDERADIUS MIT LENKBREMSE = 3.630 (4 WD: 4.693)
| WENDERADIUS OHNE LENKBREMSE = 3.980 (4 WD: 6.077)
| BEREIFUNG VORNE = 7.50-16 ASF (4 WD: 11.2-28 AS)
| BEREIFUNG HINTEN = 18.4-34 AS (4 WD: 16.9-34 AS)
| LEISTUNG KW = 61,8
| LEISTUNG PS = 84
| NENNDREHZAHL = 2.300
| ZYLINDER = 4
| HUBRAUM = 3.287
| DREHMOMENTANSTIEG = 27
| KRAFTSTOFF = Diesel
| KÜHLSYSTEM = Wasserkühlung
| ANTRIEBSTYP = Heck- oder Allradantrieb
| GETRIEBE = 12 V/3 R
| HÖCHSTGESCHWINDIGKEIT = 30
| KATEGORIESORTIERUNG =
}}
Das Spitzenmodell der 6000 er - Baureihe war der ALLIS-CHALMERS 6080, er sollte die Lücke zwischen den kleineren Kompakttraktoren und der großen 7000 er - Serie schließen. Hinterachsantriebssystem und Triebwerk stammten beim ALLIS-CHALMERS 6080 vom FIAT 980. Die Vorderachse der Allradausführung wurde auch von FIAT bereitgestellt. Die optionale Kabine ähnelte der zur gleichen Zeit vorgestellten 8000 er - Serie. Mit fast 6.700 Exemplaren war er das absolute Erfolgsmodell der Serie.
Nachdem im März 1985 die KLÖCKNER-HUMBOLD-DEUTZ AG den traditionellen Hersteller ALLIS-CHALMERS übernommen hatte, wurden Schlepper beider Hersteller angeboten. Eines dieser Modelle war der ALLIS-CHALMERS 6080, der jetzt als DEUTZ-ALLIS 6080 vermarktet wurde.
==Motor==
* ALLIS-CHALMERS, Typ: 433 TI, stehender-wassergekühlter Viertakt-Vierzylinder-Reihen-OHC-Saugmotor mit Direkteinspritzverfahren, hängenden Ventilen, zahnradgetriebener Nockenwelle, Kolben-Ölkühlung, Reihen-Einspritzpumpe, Leichtmetall-Kolben, Trockenluftfilter, fünffach-gelagerter Kurbelwelle, mechanischer Fliehkraftregler, Turbolader incl. Ladeluftkühlung, Druckumlaufschmierung mittels Zahnradpumpe, Motorölkühler, Mehrlochdüse und Lamellenkühler mit Lüfter.
* Bohrung = 98,2 mm, Hub = 107,9 mm
* Verdichtungsverhältnis = 14,1:1
* Max. Drehmoment = 323 Nm bei 1.200 U/min.
* Mittlere Kolbengeschwindigkeit = 8,28 m/s
* Geregelter Drehzahlbereich = 775 bis 2.580 U/min
==Kupplung==
* Trockene Doppelkupplung Typ: 12/12"
Pedal-betätigte Fahrkupplung mit 304,8 mm Scheibendurchmesser
* Mechanisch-betätigte Zapfwellenkupplung mit 304,8 mm Scheibendurchmesser
==Getriebe==
* Im Ölbad laufendes, synchronisiertes Gruppen-Getriebe
* Wechselgetriebe mit vier Vorwärts-und einem Rückwärtsgang
* Gruppen-Getriebe mit drei Gruppen, in die Bereiche L-M und H unterteilt
12 Vorwärts- und 3 Rückwärtsgänge
==Geschwindigkeiten vor- und rückwärts==
"Geschwindigkeiten mit Bereifung 18.4-34 AS"
{| class="wikitable"
|-
! bei Motordrehzahl (U/min) !! 2.300
|-
! Gruppe - L ||
|-
| 1.Gang || 1,61 km/h
|-
| 2.Gang || 2,25 km/h
|-
| 3.Gang || 2,74 km/h
|-
| 4.Gang || 3,38 km/h
|-
| 1.Rückwärtsgang || 1,58 km/h
|-
! Gruppe - M ||
|-
| 1.Gang || 4,83 km/h
|-
| 2.Gang || 6,44 km/h
|-
| 3.Gang || 8,05 km/h
|-
| 4.Gang || 9,98 km/h
|-
| 2.Rückwärtsgang || 4,67 km/h
|-
! Gruppe - H !!
|-
| 1.Gang || 14,16 km/h
|-
| 2.Gang || 18,51 km/h
|-
| 3.Gang || 23,17 km/h
|-
| 4.Gang || 28,97 km/h
|-
| 3.Rückwärtsgang || 13,52 km/h
|-
|}
==Zapfwelle==
* Mechanisch-betätigte, kupplungsunabhängige Motorzapfwelle
* Stummel = 1 3/8"- 6 Keile oder 1 3/8"- 20 teilig
* Zweifach schaltbar, 540/1.000 U/min.
* 540 U/min. mit 2.124 U/min.- Motordrehzahl
* 1.000 U/min. mit 2.408 U/min.- Motordrehzahl
Übertragbare Leistung = 75,5 DIN-PS
* Oder 955 U/min. mit Nenndrehzahl
Übertragbare Leistung = 84,8 DIN-PS
==Bremsen==
* Pedal-betätigte, hydraulisch-nasse Scheibenbremse auf die Differentialseitenwellen wirkend, als Einzelrad-Bremse ausgebildet
* Handhebel-betätigte Feststellbremse auf die Getriebe-Zwischenwelle wirkend
==Achsen==
* Pendelnd-aufgehängte Stahlvorderachse
Verstellbare Spurweite = 1.524 bis 2.235 mm (Optional = 1.727 bis 2.540 mm)
* Pendelnd-gelagerte Lenktriebvorderachse mit zentraler Gelenkwelle
Verstellbare Spurweite = 1.702 bis 2.134 mm
* Hinterachse mit Kegelradgetriebe und Endantrieb als Stirnradübersetzung
* Mechanisch-betätigte Differentialsperre
Verstellbare Spurweite = 1.448 bis 2.362 mm (Optional = 1.829 bis 2.438 mm)
* Vordere Achslast = 1.052 kg
* Hintere Achslast = 2.391 kg
==Lenkung==
* Hydrostatische Lenkung
Förderleistung = 28,7 l/min.
==Hydrauliksystem und Kraftheber==
* Hydraulischer Blockkraftheber mit Unterlenkerregelung
* Einfachwirkender Hubzylinder
* Dreipunktkupplung der Kategorie II
"Funktionen:"
* Heben, Senken, Schwimmstellung, Zugkraft- und Lageregelung
* Zahnradpumpe mit 71,9 l/min bei 175 bar und Nenndrehzahl
Max. Hubkraft 610 mm hinter den Koppelpunkten = 2.041 kg
==Steuergeräte==
* Ein einfach- oder doppelt-wirkendes Steuergerät
* Auf Wunsch bis zu drei einfach- oder doppelt-wirkende Steuergeräte
==Elektrische Ausrüstung==
"12 Volt-Einrichtung"
* Lichtmaschine, 14 V-72 A
==Maße und Abmessungen==
* Länge über alles = 3.805 mm
* Breite bei kleinster Spurweite = 1.857 mm
* Höhe über Motorhaube = 1.763 mm
* Höhe über Kabine = 2.621 mm
* Höhe über Auspuff = 2.799 mm
* Radstand = 2.438 mm (4 WD = 2.421 mm)
* Bodenfreiheit unter der Vorderachse = 536 mm (4 WD = 447 mm)
* Betriebsgewicht = 3.443 kg (4 WD = 3.851 kg)
==Bereifung==
"Standardbereifung:"
* Vorne = 7.50-16 AS Front (4 WD = 11.2-28 AS)
* Hinten = 16.9-34 AS (4 WD = 18.4-34 AS)
"Optional:"
* Vorne = 7.50-20, 10.00-16 und 9.5 L-15 AS Front (4 WD = 12.4-28 AS)
* Hinten = 15.5-38 und 13.6-38 AS
==Füllmengen==
* Tankinhalt = 121,0 l
* Motoröl mit Filter = 9,5 l
* Kühlsystem = 16,0 l
* Getriebe = 11,4 l
* Differential = 35,0 l
==Verbrauch==
* Kraftstoffverbrauch = 19,0 l/h bei 62,4 kW und Nenndrehzahl
==Kabine==
* Fahrerstand mit seitlichem Aufstieg, Schutzrahmen, gefederten Sitz, Öldruck- und Batterieanzeige, Motortemperaturanzeige, Blinker und Luftfilteranzeige, Traktormeter mit Anzeige der Motor- und Zapfwellendrehzahlen und der Betriebsstunden.
"Optional:"
* Kabine mit Komfort-Sitz, Heizung, Klimaanlage und Arbeitsscheinwerfer
==Sonderausrüstung==
* Kabine
* Zusatzgewichte
* Arbeitsscheinwerfer
* Heizung
==Literatur & Weblinks==
* tractordata.com
* Allis-Chalmers Agricultural Equipment Brochure
* koneviesti.fi
* digitalcommons.unl.edu (Test-Nr. 1398/81)
<references />
{{:Traktorenlexikon: Navigation |HERSTELLER-LINK=Traktorenlexikon: Allis-Chalmers |HERSTELLER= Allis-Chalmers}}
iprdalboooq5wck422d4m1xxx54ft8y
Traktorenlexikon: Fiatagri 82-94
0
123139
1091117
2026-09-19T19:09:34Z
GregorWild
58033
Neue Seite (vgl. [[WB:AZ]])
1091117
wikitext
text/x-wiki
{{:Traktorenlexikon: Navigation |HERSTELLER-LINK=Traktorenlexikon: Fiatagri |HERSTELLER= Fiatagri}}
{{:Traktorenlexikon: Modell-Infobox
| HERSTELLER = Fiatagri
| MODELLREIHE = 94 er-Baureihe
| MODELL = 82-94 (DT)
| BILD =
| BILDBESCHREIBUNG =
| BAUWEISE = Blockbauweise
| PRODUKTIONSBEGINN = 1993
| PRODUKTIONSENDE = 1996
| STÜCKZAHL =
| EIGENGEWICHT = 3.470 (3.800 DT)
| LÄNGE = 3.550 (DT: 3.680)
| BREITE = 2.100
| HÖHE = 2.615
| RADSTAND = 2.340 (DT: 2.310)
| BODENFREIHEIT = 430
| SPURWEITE =
| SPURWEITE VORNE =
| SPURWEITE HINTEN =
| WENDERADIUS MIT LENKBREMSE =
| WENDERADIUS OHNE LENKBREMSE =
| BEREIFUNG VORNE = 13.6/12-24
| BEREIFUNG HINTEN = 16.9/14-34
| LEISTUNG KW = 59
| LEISTUNG PS = 80
| NENNDREHZAHL = 2.500
| ZYLINDER = 4
| HUBRAUM = 3.908
| DREHMOMENTANSTIEG =
| KRAFTSTOFF = Diesel
| KÜHLSYSTEM = Wasserkühlung
| ANTRIEBSTYP = Heck- oder Allradantrieb
| GETRIEBE = 12V/12R, 20V/12R oder 24V/12R
| HÖCHSTGESCHWINDIGKEIT = 30 oder 40
| KATEGORIESORTIERUNG = Fiatagri
}}
Der Fiat 82-90 ersetzte den 80-90 mit der neuen Motorhaube der Winner Serie und den Kabinenversionen Comfort und Supercomfort der vorigen Baureihe.
==Motor==
* Fiat-Iveco, Typ: 8045.05 T, stehender wassergekühlter Reihen-Viertakt-Vierzylinder-Saugmotor mit Direkteinspritzung, Druckumlaufschmierung mittels Zahnradpumpe, variabler Zentrifugal-Drehzahlregler, trockene Zylinderlaufbuchsen, Doppel-Kraftstofffilter, hängende Ventile, zahnradgetriebene Nockenwelle, Trockenluftfilter incl. Abscheider, Mehrloch-Einspritzdüse, fünffach-gelagerter Kurbelwelle, FIAT-Schalldämpfer, Verteiler-Einspritzpumpe sowie Kühler mit Thermostat und Lüfter.
* Bohrung = 104 mm, Hub = 115 mm
* Verdichtungsverhältnis =
* Max. Drehmoment =
* Kompressionsdruck =
* Geregelter Drehzahlbereich =
* Max. Einspritzdruck =
==Kupplung==
* Trockene Valeo oder LuK-Doppelkupplung
Pedal-betätigte Fahrkupplung mit 279 mm Scheiben-Durchmesser
* Handhebel-betätigte Zapfwellenkupplung mit 279 mm Scheiben-Durchmesser
==Getriebe==
Im Ölbad laufendes, synchronisiertes Fiat-Wendegetriebe
Wechselgetriebe mit vier Gängen
Dreistufiger Planeten-Untersetzer, in die Bereiche: L-M und S unterteilt
Mechanische Wendeschaltung für Vorwärts- und Rückwärtsfahrt
12 Vorwärts- und 12 Rückwärtsgänge
Optional als im Ölbad laufendes Lastschaltgetriebe
Wechselgetriebe mit vier Gängen
Dreistufiger Planeten-Untersetzer, in die Bereiche: L-M und S unterteilt
Zweistufige Lastschaltung in die Bereiche: Lo und Hi unterteilt
24 Vorwärts- und 12 Rückwärtsgänge
==Geschwindigkeiten vor- und rückwärts==
==Zapfwelle==
Handhebel-betätigte, unabhängige und unter Last schaltbare Motorzapfwelle, als Wegzapfwelle schaltbar
Stummel = 1 3/8"- 6 Keile (Form-1) bzw. 1 3/8"- 21 teilig (Form-2)
Zweifach schaltbar, 540/1.000 U/min.
Optional dreifach schaltbar, 540, 540E und 1.000 U/min.
540 U/min. bei 2.198 U/min.- Motordrehzahl
Übertragbare Leistung = kW
Oder 614 U/min. mit Nenndrehzahl
Übertragbare Leistung = kW
1.000 U/min. bei 2.381 U/min.- Motordrehzahl
Oder 1.050 U/min. mit Nenndrehzahl
Optional 540 E bei 1.715 U/min.- Motordrehzahl
Optional unter Last schaltbare Frontzapfwelle
1.000 U/min. bei 2.222 U/min.- Motordrehzahl
==Bremsen==
Pedal-betätigte, hydraulisch-nasse Scheibenbremse auf die Differential-Halbwellen der Hinterachse wirkend, als Einzelradbremse ausgebildet
Automatische Allradzuschaltung als Vorderradbremse ausgebildet
Handhebel-betätigte, unabhängige Feststellbremse als Scheibenbremse ausgebildet, auf die Nebenwelle wirkend
Optional mit Ein- oder Zweikreis-Druckluftbremsanlage
==Achsen==
* Pendelnd-gelagerte Teleskop-Vorderachse
Verstellbare Spurweite = 1.400 bis 1.900 mm
* Wahlweise als pendelnd-aufgehängte Planeten-Vorderachse mit mittiger Gelenkwelle und Kegelrad-Differentialsperre, auf Wunsch mit No Spin-System
Verstellbare Spurweite = 1.550 bis 2.000 mm
* Starre Hinterachse mit Ritzel, Kegelrad und Planetenendantrieb
* Pedal-betätigte Differentialsperre
Verstellbare Spurweite = 1.500 bis 2.100 mm
* Vordere Achslast = xxx kg (DT = 1.760 kg)
Hintere Achslast = xxx kg (DT = 2.200 kg)
==Lenkung==
Hydrostatische DANFOSS-Lenkung, Typ: ORBITROL OSPC-100
Doppelt-wirkender Lenkzylinder
==Hydrauliksystem und Kraftheber==
Hydraulischer Fiat-Regelkraftheber in Blockbauweise ausgeführt, mit mechanischer Unterlenkerregelung
Ein einfachwirkender Hubzylinder
Optional mit Zusatz-Hubzylinder
Sicherheitsventil des Arbeitszylinder auf 225 bis 235 bar eingestellt
Dreipunktaufhängung der Kategorie II mit Walterscheid-Schnellkuppler
Funktionen = Heben, Senken, Schwimmstellung, Zugwiderstands-, Misch- und Lageregelung
Förderleistung der Hydraulikpumpe = 44,5 l/min. bei 190 bar
Max. Hubkraft an den Koppelpunkten = 3.500 kg (Optional 4.200 kg)
Optional mit Front-HubwerkDreipunktaufhängung der Kategorie II
Max. durchgehende Hubkraft = 1.800 kg
==Steuergeräte==
Drei doppelt-wirkende Zusatz-Steuergeräte
Optional bis zu fünf einfach- oder doppelt-wirkende Zusatz-Steuergeräte
==Elektrische Ausrüstung==
* 12 Volt-Einrichtung
* Batterie, 12 V-110 Ah (Optional: 120 Ah)
* BOSCH-Anlasser, JD (12 V-3,5 kW)
* MARELLI-Lichtmaschine, Typ: AA 125 (14 V-540 W)
==Maße und Abmessungen==
* Länge über alles = 3.550 mm (DT = 3.680 mm)
* Breite = 2.160 mm
* Höhe über Kabine = 2.630 mm
* Radstand = 2.340 mm (DT = 2.310 mm)
* Bodenfreiheit unter der Vorderachse = 510 mm (DT = 430 mm)
* Betriebsgewicht = 3.470 kg (DT = 3.800 kg)
* Zul. Gesamtgewicht = 5.500 kg
==Bereifung==
Standardbereifung
* Vorne = 7.50/18 AS Front (DT = 13.6 R 24 AS)
* Hinten = 13.6/12-38 (DT = 16.9/14-34)
==Füllmengen==
* Tankinhalt = 93,0 l
* Motoröl = 11,7 l
* Kühlsystem = 10,0 l
* Getriebe, Hinterachse und Hydraulik = 54,5 l
* Lenktriebachse = 6,1 l
* Endantriebe-Vorderachse je 1,2 l
* Ölbadluftfilter = 0,7 l
==Verbrauch==
==Kabine==
* Auf Silent-Blöcken gelagerte FIAT-Sicherheitskabine, Typ: CS-16 mit hydraulisch-gefederter GRAMMER-Komfortsitz, Typ: DS 85/H 3 A, Lade- und Öldruckanzeige, Seitenschaltung, Traktormeter, Kraftstoffanzeige, ausstellbare Dachluke, ausstellbare Heckscheibe, Heizungs- und Belüftungssystem und Arbeitsscheinwerfer.
Optional mit Klimaanlage und Luftfedersitz
==Sonderausrüstung==
* Zugpendel
* Zusatz-Steuergeräte
* Zusatzgewichte
* Frontzapfwelle
* Fronthubwerk
* Klimaanlage
* Lastschaltgetriebe
==Literatur & Weblinks==
* Fiat Bedienungsanleitung 94er Serie (Druckschrift N. 603.64.279.00
* tractordata. com
* fiatagri-info.com
<references />
{{:Traktorenlexikon: Navigation |HERSTELLER-LINK=Traktorenlexikon: Fiatagri |HERSTELLER= Fiatagri}}
7boefemoi630odq8ri8aoou3img7zu1
1091118
1091117
2026-09-19T19:10:01Z
GregorWild
58033
1091118
wikitext
text/x-wiki
{{:Traktorenlexikon: Navigation |HERSTELLER-LINK=Traktorenlexikon: Fiatagri |HERSTELLER= Fiatagri}}
{{:Traktorenlexikon: Modell-Infobox
| HERSTELLER = Fiatagri
| MODELLREIHE = 94 er-Baureihe
| MODELL = 82-94 (DT)
| BILD =
| BILDBESCHREIBUNG =
| BAUWEISE = Blockbauweise
| PRODUKTIONSBEGINN = 1993
| PRODUKTIONSENDE = 1996
| STÜCKZAHL =
| EIGENGEWICHT = 3.470 (3.800 DT)
| LÄNGE = 3.550 (DT: 3.680)
| BREITE = 2.100
| HÖHE = 2.615
| RADSTAND = 2.340 (DT: 2.310)
| BODENFREIHEIT = 430
| SPURWEITE =
| SPURWEITE VORNE =
| SPURWEITE HINTEN =
| WENDERADIUS MIT LENKBREMSE =
| WENDERADIUS OHNE LENKBREMSE =
| BEREIFUNG VORNE = 13.6/12-24
| BEREIFUNG HINTEN = 16.9/14-34
| LEISTUNG KW = 59
| LEISTUNG PS = 80
| NENNDREHZAHL = 2.500
| ZYLINDER = 4
| HUBRAUM = 3.908
| DREHMOMENTANSTIEG =
| KRAFTSTOFF = Diesel
| KÜHLSYSTEM = Wasserkühlung
| ANTRIEBSTYP = Heck- oder Allradantrieb
| GETRIEBE = 12V/12R, 20V/12R oder 24V/12R
| HÖCHSTGESCHWINDIGKEIT = 30 oder 40
| KATEGORIESORTIERUNG = Fiatagri
}}
Der Fiat 82-94 ersetzte den 80-90 mit der neuen Motorhaube der Winner Serie und den Kabinenversionen Comfort und Supercomfort der vorigen Baureihe.
==Motor==
* Fiat-Iveco, Typ: 8045.05 T, stehender wassergekühlter Reihen-Viertakt-Vierzylinder-Saugmotor mit Direkteinspritzung, Druckumlaufschmierung mittels Zahnradpumpe, variabler Zentrifugal-Drehzahlregler, trockene Zylinderlaufbuchsen, Doppel-Kraftstofffilter, hängende Ventile, zahnradgetriebene Nockenwelle, Trockenluftfilter incl. Abscheider, Mehrloch-Einspritzdüse, fünffach-gelagerter Kurbelwelle, FIAT-Schalldämpfer, Verteiler-Einspritzpumpe sowie Kühler mit Thermostat und Lüfter.
* Bohrung = 104 mm, Hub = 115 mm
* Verdichtungsverhältnis =
* Max. Drehmoment =
* Kompressionsdruck =
* Geregelter Drehzahlbereich =
* Max. Einspritzdruck =
==Kupplung==
* Trockene Valeo oder LuK-Doppelkupplung
Pedal-betätigte Fahrkupplung mit 279 mm Scheiben-Durchmesser
* Handhebel-betätigte Zapfwellenkupplung mit 279 mm Scheiben-Durchmesser
==Getriebe==
Im Ölbad laufendes, synchronisiertes Fiat-Wendegetriebe
Wechselgetriebe mit vier Gängen
Dreistufiger Planeten-Untersetzer, in die Bereiche: L-M und S unterteilt
Mechanische Wendeschaltung für Vorwärts- und Rückwärtsfahrt
12 Vorwärts- und 12 Rückwärtsgänge
Optional als im Ölbad laufendes Lastschaltgetriebe
Wechselgetriebe mit vier Gängen
Dreistufiger Planeten-Untersetzer, in die Bereiche: L-M und S unterteilt
Zweistufige Lastschaltung in die Bereiche: Lo und Hi unterteilt
24 Vorwärts- und 12 Rückwärtsgänge
==Geschwindigkeiten vor- und rückwärts==
==Zapfwelle==
Handhebel-betätigte, unabhängige und unter Last schaltbare Motorzapfwelle, als Wegzapfwelle schaltbar
Stummel = 1 3/8"- 6 Keile (Form-1) bzw. 1 3/8"- 21 teilig (Form-2)
Zweifach schaltbar, 540/1.000 U/min.
Optional dreifach schaltbar, 540, 540E und 1.000 U/min.
540 U/min. bei 2.198 U/min.- Motordrehzahl
Übertragbare Leistung = kW
Oder 614 U/min. mit Nenndrehzahl
Übertragbare Leistung = kW
1.000 U/min. bei 2.381 U/min.- Motordrehzahl
Oder 1.050 U/min. mit Nenndrehzahl
Optional 540 E bei 1.715 U/min.- Motordrehzahl
Optional unter Last schaltbare Frontzapfwelle
1.000 U/min. bei 2.222 U/min.- Motordrehzahl
==Bremsen==
Pedal-betätigte, hydraulisch-nasse Scheibenbremse auf die Differential-Halbwellen der Hinterachse wirkend, als Einzelradbremse ausgebildet
Automatische Allradzuschaltung als Vorderradbremse ausgebildet
Handhebel-betätigte, unabhängige Feststellbremse als Scheibenbremse ausgebildet, auf die Nebenwelle wirkend
Optional mit Ein- oder Zweikreis-Druckluftbremsanlage
==Achsen==
* Pendelnd-gelagerte Teleskop-Vorderachse
Verstellbare Spurweite = 1.400 bis 1.900 mm
* Wahlweise als pendelnd-aufgehängte Planeten-Vorderachse mit mittiger Gelenkwelle und Kegelrad-Differentialsperre, auf Wunsch mit No Spin-System
Verstellbare Spurweite = 1.550 bis 2.000 mm
* Starre Hinterachse mit Ritzel, Kegelrad und Planetenendantrieb
* Pedal-betätigte Differentialsperre
Verstellbare Spurweite = 1.500 bis 2.100 mm
* Vordere Achslast = xxx kg (DT = 1.760 kg)
Hintere Achslast = xxx kg (DT = 2.200 kg)
==Lenkung==
Hydrostatische DANFOSS-Lenkung, Typ: ORBITROL OSPC-100
Doppelt-wirkender Lenkzylinder
==Hydrauliksystem und Kraftheber==
Hydraulischer Fiat-Regelkraftheber in Blockbauweise ausgeführt, mit mechanischer Unterlenkerregelung
Ein einfachwirkender Hubzylinder
Optional mit Zusatz-Hubzylinder
Sicherheitsventil des Arbeitszylinder auf 225 bis 235 bar eingestellt
Dreipunktaufhängung der Kategorie II mit Walterscheid-Schnellkuppler
Funktionen = Heben, Senken, Schwimmstellung, Zugwiderstands-, Misch- und Lageregelung
Förderleistung der Hydraulikpumpe = 44,5 l/min. bei 190 bar
Max. Hubkraft an den Koppelpunkten = 3.500 kg (Optional 4.200 kg)
Optional mit Front-HubwerkDreipunktaufhängung der Kategorie II
Max. durchgehende Hubkraft = 1.800 kg
==Steuergeräte==
Drei doppelt-wirkende Zusatz-Steuergeräte
Optional bis zu fünf einfach- oder doppelt-wirkende Zusatz-Steuergeräte
==Elektrische Ausrüstung==
* 12 Volt-Einrichtung
* Batterie, 12 V-110 Ah (Optional: 120 Ah)
* BOSCH-Anlasser, JD (12 V-3,5 kW)
* MARELLI-Lichtmaschine, Typ: AA 125 (14 V-540 W)
==Maße und Abmessungen==
* Länge über alles = 3.550 mm (DT = 3.680 mm)
* Breite = 2.160 mm
* Höhe über Kabine = 2.630 mm
* Radstand = 2.340 mm (DT = 2.310 mm)
* Bodenfreiheit unter der Vorderachse = 510 mm (DT = 430 mm)
* Betriebsgewicht = 3.470 kg (DT = 3.800 kg)
* Zul. Gesamtgewicht = 5.500 kg
==Bereifung==
Standardbereifung
* Vorne = 7.50/18 AS Front (DT = 13.6 R 24 AS)
* Hinten = 13.6/12-38 (DT = 16.9/14-34)
==Füllmengen==
* Tankinhalt = 93,0 l
* Motoröl = 11,7 l
* Kühlsystem = 10,0 l
* Getriebe, Hinterachse und Hydraulik = 54,5 l
* Lenktriebachse = 6,1 l
* Endantriebe-Vorderachse je 1,2 l
* Ölbadluftfilter = 0,7 l
==Verbrauch==
==Kabine==
* Auf Silent-Blöcken gelagerte FIAT-Sicherheitskabine, Typ: CS-16 mit hydraulisch-gefederter GRAMMER-Komfortsitz, Typ: DS 85/H 3 A, Lade- und Öldruckanzeige, Seitenschaltung, Traktormeter, Kraftstoffanzeige, ausstellbare Dachluke, ausstellbare Heckscheibe, Heizungs- und Belüftungssystem und Arbeitsscheinwerfer.
Optional mit Klimaanlage und Luftfedersitz
==Sonderausrüstung==
* Zugpendel
* Zusatz-Steuergeräte
* Zusatzgewichte
* Frontzapfwelle
* Fronthubwerk
* Klimaanlage
* Lastschaltgetriebe
==Literatur & Weblinks==
* Fiat Bedienungsanleitung 94er Serie (Druckschrift N. 603.64.279.00
* tractordata. com
* fiatagri-info.com
<references />
{{:Traktorenlexikon: Navigation |HERSTELLER-LINK=Traktorenlexikon: Fiatagri |HERSTELLER= Fiatagri}}
h4a8yva28zjwcuf2chlnr6gb09tmsob
Traktorenlexikon: Allis-Chalmers 6140
0
123140
1091119
2026-09-19T19:13:58Z
Baupit
56622
Neue Seite (vgl. [[WB:AZ]])
1091119
wikitext
text/x-wiki
{{:Traktorenlexikon: Navigation |HERSTELLER-LINK=Traktorenlexikon: Allis-Chalmers |HERSTELLER= Allis-Chalmers}}
{{:Traktorenlexikon: Modell-Infobox
| HERSTELLER = ALLIS-CHALMERS
| MODELLREIHE = 6.000 er - Baureihe
| MODELL = 6140
| BILD =
| BILDBESCHREIBUNG =
| BAUWEISE = Blockbauweise
| PRODUKTIONSBEGINN = 1982
| PRODUKTIONSENDE = 1985
| STÜCKZAHL =
| EIGENGEWICHT = 1.818 (4 WD: 2.000)
| LÄNGE = 3.340
| BREITE = 1.732
| HÖHE = 1.593
| RADSTAND = 1.980 (4 WD: 1.935)
| BODENFREIHEIT = 502 (4 WD: 419)
| SPURWEITE =
| SPURWEITE VORNE = 1.305-1.897 (4 WD: 1.321-1.524)
| SPURWEITE HINTEN = 1.372-2.134
| WENDERADIUS MIT LENKBREMSE = 3.050
| WENDERADIUS OHNE LENKBREMSE = 3.480
| BEREIFUNG VORNE = 7.50-16 ASF (4 WD: 8.00-18 AS)
| BEREIFUNG HINTEN = 14.9-28 AS
| LEISTUNG KW = 31,6
| LEISTUNG PS = 43
| NENNDREHZAHL = 2.500
| ZYLINDER = 3
| HUBRAUM = 2.335
| DREHMOMENTANSTIEG =
| KRAFTSTOFF = Diesel
| KÜHLSYSTEM = Wasserkühlung
| ANTRIEBSTYP = Heck- oder Allradantrieb
| GETRIEBE = 10 V/2 R
| HÖCHSTGESCHWINDIGKEIT = 30
| KATEGORIESORTIERUNG =
}}
Eigentlich gehörte der ALLIS-CHALMERS 6140 nicht zur 6000 er - Baureihe. Er war vielmehr ein kompakter Mehrzwecktraktor, der eine ganz eigene Nische in der ALLIS-CHALMERS Palette besetzte. Dabei war er ein leistungsfähiger aus Japan stammenden Kompaktschlepper, der von einem TOYOSHA-Dreizylinder-Diesel angetrieben wurde. Verblockt mit einem 10/2-Gänge-Synchrongetriebe mit einer breiten Spreizung der Arbeitsgeschwindigkeiten. Die Hinterachse verfügte über eine innenliegende Planetenuntersetzung und der mechanischer Allradantrieb war auf Wunsch erhältlich.
==Motor==
* TOYOSHA, Typ: 3 S 233, stehender-wassergekühlter Viertakt-Dreizylinder-Reihen-OHV-Dieselmotor mit Wirbelkammer-Einspritzverfahren, C.A.V.-Fliehkraftregler, Druckumlaufschmierung mittels Zahnradpumpe, Kraftstoffkolbenpumpe, C.A.V.-Einspritzpumpe, KIKI-Mehrlochdüse, Zentrifugalölfilter, KIKI-Düsenhalter, vierfach-gelagerte Kurbelwelle, Trockenluftfilter, Kühlwasser-Kreiselpumpe und Lamellenkühler incl. Lüfter.
* Bohrung = 98,04 mm, Hub = 103,12 mm
* Verdichtungsverhältnis = 23:1
* Mittlere Kolbengeschwindigkeit = 8,59 m/sec.
* Geregelter Drehzahlbereich = 750 bis 2.750 U/min.
* Einspritzdruck = 190 bar
==Kupplung==
* Pedal-betätigte, zweistufige-trockene Doppelkupplung Typ: 11/11"
Erste Stufe Fahrkupplung mit 279,4 mm Scheibendurchmesser
* Zweite Stufe Zapfwellenkupplung mit 279,4 mm Scheibendurchmesser
==Getriebe==
* Im Ölbad laufendes, synchronisiertes Gruppen-Getriebe
* Wechselgetriebe mit fünf Vorwärts-und einem Rückwärtsgang
* Gruppen-Getriebe mit zwei Gruppen, in die Bereiche L und H unterteilt
10 Vorwärts- und 2 Rückwärtsgänge
==Geschwindigkeiten vor- und rückwärts==
"Geschwindigkeiten mit Bereifung 14.9-28 AS"
{| class="wikitable"
|-
! bei Motordrehzahl (U/min) !! 2.500
|-
! Gruppe - L ||
|-
| 1.Gang || 1,29 km/h
|-
| 2.Gang || 1,77 km/h
|-
| 3.Gang || 2,41 km/h
|-
| 4.Gang || 3,54 km/h
|-
| 5.Gang || 5,47 km/h
|-
| 1.Rückwärtsgang || 2,09 km/h
|-
! Gruppe - H !!
|-
| 1.Gang || 7,08 km/h
|-
| 2.Gang || 9,50 km/h
|-
| 3.Gang || 11,59 km/h
|-
| 4.Gang || 17,22 km/h
|-
| 5.Gang || 28,49 km/h
|-
| 2.Rückwärtsgang || 11,43 km/h
|-
|}
==Zapfwelle==
* Pedal-betätigte, unabhängige Motorzapfwelle
* Stummel = 1 3/8"- 6 Keile
* Einfach schaltbar, 540 U/min.
* 540 U/min. mit 2.277 U/min.- Motordrehzahl
Übertragbare Leistung = 38,6 DIN-PS
* 594 U/min. mit Nenndrehzahl
Übertragbare Leistung = 41,6 DIN-PS
==Bremsen==
* Pedal-betätigte, nasse Scheibenbremse auf die Differentialseitenwellen wirkend, als Einzelrad-Bremse ausgebildet
* Handhebel-betätigte Feststellbremse auf die Getriebe-Zwischenwelle wirkend
==Achsen==
* Pendelnd-aufgehängte Stahlvorderachse
Verstellbare Spurweite mit Bereifung 7.50-16 = 1.305 bis 1.897 mm (Bereifung 6.00-16 = 1.265 bis 1.937 mm)
* Pendelnd-gelagerte Lenktriebvorderachse mit zentraler Gelenkwelle
Verstellbare Spurweite = 1.308 bis 1.524 mm
* Hinterachse mit Kegelradgetriebe und Endantrieb als Stirnradübersetzung
* Mechanisch-betätigte Differentialsperre
Verstellbare Spurweite mit Bereifung 14.9-28 = 1.372 bis 2.134 mm (Bereifung 13.6-28 = 1.372 bis 2.057 mm)
* Vordere Achslast = 692 kg
* Hintere Achslast = 1.331 kg
==Lenkung==
* Hydrostatische Lenkung
==Hydrauliksystem und Kraftheber==
* Hydraulischer Blockkraftheber mit Oberlenkerregelung
* Einfachwirkender Hubzylinder
* Dreipunktkupplung der Kategorie I/II
"Funktionen:"
* Heben, Senken, Schwimmstellung, Zugkraft- und Lageregelung
* Open-Center mit Zahnradpumpe mit 37,9 l/min bei 175 bar und Nenndrehzahl
Max. Hubkraft 610 mm hinter den Koppelpunkten = 1.447 kg
==Steuergeräte==
* Ein einfach- oder doppelt-wirkendes Steuergerät
* Auf Wunsch bis zu drei einfach- oder doppelt-wirkende Steuergeräte
==Elektrische Ausrüstung==
"12 Volt-Einrichtung"
* Batterie, 12 V-100 Ah
* Anlasser, 12 V-2,5 kW
* Lichtmaschine, 14 V-35 A
==Maße und Abmessungen==
* Länge über alles = 3.340 mm
* Breite bei kleinster Spurweite = 1.732 mm
* Höhe über Motorhaube = 1.283 mm
* Höhe über Lenkrad = 1.593 mm
* Höhe über Auspuff = 2.235 mm
* Radstand = 1.980 mm (4 WD = 1.935 mm)
* Bodenfreiheit unter der Vorderachse = 502 mm (4 WD = 419 mm)
* Betriebsgewicht = 2.023 kg (4 WD = 2.205 kg)
==Bereifung==
"Standardbereifung:"
* Vorne = 7.50-16 AS Front (4 WD = 8.00-18 AS)
* Hinten = 13.6-28 und 14.9-28 AS
==Füllmengen==
* Tankinhalt = 50,0 l
* Motoröl mit Filter = 5,0 l
* Kühlsystem = 8,0 l
* Getriebe = 13,0 bis 15,0 l
==Verbrauch==
* Kraftstoffverbrauch = 11,9 l/h bei 30,6 kW und Nenndrehzahl
==Kabine==
* Fahrerstand mit Schutzrahmen, gefederten Sitz, Öldruck- und Ladeanzeige, Temperaturanzeige, Blinker, Traktormeter, Betriebsstundenzähler und Tankanzeige
==Sonderausrüstung==
* Zusatzgewichte
* Arbeitsscheinwerfer
* Allradantrieb
==Literatur & Weblinks==
* tractordata.com
* Allis-Chalmers Agricultural Equipment Brochure
* koneviesti.fi
* digitalcommons.unl.edu (Test-Nr. 1445/82)
<references />
{{:Traktorenlexikon: Navigation |HERSTELLER-LINK=Traktorenlexikon: Allis-Chalmers |HERSTELLER= Allis-Chalmers}}
196c1tjukg0vycp4ocfug7n1lku7iy4
Talmudisches Aramäisch
0
123141
1091120
2026-09-19T19:24:57Z
נתנאל שטרן
104616
Neue Seite (vgl. [[WB:AZ]])
1091120
wikitext
text/x-wiki
= Talmudisches Aramäisch =
'''Talmudisches Aramäisch''' bezeichnet in diesem Lehrbuch vor allem das '''Jüdisch-Babylonische Aramäisch''' (englisch ''Jewish Babylonian Aramaic'', JBA), die aramäische Sprachform, die einen wesentlichen Teil der sprachlichen Überlieferung des babylonischen Judentums prägt. Sie begegnet besonders im [[w:de:Babylonischer Talmud|Babylonischen Talmud]] sowie in weiteren Texten der spätantiken und frühmittelalterlichen jüdischen Literatur.
Der Babylonische Talmud ist sprachlich nicht einheitlich. Hebräische und aramäische Abschnitte stehen nebeneinander, und auch innerhalb des Aramäischen lassen sich Unterschiede zwischen Textschichten, Überlieferungstraditionen und Handschriften beobachten.<ref>Elitzur A. Bar-Asher Siegal: ''Introduction to the Grammar of Jewish Babylonian Aramaic''. 2., überarbeitete und erweiterte Auflage. Ugarit-Verlag, Münster 2016.</ref> Für das Erlernen der Sprache ist es deshalb sinnvoll, nicht nur einzelne häufige Wendungen auswendig zu lernen, sondern sich schrittweise mit Formenlehre, Satzbau und dem charakteristischen Wortschatz vertraut zu machen.
Dieses Buch soll eine Einführung in die Sprache geben, wie sie zum Verständnis talmudischer Texte benötigt wird. Es ersetzt weder eine wissenschaftliche Grammatik noch ein Wörterbuch, sondern soll den Einstieg in deren Benutzung erleichtern.
== Voraussetzungen ==
Vorkenntnisse im Aramäischen werden nicht vorausgesetzt. Hilfreich sind jedoch Kenntnisse der hebräischen Schrift. Wer bereits modernes oder biblisches Hebräisch kennt, wird manche Wörter und grammatische Strukturen wiedererkennen; zugleich sollte man sich davor hüten, aramäische Formen automatisch nach hebräischen Mustern zu deuten.
== Lernziele ==
Nach der Arbeit mit den grundlegenden Kapiteln sollen Leserinnen und Leser
* häufige aramäische Wörter und Partikeln erkennen,
* Nominal- und Pronominalformen unterscheiden,
* gebräuchliche Verbformen analysieren,
* typische Frage- und Verknüpfungswörter verstehen,
* einfache talmudische Sätze selbstständig zerlegen,
* Wörterbücher und wissenschaftliche Grammatiken gezielt benutzen können.
== Aufbau des Buches ==
=== Schrift und Lautung ===
* [[Talmudisches Aramäisch/Schrift|Schrift und Orthographie]]
* [[Talmudisches Aramäisch/Aussprache|Aussprache und Lesetraditionen]]
=== Grundwortschatz ===
* [[Talmudisches Aramäisch/Häufige Wörter|Häufige Wörter]]
* [[Talmudisches Aramäisch/Partikeln|Partikeln und Konjunktionen]]
* [[Talmudisches Aramäisch/Fragewörter|Fragewörter]]
* [[Talmudisches Aramäisch/Präpositionen|Präpositionen]]
=== Formenlehre ===
* [[Talmudisches Aramäisch/Substantive|Substantive]]
* [[Talmudisches Aramäisch/Adjektive|Adjektive]]
* [[Talmudisches Aramäisch/Pronomen|Pronomen]]
* [[Talmudisches Aramäisch/Verben|Das Verbalsystem]]
=== Syntax ===
* [[Talmudisches Aramäisch/Satzbau|Grundlagen des Satzbaus]]
* [[Talmudisches Aramäisch/Nebensätze|Relativ- und Nebensätze]]
* [[Talmudisches Aramäisch/Negation|Negation]]
* [[Talmudisches Aramäisch/Fragesätze|Fragesätze]]
=== Sprache des Talmuds ===
* [[Talmudisches Aramäisch/Diskussionssprache|Sprache talmudischer Diskussionen]]
* [[Talmudisches Aramäisch/Zitate und Einleitungen|Zitate und Einleitungsformeln]]
* [[Talmudisches Aramäisch/Argumentation|Formeln der Argumentation]]
* [[Talmudisches Aramäisch/Textanalyse|Einführung in die Textanalyse]]
=== Übungen und Lesestücke ===
* [[Talmudisches Aramäisch/Übungen 1|Grundübungen]]
* [[Talmudisches Aramäisch/Übungen 2|Morphologische Übungen]]
* [[Talmudisches Aramäisch/Lesestücke|Kommentierte Lesestücke]]
* [[Talmudisches Aramäisch/Lösungen|Lösungshinweise]]
== Ein erstes Beispiel ==
Ein sehr häufiges Fragewort ist '''מאי''' (''mai''), „was?“.
: מאי טעמא
Die Wendung bedeutet wörtlich etwa „Was ist der Grund?“ beziehungsweise im jeweiligen Zusammenhang „Warum?“.
Für Anfänger ist es nützlich, einen solchen Ausdruck nicht nur als feste Übersetzung zu lernen. Er lässt sich auch grammatisch betrachten:
: '''מאי''' – was?
: '''טעמא''' – Grund, Begründung
Auf diese Weise verbindet sich Wortschatzlernen mit der Analyse tatsächlicher Sprachstrukturen.
Ein weiteres häufiges Wort ist '''מאן''' (''man''), „wer?“. Bereits die sichere Unterscheidung von '''מאי''' und '''מאן''' erleichtert die Orientierung in vielen kurzen talmudischen Fragen.
== Zur Textüberlieferung ==
Beim Studium des Jüdisch-Babylonischen Aramäisch ist zu beachten, dass gedruckte Talmudausgaben nicht in jedem Einzelheit den ältesten erreichbaren Sprachzustand wiedergeben. Wissenschaftliche Untersuchungen berücksichtigen daher Handschriften und unterschiedliche Textzeugen. Moderne Grammatiken können an einzelnen Stellen Formen ansetzen oder bevorzugen, die von der vertrauten Druckfassung abweichen.<ref>Bar-Asher Siegal, ''Introduction to the Grammar of Jewish Babylonian Aramaic'', 2. Auflage, Münster 2016.</ref>
Für dieses Lehrbuch bedeutet dies: Beispiele sollen nach Möglichkeit mit genauer Fundstelle angegeben werden. Wo verschiedene Lesarten für die grammatische Erklärung von Bedeutung sind, sollen sie ausdrücklich genannt werden.
== Wörterbücher und Grammatiken ==
Für ein ernsthaftes Studium sind insbesondere folgende Werke hilfreich:
* Elitzur A. Bar-Asher Siegal: ''Introduction to the Grammar of Jewish Babylonian Aramaic''. 2., überarbeitete und erweiterte Auflage. Ugarit-Verlag, Münster 2016.
* Michael Sokoloff: ''A Dictionary of Jewish Babylonian Aramaic of the Talmudic and Geonic Periods''. 2., überarbeitete und erweiterte Auflage. Bar-Ilan University Press, 2020.
Sokoloffs Wörterbuch ist besonders für die lexikalische Arbeit wichtig; Bar-Asher Siegals Grammatik bietet eine systematische Einführung in Laut- und Formenlehre sowie Syntax des Jüdisch-Babylonischen Aramäisch.<ref>Michael Sokoloff: ''A Dictionary of Jewish Babylonian Aramaic of the Talmudic and Geonic Periods''. 2. Auflage. Bar-Ilan University Press, 2020.</ref>
== Arbeitsweise ==
Es empfiehlt sich, kurze Textabschnitte zunächst selbst zu analysieren. Dabei sollte man jedes unbekannte Wort bestimmen, Präfixe und Suffixe abtrennen und erst anschließend eine vollständige Übersetzung formulieren.
Eine mögliche Reihenfolge ist:
# Satzgrenzen feststellen.
# Partikeln und Präpositionen markieren.
# Verben bestimmen.
# Pronomen und pronominale Suffixe erkennen.
# Unbekannte Lexeme im Wörterbuch nachschlagen.
# Erst danach den ganzen Satz übersetzen.
Mit zunehmender Erfahrung wird dieser Ablauf weitgehend automatisch.
== Literatur ==
<references />
* Bar-Asher Siegal, Elitzur A.: ''Introduction to the Grammar of Jewish Babylonian Aramaic''. 2., überarbeitete und erweiterte Auflage. Ugarit-Verlag, Münster 2016.
* Sokoloff, Michael: ''A Dictionary of Jewish Babylonian Aramaic of the Talmudic and Geonic Periods''. 2., überarbeitete und erweiterte Auflage. Bar-Ilan University Press, 2020.
== Siehe auch ==
* [[w:de:Aramäische Sprachen|Aramäische Sprachen]]
* [[w:de:Babylonischer Talmud|Babylonischer Talmud]]
* [[w:de:Hebräische Sprache|Hebräische Sprache]]
[[Kategorie:Sprache]]
[[Kategorie:Semitische Sprachen]]
gqkpskviao6yvfrxl8a3rtrf2sfzweo
Talmudisches Aramäisch/Wörterbuch
0
123142
1091121
2026-09-19T19:31:10Z
נתנאל שטרן
104616
Neue Seite (vgl. [[WB:AZ]])
1091121
wikitext
text/x-wiki
= Aramäisch–deutsches Wörterbuch =
Dieses Wörterbuch enthält häufige Wörter und Wendungen des '''Jüdisch-Babylonischen Aramäisch''', insbesondere der Sprache des [[w:de:Babylonischer Talmud|Babylonischen Talmuds]].
Die Bedeutungsangaben sind bewusst knapp gehalten. Ein aramäisches Wort kann je nach Zusammenhang mehrere Bedeutungen besitzen. Außerdem können Handschriften und gedruckte Talmudausgaben unterschiedliche Schreibweisen überliefern.
== Abkürzungen ==
* ''Adv.'' – Adverb
* ''Adj.'' – Adjektiv
* ''f.'' – Femininum
* ''m.'' – Maskulinum
* ''Pl.'' – Plural
* ''Pron.'' – Pronomen
* ''Präp.'' – Präposition
* ''V.'' – Verb
* ''wörtl.'' – wörtlich
== א ==
{| class="wikitable sortable"
! Aramäisch
! Umschrift
! Wortart
! Deutsch
| ! Anmerkung | | | | | | | | |
| ----------- | - | ---------------- | - | ---------------- | - | ---------------------------------------- | - | ---------------------------------------------------------------- |
| אבא | | ''abbā'' | | m. | | Vater | | Häufige Verwandtschaftsbezeichnung. |
| - | | | | | | | | |
| אחא | | ''aḥā'' | | m. | | Bruder | | Vgl. hebräisch אח. |
| - | | | | | | | | |
| אדם | | ''adam'' | | m. | | Mensch | | Vor allem in hebräisch beeinflussten Passagen. |
| - | | | | | | | | |
| אדרבה | | ''adrabba'' | | Adv. | | im Gegenteil; vielmehr | | Häufig in Argumentationen. |
| - | | | | | | | | |
| אזל | | ''azal'' | | V. | | gehen; weggehen | | Sehr häufiges Verb. |
| - | | | | | | | | |
| אי | | ''i'' | | Partikel | | wenn; falls; oder | | Die genaue Bedeutung hängt vom syntaktischen Zusammenhang ab. |
| - | | | | | | | | |
| איבעיא | | ''ibbaʿya'' | | V./Formel | | es wurde gefragt; die Frage stellte sich | | Besonders in '''איבעיא להו'''. |
| - | | | | | | | | |
| איבעיא להו | | ''ibbaʿya lehu'' | | Formel | | ihnen stellte sich die Frage | | Leitet eine talmudische Fragestellung ein. |
| - | | | | | | | | |
| איכא | | ''ikka'' | | Existenzpartikel | | es gibt; es ist vorhanden | | Gegensatz: '''ליכא'''. |
| - | | | | | | | | |
| איהו | | ''ihu'' | | Pron. | | er | | Personalpronomen der 3. Person Singular. |
| - | | | | | | | | |
| איהי | | ''ihi'' | | Pron. | | sie | | 3. Person Singular feminin. |
| - | | | | | | | | |
| אימת | | ''emat'' | | Fragewort | | wann? | | Frage nach einem Zeitpunkt. |
| - | | | | | | | | |
| איניש | | ''iniš'' | | m. | | Mensch; Person; jemand | | Sehr häufig: '''איניש''' kann auch unbestimmt „jemand“ bedeuten. |
| - | | | | | | | | |
| אינהו | | ''inhu'' | | Pron. | | sie | | 3. Person Plural. |
| - | | | | | | | | |
| אית | | ''it'' | | Partikel | | es gibt; vorhanden sein | | Z. B. '''אית ליה''' – „er hat“. |
| - | | | | | | | | |
| אית ליה | | ''it leh'' | | Wendung | | er hat | | Wörtl. etwa: „es gibt für ihn“. |
| - | | | | | | | | |
| איתמר | | ''itmar'' | | Formel | | es wurde gesagt; es wurde gelehrt | | Leitet häufig eine Diskussion von Lehrmeinungen ein. |
| - | | | | | | | | |
| אלא | | ''ella'' | | Konj. | | sondern; vielmehr; außer | | Häufig nach einer Verneinung. |
| - | | | | | | | | |
| אלמא | | ''alma'' | | Adv. | | daraus folgt; offenbar; also | | Kennzeichnet eine Schlussfolgerung. |
| - | | | | | | | | |
| אמא | | ''immā'' | | f. | | Mutter | | Verwandtschaftsbezeichnung. |
| - | | | | | | | | |
| אמאי | | ''ammai'' | | Fragewort | | warum? | | Sehr häufige talmudische Frage. |
| - | | | | | | | | |
| אמר | | ''amar'' | | V. | | sagen | | Eines der häufigsten Verben im Talmud. |
| - | | | | | | | | |
| אנא | | ''ana'' | | Pron. | | ich | | 1. Person Singular. |
| - | | | | | | | | |
| אנן | | ''anan'' | | Pron. | | wir | | 1. Person Plural. |
| - | | | | | | | | |
| אתא | | ''ata'' | | V. | | kommen | | Vgl. Imperativ '''תא'''. |
| - | | | | | | | | |
| אתתא | | ''itteta'' | | f. | | Frau; Ehefrau | | Häufige Nominalform. |
| } | | | | | | | | |
== ב ==
{| class="wikitable sortable"
! Aramäisch
! Umschrift
! Deutsch
| ! Anmerkung | | | | | | |
| ----------- | - | ----------- | - | ------------------------- | - | -------------------------------------------- |
| ב | | ''bə-/ba-'' | | in; an; mit | | Präfixpräposition. |
| - | | | | | | |
| ביני | | ''bene'' | | zwischen; unter | | Häufig in zusammengesetzten Wendungen. |
| - | | | | | | |
| בישא | | ''biša'' | | schlecht; böse | | Gegensatz: '''טבא'''. |
| - | | | | | | |
| ביתא | | ''beta'' | | Haus | | Emphatische Nominalform. |
| - | | | | | | |
| בלא | | ''bəla'' | | ohne | | Präposition. |
| - | | | | | | |
| בר | | ''bar'' | | Sohn | | Auch Bestandteil vieler Namen. |
| - | | | | | | |
| בר | | ''bar'' | | außerhalb | | Eigenes Lexem; nicht mit „Sohn“ verwechseln. |
| - | | | | | | |
| בתר | | ''batar'' | | nach; hinter | | Auch zeitlich: „nachher“. |
| - | | | | | | |
| בתרא | | ''batra'' | | letzter; späterer | | Gegensatz zu '''קמא'''. |
| - | | | | | | |
| בהדי | | ''bahade'' | | mit; zusammen mit | | Sehr häufig in erzählenden Passagen. |
| - | | | | | | |
| בעי | | ''baʿe'' | | wollen; benötigen; fragen | | Bedeutung ist vom Zusammenhang abhängig. |
| } | | | | | | |
== ג ==
{| class="wikitable sortable"
! Aramäisch
! Umschrift
! Deutsch
| ! Anmerkung | | | | | | |
| ----------- | - | --------- | - | ------------------------ | - | ----------------------------------------------------- |
| גבר | | ''gəvar'' | | Mann | | Grundform. |
| - | | | | | | |
| גברא | | ''gavra'' | | Mann; Person | | Häufige emphatische Form. |
| - | | | | | | |
| גופא | | ''gufa'' | | selbst; die Sache selbst | | Auch Diskursformel zum Wiederaufgreifen eines Themas. |
| - | | | | | | |
| גמר | | ''gəmar'' | | lernen; vollenden | | In rabbinischem Kontext häufig „lernen“. |
| } | | | | | | |
== ד ==
{| class="wikitable sortable"
! Aramäisch
! Umschrift
! Deutsch
| ! Anmerkung | | | | | | |
| ----------- | - | ---------- | - | ------------------------------- | - | ---------------------------------------------- |
| ד־ | | ''də-'' | | der/die/das; von; dass; welcher | | Sehr wichtige Relativ- und Genitivpartikel. |
| - | | | | | | |
| דהבא | | ''dahava'' | | Gold | | Substantiv. |
| - | | | | | | |
| דידיה | | ''dideh'' | | sein; von ihm | | Wörtl. „das Seine“. |
| - | | | | | | |
| דידה | | ''didah'' | | ihr; von ihr | | Possessive Wendung. |
| - | | | | | | |
| דידי | | ''didi'' | | mein; von mir | | Possessiv. |
| - | | | | | | |
| דידן | | ''didan'' | | unser; von uns | | Possessiv. |
| - | | | | | | |
| דידהו | | ''didhu'' | | ihr; von ihnen | | 3. Person Plural. |
| - | | | | | | |
| דידך | | ''didakh'' | | dein; von dir | | Die genaue Form kann nach Genus variieren. |
| - | | | | | | |
| דילמא | | ''dilma'' | | vielleicht; möglicherweise | | Oft zur Einführung einer möglichen Einwendung. |
| } | | | | | | |
== ה ==
{| class="wikitable sortable"
! Aramäisch
! Umschrift
! Deutsch
| ! Anmerkung | | | | | | |
| ----------- | - | ----------------- | - | ------------------------- | - | ------------------------------------------------- |
| הא | | ''ha'' | | siehe!; dies | | Demonstrative bzw. präsentierende Partikel. |
| - | | | | | | |
| האי | | ''hai'' | | dieser; diese; dieses | | Singular. |
| - | | | | | | |
| הכי | | ''hakhi'' | | so; auf diese Weise | | Sehr häufig. |
| - | | | | | | |
| הכי נמי | | ''hakhi nami'' | | ebenso; genauso auch | | Argumentative Formel. |
| - | | | | | | |
| הכי קאמר | | ''hakhi ka-amar'' | | so meint/sagt er | | Formel zur Neuinterpretation einer Aussage. |
| - | | | | | | |
| הכא | | ''hakha'' | | hier | | Gegensatz: dort. |
| - | | | | | | |
| היכא | | ''hekha'' | | wo? | | Auch in Bedingungs- und Relativkonstruktionen. |
| - | | | | | | |
| היכי | | ''hekhi'' | | wie? | | Z. B. '''היכי דמי'''. |
| - | | | | | | |
| היכי דמי | | ''hekhi dame'' | | wie liegt der Fall genau? | | Sehr häufige juristische Frage. |
| - | | | | | | |
| ההוא | | ''hahu'' | | jener; derjenige | | Demonstrativpronomen. |
| - | | | | | | |
| הני | | ''hane'' | | diese | | Plural. |
| - | | | | | | |
| הנך | | ''hanakh'' | | jene | | Demonstrativ, Plural. |
| - | | | | | | |
| השתא | | ''hašta'' | | jetzt; nun | | Auch logisch: „wenn nun ...“. |
| - | | | | | | |
| הוה | | ''hava'' | | sein; werden; geschehen | | Häufige Vergangenheitsform bzw. Hilfsverb. |
| - | | | | | | |
| הדר | | ''hadar'' | | zurückkehren; wieder | | Als Verb oder zur Bezeichnung einer Wiederholung. |
| } | | | | | | |
== ח ==
{| class="wikitable sortable"
! Aramäisch
! Umschrift
! Deutsch
| ! Anmerkung | | | | | | |
| ----------- | - | --------- | - | ------------ | - | ------------------------------------------------- |
| חד | | ''ḥad'' | | eins; einer | | Kardinalzahl. |
| - | | | | | | |
| חזא | | ''ḥaza'' | | sehen | | In gedruckten Texten häufig Formen wie '''חזי'''. |
| - | | | | | | |
| חזי | | ''ḥazi'' | | sieh!; sieht | | Form von „sehen“. |
| - | | | | | | |
| חמרא | | ''ḥamra'' | | Wein | | Kontext beachten. |
| - | | | | | | |
| חמרא | | ''ḥamra'' | | Esel | | Homonym zu „Wein“. |
| - | | | | | | |
| חיי | | ''ḥayye'' | | leben; Leben | | Je nach Form Verb oder Substantiv. |
| } | | | | | | |
== ט ==
{| class="wikitable sortable"
! Aramäisch
! Umschrift
! Deutsch
| ! Anmerkung | | | | | | |
| ----------- | - | --------- | - | ---------------------------- | - | --------------------------------------- |
| טבא | | ''ṭava'' | | gut | | Adjektiv. |
| - | | | | | | |
| טעמא | | ''ṭaʿma'' | | Grund; Begründung; Geschmack | | Besonders häufig in '''מאי טעמא'''. |
| - | | | | | | |
| טפי | | ''ṭəfe'' | | mehr; stärker | | Komparative bzw. adverbiale Verwendung. |
| } | | | | | | |
== י ==
{| class="wikitable sortable"
! Aramäisch
! Umschrift
! Deutsch
| ! Anmerkung | | | | | | |
| ----------- | - | ---------- | - | ---------------- | - | ----------------------------------------- |
| ידע | | ''yədaʿ'' | | wissen; kennen | | Semitische Wurzel יד״ע. |
| - | | | | | | |
| יהב | | ''yahav'' | | geben | | Sehr häufig. |
| - | | | | | | |
| יומא | | ''yoma'' | | Tag | | Vgl. hebräisch יום. |
| - | | | | | | |
| יתיב | | ''yativ'' | | sitzen; bleiben | | Häufig auch in Erzählungen über Gelehrte. |
| - | | | | | | |
| יליף | | ''yalef'' | | lernen; ableiten | | Besonders für die Ableitung einer Regel. |
| - | | | | | | |
| ינוקא | | ''yenoqa'' | | Kind; Junge | | Häufig „Knabe“. |
| } | | | | | | |
== כ ==
{| class="wikitable sortable"
! Aramäisch
! Umschrift
! Deutsch
| ! Anmerkung | | | | | | |
| ----------- | - | --------- | - | --------------------- | - | ------------------------------ |
| כד | | ''kad'' | | als; als gerade; wenn | | Temporale Konjunktion. |
| - | | | | | | |
| כל | | ''kol'' | | alles; jeder | | Sehr häufig. |
| - | | | | | | |
| כלבא | | ''kalba'' | | Hund | | Substantiv. |
| - | | | | | | |
| כמה | | ''kamma'' | | wie viel?; wie viele? | | Auch „einige“ je nach Kontext. |
| } | | | | | | |
== ל ==
{| class="wikitable sortable"
! Aramäisch
! Umschrift
! Deutsch
| ! Anmerkung | | | | | | |
| ----------- | - | ----------- | - | ------------------------------------- | - | ------------------------------------ |
| ל־ | | ''lə-'' | | zu; für | | Präfixpräposition. |
| - | | | | | | |
| לא | | ''la'' | | nicht; nein | | Allgemeine Negation. |
| - | | | | | | |
| לאו | | ''lav'' | | nein; nicht | | Besonders in argumentativer Sprache. |
| - | | | | | | |
| לית | | ''let'' | | es gibt nicht; ist nicht vorhanden | | Negatives Gegenstück zu '''אית'''. |
| - | | | | | | |
| לית ליה | | ''let leh'' | | er hat nicht | | Wörtl. „es gibt für ihn nicht“. |
| - | | | | | | |
| ליכא | | ''lekka'' | | es gibt nicht | | Gegensatz zu '''איכא'''. |
| - | | | | | | |
| ליליא | | ''lelya'' | | Nacht | | Substantiv. |
| - | | | | | | |
| לגבי | | ''ləgabe'' | | hinsichtlich; gegenüber; in Bezug auf | | Häufige Präposition. |
| } | | | | | | |
== מ ==
{| class="wikitable sortable"
! Aramäisch
! Umschrift
! Deutsch
| ! Anmerkung | | | | | | |
| ------------ | - | ------------------- | - | ----------------------------- | - | ------------------------------------------------------------ |
| מאי | | ''mai'' | | was? | | Eines der wichtigsten Fragewörter. |
| - | | | | | | |
| מאי טעמא | | ''mai ṭaʿma'' | | warum?; aus welchem Grund? | | Wörtl. „was ist der Grund?“. |
| - | | | | | | |
| מאן | | ''man'' | | wer? | | Frage nach einer Person. |
| - | | | | | | |
| מאנא | | ''mana'' | | Gefäß; Gerät; Gegenstand | | Je nach Kontext verschieden. |
| - | | | | | | |
| מיא | | ''maya'' | | Wasser | | Grammatisch meist als Pluralform behandelt. |
| - | | | | | | |
| מילתא | | ''milletha'' | | Wort; Sache; Angelegenheit | | Sehr häufig und semantisch breit. |
| - | | | | | | |
| מן | | ''min'' | | von; aus | | Präposition. |
| - | | | | | | |
| מנא | | ''mena'' | | woher? | | Nicht mit '''מאנא''' „Gefäß“ verwechseln. |
| - | | | | | | |
| מנא הני מילי | | ''mena hane mille'' | | woher wissen wir diese Dinge? | | Klassische Frage nach der Belegquelle einer Regel. |
| - | | | | | | |
| מנלן | | ''menalan'' | | woher wissen wir es? | | Zusammengezogene Frageform. |
| - | | | | | | |
| מצי | | ''matze'' | | können; imstande sein | | Oft mit folgendem Infinitiv oder Verb. |
| - | | | | | | |
| מעיקרא | | ''me-iqqara'' | | ursprünglich; zunächst | | Wörtl. etwa „vom Anfang her“. |
| - | | | | | | |
| מית | | ''mit'' | | sterben; gestorben sein | | Verb. |
| - | | | | | | |
| מיתיבי | | ''metive'' | | man erhob einen Einwand | | Leitet oft einen Einwand aus einer tannaitischen Quelle ein. |
| } | | | | | | |
== נ ==
{| class="wikitable sortable"
! Aramäisch
! Umschrift
! Deutsch
| ! Anmerkung | | | | | | |
| ----------- | - | ---------- | - | ------------------------------- | - | ------------------------------------------------------------ |
| נהמא | | ''nahama'' | | Brot | | Häufiges Alltagswort. |
| - | | | | | | |
| נהרא | | ''nahara'' | | Fluss | | Je nach Wurzel und Kontext sind weitere Bedeutungen möglich. |
| - | | | | | | |
| נמי | | ''nami'' | | auch; ebenfalls | | Eines der häufigsten Adverbien. |
| - | | | | | | |
| ניחא | | ''niḥa'' | | verständlich; einleuchtend; gut | | Oft: „das ist verständlich, wenn ...“. |
| - | | | | | | |
| נפק | | ''nafaq'' | | hinausgehen; herauskommen | | Gegensatz zu „hineingehen“. |
| - | | | | | | |
| נחית | | ''naḥet'' | | hinabsteigen; heruntergehen | | Räumlich und übertragen. |
| - | | | | | | |
| נסיב | | ''nasiv'' | | nehmen; heiraten | | Kontextabhängig. |
| } | | | | | | |
== ס ==
{| class="wikitable sortable"
! Aramäisch
! Umschrift
! Deutsch
| ! Anmerkung | | | | | | |
| ----------- | - | ----------------- | - | ---------------------------------- | - | ----------------------------------------------------- |
| סבר | | ''səvar'' | | meinen; annehmen; der Ansicht sein | | Besonders bei juristischen Positionen. |
| - | | | | | | |
| סגי | | ''saggi'' | | viel; genug | | Adjektivisch oder adverbial. |
| - | | | | | | |
| סליק | | ''saliq'' | | hinaufsteigen; sich ergeben | | Auch übertragen. |
| - | | | | | | |
| סלקא דעתך | | ''salqa daʿtakh'' | | du könntest meinen | | Wörtl. etwa „es steigt in deinen Sinn“. |
| - | | | | | | |
| סיפא | | ''sefa'' | | Ende; letzter Teil | | Besonders der zweite Teil einer Mischna oder Baraita. |
| } | | | | | | |
== ע ==
{| class="wikitable sortable"
! Aramäisch
! Umschrift
! Deutsch
| ! Anmerkung | | | | | | |
| ----------- | - | --------- | - | ----------------------------- | - | ----------------------------------------- |
| עבד | | ''ʿavad'' | | tun; machen; arbeiten | | Sehr häufig. |
| - | | | | | | |
| על | | ''ʿal'' | | auf; über; wegen | | Präposition. |
| - | | | | | | |
| עלמא | | ''ʿalma'' | | Welt; Menschen; Allgemeinheit | | Z. B. „die Leute“. |
| - | | | | | | |
| עייל | | ''ʿayel'' | | hineingehen; hineinbringen | | Je nach Stamm transitiv oder intransitiv. |
| - | | | | | | |
| עובדא | | ''ʿuvda'' | | Tat; Vorfall; Fall | | Häufig bei berichteten Rechtsfällen. |
| } | | | | | | |
== פ ==
{| class="wikitable sortable"
! Aramäisch
! Umschrift
! Deutsch
| ! Anmerkung | | | | | | |
| ----------- | - | ---------- | - | ------------------------------------------- | - | ----------------------------------------------------------------- |
| פליג | | ''palig'' | | widersprechen; anderer Meinung sein; teilen | | In Diskussionen häufig „widersprechen“. |
| - | | | | | | |
| פריק | | ''pareq'' | | lösen; befreien; beantworten | | Kann die Lösung einer Schwierigkeit bezeichnen. |
| - | | | | | | |
| פשיטא | | ''pešita'' | | selbstverständlich; offensichtlich | | Leitet oft die Frage ein, warum eine Aussage überhaupt nötig ist. |
| } | | | | | | |
== ק ==
{| class="wikitable sortable"
! Aramäisch
! Umschrift
! Deutsch
| ! Anmerkung | | | | | | |
| ----------- | - | ----------- | - | ---------------------------------------- | - | -------------------------------------------------------- |
| קא | | ''qa'' | | Verlaufs-/Verbpartikel | | Häufig unmittelbar vor einem Verb. |
| - | | | | | | |
| קאמר | | ''qa-amar'' | | er sagt; er meint | | '''קא''' + Form von אמר. |
| - | | | | | | |
| קאי | | ''qaʾe'' | | stehen; sich befinden; sich beziehen auf | | Auch zur Erklärung, worauf eine Aussage Bezug nimmt. |
| - | | | | | | |
| קמא | | ''qamma'' | | erster; früherer | | Gegensatz: '''בתרא'''. |
| - | | | | | | |
| קמי | | ''qamme'' | | vor; vor jemandem | | Räumlich bzw. „in Gegenwart von“. |
| - | | | | | | |
| קם | | ''qam'' | | aufstehen; sich erheben | | Verb. |
| - | | | | | | |
| קרי | | ''qare'' | | lesen; nennen; rufen | | Kontext entscheidet. |
| - | | | | | | |
| קשיא | | ''qašya'' | | schwierig; Einwand bleibt bestehen | | Häufige Schlussformel nach einem ungelösten Widerspruch. |
| } | | | | | | |
== ר ==
{| class="wikitable sortable"
! Aramäisch
! Umschrift
! Deutsch
| ! Anmerkung | | | | | | |
| ----------- | - | ------------- | - | ------------------------------- | - | ---------------------------------------------------------------------------------- |
| רבא | | ''rabba'' | | groß; bedeutend | | Nicht immer mit dem Eigennamen des Amora Rava zu verwechseln. |
| - | | | | | | |
| רישא | | ''reša'' | | Kopf; Anfang; erster Teil | | In juristischen Texten oft erster Abschnitt einer Quelle. |
| - | | | | | | |
| רמי | | ''rami'' | | werfen; legen; gegenüberstellen | | In Diskussionen kann es das Gegenüberstellen widersprüchlicher Quellen bezeichnen. |
| - | | | | | | |
| ורמינהו | | ''u-reminhu'' | | man stellte dem entgegen | | Formel zur Einführung eines Widerspruchs zwischen Quellen. |
| } | | | | | | |
== ש ==
{| class="wikitable sortable"
! Aramäisch
! Umschrift
! Deutsch
| ! Anmerkung | | | | | | |
| ----------- | - | ---------------- | - | --------------------------------------- | - | -------------------------------------------------------------------------- |
| שבק | | ''šəvaq'' | | verlassen; lassen; erlauben | | Häufiges Verb. |
| - | | | | | | |
| שדר | | ''šaddar'' | | senden; schicken | | Verb. |
| - | | | | | | |
| שפיר | | ''šappir'' | | gut; richtig; angemessen | | Oft zustimmend: „zu Recht“. |
| - | | | | | | |
| שמע | | ''šəmaʿ'' | | hören | | Häufig auch im Sinne von „folgern/vernehmen“. |
| - | | | | | | |
| שמע מינה | | ''šəmaʿ minnah'' | | folgere daraus; daraus ist zu schließen | | Sehr wichtige Schlussformel. |
| - | | | | | | |
| שכח | | ''šəkaḥ'' | | finden | | Achtung: nicht automatisch nach neuhebräischem שכח „vergessen“ übersetzen. |
| - | | | | | | |
| שקיל | | ''šaqel'' | | nehmen; tragen | | Häufig in Paarung mit anderen Bewegungsverben. |
| } | | | | | | |
== ת ==
{| class="wikitable sortable"
! Aramäisch
! Umschrift
! Deutsch
| ! Anmerkung | | | | | | |
| ----------- | - | ------------ | - | ------------------------- | - | ------------------------------------------------------------------ |
| תא | | ''ta'' | | komm! | | Imperativ von „kommen“. |
| - | | | | | | |
| תא שמע | | ''ta šəmaʿ'' | | komm und höre! | | Einführung eines Belegs oder Gegenbelegs. |
| - | | | | | | |
| תו | | ''tu'' | | wieder; ferner; außerdem | | Häufige verbindende Partikel. |
| - | | | | | | |
| תורא | | ''tora'' | | Ochse; Rind | | Häufig in Rechtsfällen. |
| - | | | | | | |
| תלת | | ''telat'' | | drei | | Zahlwort. |
| - | | | | | | |
| תנן | | ''tənan'' | | wir haben gelernt | | Üblicherweise Einführung eines Mischna-Zitats. |
| - | | | | | | |
| תניא | | ''tanya'' | | es wurde gelehrt | | Meist Einführung einer Baraita. |
| - | | | | | | |
| תרי | | ''tere'' | | zwei | | Maskuline Zahlform. |
| - | | | | | | |
| תיקו | | ''tequ'' | | die Frage bleibt ungelöst | | Talmudische Schlussformel bei einer unentschiedenen Fragestellung. |
| } | | | | | | |
== Häufige talmudische Wendungen ==
{| class="wikitable"
! Wendung
! Deutsche Wiedergabe
| ! Funktion | | | | |
| ------------ | - | --------------------------------- | - | ------------------------------------------- |
| מאי טעמא | | Warum? / Aus welchem Grund? | | Frage nach der Begründung |
| - | | | | |
| מנא הני מילי | | Woher wissen wir dies? | | Frage nach der textlichen Grundlage |
| - | | | | |
| תא שמע | | Komm und höre | | Einführung eines Belegs |
| - | | | | |
| שמע מינה | | Daraus ist zu schließen | | Schlussfolgerung |
| - | | | | |
| פשיטא | | Das ist doch selbstverständlich | | Einleitung einer Schwierigkeit |
| - | | | | |
| מהו דתימא | | Man hätte meinen können | | Einführung einer verworfenen Möglichkeit |
| - | | | | |
| סלקא דעתך | | Du könntest meinen | | Hypothetische Annahme |
| - | | | | |
| איבעיא להו | | Ihnen stellte sich die Frage | | Einführung einer offenen Frage |
| - | | | | |
| מיתיבי | | Man erhob einen Einwand | | Einwand aus einer autoritativen Quelle |
| - | | | | |
| ורמינהו | | Man stellte dagegen | | Widerspruch zwischen Quellen |
| - | | | | |
| קשיא | | Es bleibt schwierig | | Widerspruch nicht vollständig gelöst |
| - | | | | |
| תיקו | | Die Frage bleibt offen | | Abschluss einer ungelösten Fragestellung |
| - | | | | |
| הכי קאמר | | So ist seine Aussage zu verstehen | | Neuinterpretation |
| - | | | | |
| הכי נמי | | Ebenso auch hier | | Analogie oder Zustimmung |
| - | | | | |
| אלמא | | Daraus folgt also | | Schlussfolgerung |
| - | | | | |
| דילמא | | Vielleicht aber ... | | Einführung einer Alternative |
| - | | | | |
| אמר מר | | Der Meister sagte | | Wiederaufnahme eines zuvor zitierten Textes |
| - | | | | |
| גופא | | Zur Sache selbst | | Rückkehr zu einem zuvor erwähnten Thema |
| } | | | | |
== Zahlen ==
{| class="wikitable"
! Zahl
! Aramäisch
! Umschrift
| ! Deutsch | | | | | | |
| --------- | - | ---- | - | ---------- | - | ------ |
| 1 | | חד | | ''ḥad'' | | eins |
| - | | | | | | |
| 2 | | תרי | | ''tere'' | | zwei |
| - | | | | | | |
| 3 | | תלת | | ''telat'' | | drei |
| - | | | | | | |
| 4 | | ארבע | | ''arbaʿ'' | | vier |
| - | | | | | | |
| 5 | | חמש | | ''ḥameš'' | | fünf |
| - | | | | | | |
| 6 | | שית | | ''šet'' | | sechs |
| - | | | | | | |
| 7 | | שבע | | ''šəvaʿ'' | | sieben |
| - | | | | | | |
| 8 | | תמני | | ''temane'' | | acht |
| - | | | | | | |
| 9 | | תשע | | ''təšaʿ'' | | neun |
| - | | | | | | |
| 10 | | עשר | | ''ʿasar'' | | zehn |
| } | | | | | | |
== Personalpronomen ==
{| class="wikitable"
! Person
! Aramäisch
| ! Deutsch | | | | |
| --------- | - | -------- | - | --- |
| 1. Sg. | | אנא | | ich |
| - | | | | |
| 2. Sg. | | את / אנת | | du |
| - | | | | |
| 3. Sg. m. | | איהו | | er |
| - | | | | |
| 3. Sg. f. | | איהי | | sie |
| - | | | | |
| 1. Pl. | | אנן | | wir |
| - | | | | |
| 2. Pl. | | אתון | | ihr |
| - | | | | |
| 3. Pl. | | אינהו | | sie |
| } | | | | |
== Wichtige Fragewörter ==
{| class="wikitable"
! Aramäisch
! Deutsch
| ! Beispiel | | | | |
| ---------- | - | --------- | - | ------------------------------ |
| מאי | | was? | | מאי טעמא – warum? |
| - | | | | |
| מאן | | wer? | | מאן אמר – wer sagte? |
| - | | | | |
| אמאי | | warum? | | אמאי – warum? |
| - | | | | |
| היכא | | wo? | | היכא – wo? |
| - | | | | |
| היכי | | wie? | | היכי דמי – wie liegt der Fall? |
| - | | | | |
| אימת | | wann? | | Frage nach dem Zeitpunkt |
| - | | | | |
| כמה | | wie viel? | | Frage nach Menge oder Zahl |
| - | | | | |
| מנא | | woher? | | מנא הני מילי |
| } | | | | |
== Falsche Freunde und leicht zu verwechselnde Wörter ==
; שכח
: Im Jüdisch-Babylonischen Aramäisch häufig „finden“. Dies darf nicht ohne Weiteres mit dem neuhebräischen '''שכח''' „vergessen“ gleichgesetzt werden.
; חמרא
: Kann je nach Kontext „Wein“ oder „Esel“ bedeuten.
; בר
: Kann „Sohn“ bedeuten, aber eine formal gleiche bzw. ähnliche Form kann auch mit der Bedeutung „außerhalb“ auftreten.
; מילתא
: Bedeutet nicht nur „Wort“, sondern sehr häufig auch „Sache“, „Angelegenheit“ oder „Aussage“.
; טעמא
: Kann „Geschmack“ bedeuten, im argumentativen Sprachgebrauch des Talmuds jedoch häufig „Grund“ oder „Begründung“.
; קאי
: Bedeutet ursprünglich „stehen“, wird aber sehr häufig abstrakter gebraucht, etwa „sich befinden“, „gelten“ oder „sich auf etwas beziehen“.
== Benutzung des Wörterbuchs ==
Beim Übersetzen sollte nicht automatisch die erste deutsche Bedeutung gewählt werden. Sinnvoll ist folgende Reihenfolge:
# die grammatische Form bestimmen,
# Präfixe wie ב־, ל־, כ־ und ד־ erkennen,
# pronominale Suffixe abtrennen,
# die Grundform bestimmen,
# den Satzkontext berücksichtigen,
# anschließend ein wissenschaftliches Wörterbuch konsultieren.
Besonders wichtig ist dies beim Babylonischen Talmud, da sich die Sprache der mittelalterlichen und modernen Druckausgaben teilweise von den in älteren Handschriften überlieferten Formen unterscheidet.
== Weiterführende Wörterbücher ==
* Michael Sokoloff: ''A Dictionary of Jewish Babylonian Aramaic of the Talmudic and Geonic Periods''. 2., überarbeitete und erweiterte Auflage. Bar-Ilan University Press, Ramat Gan 2020.
* Marcus Jastrow: ''A Dictionary of the Targumim, the Talmud Babli and Yerushalmi, and the Midrashic Literature''. London/New York 1903.
* Elitzur A. Bar-Asher Siegal: ''Introduction to the Grammar of Jewish Babylonian Aramaic''. 2., überarbeitete und erweiterte Auflage. Ugarit-Verlag, Münster 2016.
== Siehe auch ==
* [[Talmudisches Aramäisch/Grammatik|Grammatik]]
* [[Talmudisches Aramäisch/Verben|Verben]]
* [[Talmudisches Aramäisch/Partikeln|Partikeln]]
* [[Talmudisches Aramäisch/Übungen|Übungen]]
* [[Talmudisches Aramäisch/Lesestücke|Lesestücke]]
[[Kategorie:Aramäische Sprache]]
[[Kategorie:Wörterbuch]]
cmnjm0svrgpsvbxaymovvrce5ajyih6
Traktorenlexikon: Allis-Chalmers 7000
0
123143
1091122
2026-09-19T20:54:03Z
Baupit
56622
Neue Seite (vgl. [[WB:AZ]])
1091122
wikitext
text/x-wiki
{{:Traktorenlexikon: Navigation |HERSTELLER-LINK=Traktorenlexikon: Allis-Chalmers |HERSTELLER= Allis-Chalmers}}
{{:Traktorenlexikon: Modell-Infobox
| HERSTELLER = ALLIS-CHALMERS
| MODELLREIHE = 7.000 er - Baureihe
| MODELL = 7000
| BILD =
| BILDBESCHREIBUNG =
| BAUWEISE = Blockbauweise
| PRODUKTIONSBEGINN = 1975
| PRODUKTIONSENDE = 1979
| STÜCKZAHL = 7.264
| EIGENGEWICHT = 3.869
| LÄNGE = 4.648
| BREITE = 2.248
| HÖHE = 2.235
| RADSTAND = 2.692
| BODENFREIHEIT = 610
| SPURWEITE =
| SPURWEITE VORNE = 1.524-2.235
| SPURWEITE HINTEN = 1.575-2.159
| WENDERADIUS MIT LENKBREMSE = 3.645
| WENDERADIUS OHNE LENKBREMSE = 4.191
| BEREIFUNG VORNE = 10.00-16 ASF
| BEREIFUNG HINTEN = 18.4-38 AS
| LEISTUNG KW = 79,4
| LEISTUNG PS = 108
| NENNDREHZAHL = 2.200
| ZYLINDER = 6
| HUBRAUM = 4.929
| DREHMOMENTANSTIEG =
| KRAFTSTOFF = Diesel
| KÜHLSYSTEM = Wasserkühlung
| ANTRIEBSTYP = Heckantrieb
| GETRIEBE = 12 V/3 R
| HÖCHSTGESCHWINDIGKEIT = 30
| KATEGORIESORTIERUNG =
}}
Die 7000 er - Baureihe wurde komplett neu konstruiert. Auch ein kleines Modell war geplant, allerdings zeigte Kostenkalkulationen dass es zu teuer wäre. In der Folge wurde der ALLIS-CHALMERS 200 überarbeitet und als ALLIS-CHALMERS 7000 vorgestellt. Er wurde in zwei optisch unterschiedlichen Versionen angeboten, mit einem frühen kastanienbraunen Fahrgestell und einem späteren schwarzen Fahrgestell, jeweils mit unterschiedlichen Kabinen- und Getriebespezifikationen. Die Variante mit schwarzem Rahmen erhielt eine verbesserte ACOUSTA-Kabine und eine ölbadgekühlte Fahrkupplung.
==Motor==
* ALLIS-CHALMERS, Typ: 649 T, stehender-wassergekühlter Viertakt-Sechszylinder-Reihen-OHC-Saugmotor mit Direkteinspritzverfahren, hängenden Ventilen, zahnradgetriebener Nockenwelle, Kolben-Ölkühlung, ROOSA-MASTER-Einspritzpumpe, Leichtmetall-Kolben, Trockenluftfilter, siebenfach-gelagerter Kurbelwelle, mechanischer Fliehkraftregler, Turbolader, Druckumlaufschmierung mittels Zahnradpumpe, Motorölkühler, Mehrlochdüse und Lamellenkühler mit Lüfter.
* Bohrung = 98,43 mm, Hub = 107,95 mm
* Verdichtungsverhältnis = 16,25:1
* Max. Drehmoment = 420 Nm bei 1.800 U/min.
* Mittlere Kolbengeschwindigkeit = 7,92 m/s
* Geregelter Drehzahlbereich = 775 bis 2.420 U/min
* Max. Einspritzdruck = 245 bar
==Kupplung==
* Pedal-betätigte, trockene Einscheibenkupplung Typ: 12"
Fahrkupplung mit 304,8 mm Scheibendurchmesser
* Interne-nasse Lamellenkupplung als Zapfwellenkupplung ausgebildet
Lamellendurchmesser = 177,8 mm
==Getriebe==
* Im Ölbad laufendes, synchronisiertes POWER-DIRECTOR-Getriebe
* Wechselgetriebe mit vier Vorwärts-und einem Rückwärtsgang
* Dreistufige hydraulische Lastschaltung, sie teilt jeden der mechanischen Gänge in drei hydraulische Stufen (LOW / DIRECT / OVERDRIVE)
12 Vorwärts- und 3 Rückwärtsgänge
==Geschwindigkeiten vor- und rückwärts==
"Geschwindigkeiten mit Bereifung 18.4-38 AS"
{| class="wikitable"
|-
! bei Motordrehzahl (U/min) !! 2.200
|-
! STUFE - LOW ||
|-
| 1.Gang || 3,06 km/h
|-
| 2.Gang || 6,28 km/h
|-
| 3.Gang || 8,53 km/h
|-
| 4.Gang || 19,79 km/h
|-
| 1.Rückwärtsgang || 5,79 km/h
|-
! STUFE - DIRECT ||
|-
| 1.Gang || 3,86 km/h
|-
| 2.Gang || 8,05 km/h
|-
| 3.Gang || 10,78 km/h
|-
| 4.Gang || 24,94 km/h
|-
| 2.Rückwärtsgang || 7,24 km/h
|-
! STUFE - OVERDRIVE !!
|-
| 1.Gang || 4,99 km/h
|-
| 2.Gang || 9,98 km/h
|-
| 3.Gang || 13,52 km/h
|-
| 4.Gang || 31,06 km/h
|-
| 3.Rückwärtsgang || 9,01 km/h
|-
|}
==Zapfwelle==
* Mechanisch-betätigte, unabhängige und lastschaltbare Motorzapfwelle
* Stummel = 1 3/8"- 6 Keile oder 1 3/8"- 20 teilig
* Zweifach schaltbar, 540/1.000 U/min.
* 540 U/min. mit 2.121 U/min.- Motordrehzahl
* 1.000 U/min. mit 2.159 U/min.- Motordrehzahl
Übertragbare Leistung = 107,3 DIN-PS
* Oder 1.019 U/min. mit Nenndrehzahl
Übertragbare Leistung = 107,9 DIN-PS
==Bremsen==
* Pedal-betätigte, Doppel-Scheibenbremse auf die Differentialseitenwellen wirkend, als Einzelrad-Bremse ausgebildet
* Handhebel-betätigte Feststellbremse auf die Getriebe-Zwischenwelle wirkend
==Achsen==
* Pendelnd-aufgehängte Stahlvorderachse
Verstellbare Spurweite = 1.524 bis 2.235 mm
* Hinterachse mit Kegelradgetriebe und Endantrieb als Stirnradübersetzung
* Mechanisch-betätigte Differentialsperre
Verstellbare Spurweite = 1.575 bis 2.159 mm (Optional bis 2.845 mm)
* Vordere Achslast = 1.343 kg
* Hintere Achslast = 2.989 kg
==Lenkung==
* Hydrostatische Lenkung
==Hydrauliksystem und Kraftheber==
* Hydraulischer Blockkraftheber mit Unterlenkerregelung
* Einfachwirkender Hubzylinder
* Dreipunktkupplung der Kategorie II
"Funktionen:"
* Heben, Senken, Schwimmstellung, Zugkraft- und Lageregelung
* OPEN-CENTER mit Zahnradpumpe mit 79,5 l/min bei 175 bar und Nenndrehzahl
Max. Hubkraft 610 mm hinter den Koppelpunkten = 2.941 kg
==Steuergeräte==
* Ein einfach- oder doppelt-wirkendes Steuergerät
* Auf Wunsch bis zu drei einfach- oder doppelt-wirkende Steuergeräte
==Elektrische Ausrüstung==
"12 Volt-Einrichtung"
==Maße und Abmessungen==
* Länge über alles = 4.648 mm
* Breite je nach Spurweite = 2.248 bis 2.946 mm
* Höhe über Motorhaube = 1.753 mm
* Höhe über Lenkrad = 2.235 mm
* Höhe über Auspuff = 2.870 mm
* Radstand = 2.692 mm
* Bodenfreiheit unter der Vorderachse = 610 mm
* Betriebsgewicht = 4.332 kg
==Bereifung==
"Standardbereifung:"
* Vorne = 10.00-16 AS Front
* Hinten = 18.4-38 AS
"Optional:"
* Vorne = 7.50-20, 11 L-15 und 9.5 L-15 AS Front
* Hinten = 16.9-34, 20.8-34, 23.1-30, 16.9-38 und 18.4-34 AS
==Füllmengen==
* Tankinhalt = 140,0 l
* Motoröl mit Filter = 13,2 l
* Kühlsystem = 21,3 l
* Getriebe = 11,4 l
* Differential = 30,3 l
* Getriebe und Hydraulik = 34,0 l
* Endantrieb je 5,7 l
==Verbrauch==
* Kraftstoffverbrauch = 25,8 l/h bei 79,4 kW und Nenndrehzahl
==Kabine==
* Fahrerstand mit seitlichem Aufstieg, Schutzrahmen, gefederten Sitz, Öldruck- und Batterieanzeige, Motortemperaturanzeige, Blinker und Luftfilteranzeige, Traktormeter mit Anzeige der Motor- und Zapfwellendrehzahlen und der Betriebsstunden.
"Optional bzw. ab 1978 serienmäßig"
* Kabine mit Komfort-Sitz, Heizung, Klimaanlage und Arbeitsscheinwerfer
==Sonderausrüstung==
* Kabine
* Zusatzgewichte
* Arbeitsscheinwerfer
* Heizung
==Literatur & Weblinks==
* tractordata.com
* Allis-Chalmers Agricultural Equipment Brochure
* koneviesti.fi
* digitalcommons.unl.edu (Test-Nr. 1195/75)
<references />
{{:Traktorenlexikon: Navigation |HERSTELLER-LINK=Traktorenlexikon: Allis-Chalmers |HERSTELLER= Allis-Chalmers}}
m6ea7i7d1hsc2gmxo1xnl930z00sbmr