tutorial:matlab
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
tutorial:matlab [2015/02/09 21:14] – [Funktion] 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). | 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). | ||
Zeile 31: | Zeile 31: | ||
Dieses Skript kann mit dem Befehl '' | Dieses Skript kann mit dem Befehl '' | ||
- | ==== Funktion ==== | + | ===== 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. | 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> | <code matlab |foo.m> | ||
Zeile 49: | Zeile 49: | ||
function result = foo(a, b) | function result = foo(a, b) | ||
% FOO | % FOO | ||
- | % | + | % |
% | % | ||
- | % | + | % |
% Returns the sum of a and b. | % Returns the sum of a and b. | ||
result = a + b; | result = a + b; | ||
end | end | ||
</ | </ | ||
- | ==== Klassen ==== | + | 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. Value Klassen dagegen machen für die Manipulation eine Kopie der Daten und bearbeiten diese Kopien. Somit gibt es bei value Klassen keine persistente Änderung der Daten ausser man vollzieht ein explizites Kopieren. | ||
- | === Handle === | + | ==== Handle |
<code matlab |person.m> | <code matlab |person.m> | ||
Zeile 66: | Zeile 71: | ||
properties (GetAccess = ' | properties (GetAccess = ' | ||
- | name: | ||
age; | age; | ||
- | gender; | ||
end | end | ||
| | ||
% constructors | % constructors | ||
methods | methods | ||
- | | ||
function obj = Person(name; | function obj = Person(name; | ||
% PERSON | % PERSON | ||
Zeile 84: | Zeile 86: | ||
obj.age = age; | obj.age = age; | ||
obj.gender = gender; | 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 | end | ||
| | ||
Zeile 91: | Zeile 106: | ||
</ | </ | ||
- | === Value === | + | ==== Value ==== |
+ | |||
+ | ==== get & set ==== |
tutorial/matlab.1423516490.txt.gz · Zuletzt geändert: 2015/02/09 21:14 von ninux