Nach den ersten vier Kapiteln haben Sie nun alle grundlegenden und fortgeschrittenen Kenntnisse zum Programmieren mit matlab erlangt und sind in der Lage verschiedene Aufgaben zu lösen. Dabei sollten Sie Skripte und Funktionen nutzen, Kontrollstrukturen verwenden und verschiedene optische Darstellungsmöglichkeiten anwenden können. In diesem abschließenden Kapitel sollen Sie all dies verwenden und eine komplexere Aufgabe lösen.
Nachdem Sie alle vorherigen Kapitel abgeschlossen haben, sollten Sie nun in der Lage sein die folgenden Aufgabenstellung zu bewältigen.

Abschlussaufgabe

Sie sollen ein Skript schreiben indem drei beliebige Polynome* implementiert sind. Als Ausgabe soll man dann drei Koordinatensysteme erhalten, in der jeweils zwei der drei Polynome sowie deren Summe im Intervall -10 bis 10 dargestellt werden. Dazu sollen im Command Window Tabellen erscheinen, welche die beiden Polynome sowie deren Summe an den Punkten -10 bis 10 in einer Schritten auswertet. In einer weiteren Tabelle sollen die drei summierten Polynome auf ihre Differenzen zueinander an diesen Stellen untersucht werden.

* Ein Polynom in matlab soll über den Koeffizietenvektor dargestellt werden. Das heißt ein Vektor mit einem Element ist ein Polynom nullten Grades. Ein Vektor mit zwei Elementen wird als Polynom ersten Grades gesehen. Ein dreikomponentiger Vektor als Polynom zweites Grades usw. Dabei steht der Koeffizent der größten Potenz immer an erster Stelle.

Lesen Sie sich die Aufgabe noch einmal genau durch und überlegen Sie sich, was genau zu tun ist. Ziehen Sie gegebenenfalls die vorherigen Abschnitte zu Rate, wie man Skripte erstellt oder Funktionen nutzt, um wiederholenden Code auszulagern.
Lesen Sie gegebenenfalls nach, wie man einen Graphen zeichnet, oder eine Tabelle erstellt, um die Ausgabe möglichst freundlich zu gestalten. Beachten Sie ebenfalls den obigen Abschnitt zum Thema Polynome.

Es sollen drei Polynome schon im Skript implementiert werden. Dazu sollen als Ausgabe drei Koordinatensysteme erstellt werden in denen jeweils zwei der drei Polynome sowie deren Summe zu sehen sind.
Dazu soll zu jedem Koordinatensystem eine Tabelle ausgegeben werden, welche die drei gezeichneten Graphen im Intervall von -10 bis 10 jedoch in einer Schritten auswertet.
Abschließend soll eine weitere Tabelle erstellt werden, welche die Differenzen der drei summierten Polynome zueinander ausgibt.

In dieser Aufgabe geht es u.a. darum, dass man verschiedene Polynome miteinander addiert. Da diese als Vektor dargestellt werden sollen, indem die Koeffizieten stehen, ist es mathematisch relevant, dass diese die gleiche Länge haben, was bei Polynomen von unterschiedlichem Grad nicht gegeben ist.
Daher muss man zunächst die Vektoren auf die gleiche Länge bringen indem die höheren Potenzen mit einer 0 geschrieben werden.
Also beispielsweise möchte man x+5 und x^2+x+3 addieren. Diese werden als Vektoren [1 5] und [1 1 3] dargestellt. Um sie auf die gleiche Länge zu bringen, muss man den ersten also als
[0 1 5] schreiben, um die Vektoren gemäß der mathematischen Definition der Vektoraddition summieren zu können.

Im weiteren sollen diese Polynome in Tabelle und Graphen ausgewertet werden, was bedeutet, dass man sie an den jeweiligen Punkten des Definitionsbereichs ausrechnen muss, um die Zahlenpaare zu haben, welche man im Koordinatensystem eintragen und verbinden kann.
Dies wird am leichtesten über das Horner-Schema realisiert. Das heißt ein Polynom p(x) = 2x^4-5x^3+x^2+2x+3 wird als p(x) = ((((2x)-5)x+1)x+2)x+3 geschrieben. Die Potenzen werden somit in eine Reihe von Multiplikationen aufgelöst.
Möchte man jetzt p(2) ausrechnen ergibt sich ((((2*2-5)*2+1)*2+2)*2+3 = 3.
Das heißt, man multipiziert den ersten Koeffizienten mit dem Argument und addiert bzw. subtrahiert dann den zweiten Koeffizienten dazu und multipliziert erneut mit dem Argument usw.

Übersetzung der mathematischen Inhalte in matlab-Code

Aufgabe1

Eine mögliche Lösung für Aufgabe 12

Aufgabe1

Eine elegantere Variante zur Lösung für Aufgabe 12

Aufgabe1

Funktionen zum Addieren und Auswerten von Polynomen



Ploten von Polynomen



Wertetabellen der Polynome mit fprintf erstellen



Zusatz: plot und fprintf in Funktionen auslagern


News

01. April 2015 | Grundversion verfügbar

Inhalt:

Marcus Bether, Michael Klöppel

Technische Umsetzung:

Marcus Bether, Michael Klöppel

Kontakt:

Jörg Wensch
E-Mail: