tutorial:matlab
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
tutorial:matlab [2015/02/09 20:48] – angelegt ninux | tutorial:matlab [2015/02/09 21:35] (aktuell) – [get und set Methoden] ninux | ||
---|---|---|---|
Zeile 18: | Zeile 18: | ||
Viele Programme welche für MATLAB geschrienben sind, lassen sich auch mit [[topics: | Viele Programme welche für MATLAB geschrienben sind, lassen sich auch mit [[topics: | ||
- | ===== Wie Funktioniert MATLAB | + | ====== Grundlagen ====== |
- | ==== Skript ==== | + | ===== Skript ===== |
+ | Im MATLAB kann ein Skript erstellt werden welches abgearbeitet werden kann. Dieses Skript wird zeilenweise abgearbeitet und nimmt keine Argumente auf noch gibt es etwas zurück (Konsolenausgaben ausgeschlossen). | ||
- | ==== Funktion ==== | + | Ein minimales Beispiel für ein solches Skript wäre |
+ | <code matlab |main.m> | ||
+ | a = 2; | ||
+ | b = 5; | ||
+ | a + b | ||
+ | </ | ||
+ | Dieses Skript kann mit dem Befehl '' | ||
- | ==== Klassen | + | ===== Funktion |
+ | Funktionen können im Gegensatz zu einem Skript Argumenten aufnehmen und Rückgaben geben. Das folgende Beispiel soll das, was im Beispiel für das Skript gezeigt wurde, als Funktion implementieren. | ||
+ | <code matlab |foo.m> | ||
+ | function result = foo(a, b) | ||
+ | result = a + b; | ||
+ | end | ||
+ | </ | ||
+ | Die Syntax einer Funktion im MATLAB ist relativ einfach. Die Funktion ist zunächst mal platziert zwischen den Schlüsselwörtern '' | ||
- | === Handle === | + | Die Funktion kann dann im einem Skript oder auf der Kommandozeile von MATLAB aufgerufen werden. |
+ | <code matlab |main.m> | ||
+ | foo(2, 5) | ||
+ | </ | ||
- | === Value === | + | Typisch werden Funktionen mit einem Kommentar versehen, damit der Benutzer interaktiv die Funktionsbeschreibung abrufen kann. Diese Kommentare folgen einer bestimmten Syntax. Im folgenden soll das Beispiel für die obige Funktion dargestellt werden. |
+ | <code matlab |foo> | ||
+ | function result | ||
+ | % FOO | ||
+ | % Calculates the sum of two numbers. | ||
+ | % | ||
+ | % FOO(a, b) | ||
+ | % Returns the sum of a and b. | ||
+ | result | ||
+ | end | ||
+ | </ | ||
+ | Diese Dokumentation die als Kommentar in der Funktion hinterlegt ist, kann mit dem Befehl '' | ||
+ | <code matlab> | ||
+ | help(' | ||
+ | </ | ||
+ | ===== Klassen ===== | ||
+ | Im Gegensatz zu Java gibt es im MATLAB ähnlich wie in C++ verschiedene Klassentypen. Zum einen die handle Klassen und zum andere die value Klassen. Handle Kalssen sind das was man aus Java kennt. Diese Klassen beinhalten Daten welche manipuliert werden können. | ||
+ | |||
+ | ==== Handle ==== | ||
+ | |||
+ | <code matlab |person.m> | ||
+ | classdef Person | ||
+ | % PERSON | ||
+ | % Class for representing a person. | ||
+ | |||
+ | properties (GetAccess = ' | ||
+ | age; | ||
+ | end | ||
+ | |||
+ | % constructors | ||
+ | methods | ||
+ | function obj = Person(name; | ||
+ | % PERSON | ||
+ | % Constructor for a Person. | ||
+ | % | ||
+ | % Person(n, a, g) | ||
+ | % Creates a Person object with the name n, | ||
+ | % the age a and the gender g. | ||
+ | obj.name = name; | ||
+ | obj.age = age; | ||
+ | obj.gender = gender; | ||
+ | end | ||
+ | end | ||
+ | |||
+ | % getter | ||
+ | methods | ||
+ | function value = getAge(obj) | ||
+ | value = obj.age; | ||
+ | end | ||
+ | end | ||
+ | |||
+ | % setter | ||
+ | methods | ||
+ | function obj = setAge(obj, age) | ||
+ | obj.age = age; | ||
+ | end | ||
+ | end | ||
+ | |||
+ | end | ||
+ | </ | ||
+ | |||
+ | ==== Value ==== | ||
+ | |||
+ | ==== get & set ==== |
tutorial/matlab.1423514919.txt.gz · Zuletzt geändert: 2015/02/09 20:48 von ninux