Maskierung in MATLAB
Dieses Tutorial demonstriert das Konzept der Maskierung in MATLAB.
Maskierung in MATLAB
Eine Maske
wird als benutzerdefinierte Schnittstelle für einen Block betrachtet, die verwendet wird, um den Inhalt dieses Blocks zu verbergen und ihn als atomaren Block mit dem angegebenen Parameterdialogfeld und dem Symbol des Blocks erscheinen zu lassen.
Die Maske kapselt die Logik des Blocks und bietet kontrollierten Zugriff auf die Blockdaten; es vereinfacht auch das grafische Erscheinungsbild des Modells.
Eine Maskendefinition wird erstellt und mit dem Block gespeichert, wenn wir einen Block maskieren. Eine Maske ändert die Eigenschaften eines Blocks nicht; es wird nur die Schnittstelle des Blocks ändern.
Wir können Zugriff auf einen oder mehrere zugrunde liegende Blockparameter bereitstellen, indem wir den Maskenparameter für die Maske definieren. Das Maskieren kann aus den folgenden Gründen verwendet werden.
- Um ein Symbol auf dem Block anzuzeigen.
- Wenn ein angepasstes Dialogfeld für den Block benötigt wird.
- Initialisieren von Parametern mit MATLAB-Code.
- Wenn eine kundenspezifische Beschreibung benötigt wird, die für den maskierten Block spezifisch ist.
Neben dem Maskeneditor können wir auch logische Maskierung mit MATLAB-Code generieren. Hier ist ein Beispiel.
%random structure with size(x) = size(y) = size(z)
Demo_Struct.x = round(rand(3,7)*2-1);
Demo_Struct.y = round(rand(3,7)*2-1);
Demo_Struct.z = round(rand(3,7)*2-1);
%logical mask
mask = Demo_Struct.x>=0;
%applying the mask to each field
New_Struct = structfun(@(p) p(mask),Demo_Struct,'UniformOutput',0)
Der obige Code versucht, eine Maske aus einem der Felder eines Strukturdatentyps zu erstellen und wendet sie dann auf die gesamte Struktur an. Die Ausgabe zeigt, dass die Maske auf die gesamte Struktur angewendet wird.
New_Struct =
x: [15x1 double]
y: [15x1 double]
z: [15x1 double]
Sheeraz is a Doctorate fellow in Computer Science at Northwestern Polytechnical University, Xian, China. He has 7 years of Software Development experience in AI, Web, Database, and Desktop technologies. He writes tutorials in Java, PHP, Python, GoLang, R, etc., to help beginners learn the field of Computer Science.
LinkedIn Facebook