Hauptinhalt

isfield

Ermitteln, ob eine Eingabe ein Strukturarray-Feld ist

Beschreibung

TF = isfield(S,field) gibt 1 zurück, wenn field der Name eines Felds des Strukturarrays S ist. Andernfalls gibt die Funktion 0 zurück.

Wenn es sich bei field um ein Array mit mehreren Namen und bei S um ein Strukturarray handelt, ist TF ein logisches Array mit derselben Größe.

Wenn S kein Strukturarray ist, gibt isfield 0 zurück.

Beispiel

Beispiele

alle reduzieren

Erstellen Sie eine Struktur.

S.x = linspace(0,2*pi);
S.y = sin(S.x);
S.title = 'y = sin(x)'
S = struct with fields:
        x: [0 0.0635 0.1269 0.1904 0.2539 0.3173 0.3808 0.4443 0.5077 0.5712 0.6347 0.6981 0.7616 0.8251 0.8885 0.9520 1.0155 1.0789 1.1424 1.2059 1.2693 1.3328 1.3963 1.4597 1.5232 1.5867 1.6501 1.7136 1.7771 1.8405 1.9040 1.9675 … ] (1×100 double)
        y: [0 0.0634 0.1266 0.1893 0.2511 0.3120 0.3717 0.4298 0.4862 0.5406 0.5929 0.6428 0.6901 0.7346 0.7761 0.8146 0.8497 0.8815 0.9096 0.9341 0.9549 0.9718 0.9848 0.9938 0.9989 0.9999 0.9969 0.9898 0.9788 0.9638 0.9450 0.9224 … ] (1×100 double)
    title: 'y = sin(x)'

Ermitteln Sie, ob 'title' der Name eines Feldes von S ist.

TF = isfield(S,'title')
TF = logical
   1

Sie können mit einem Aufruf der isfield-Funktion mehrere Namen testen, indem Sie diese in einem Zellenarray oder String Array angeben.

field = {'x','y','z','title','error'};
TF = isfield(S,field)
TF = 1×5 logical array

   1   1   0   1   0

Eingabeargumente

alle reduzieren

Strukturarray.

Potenzielle Feldnamen, angegeben als Zeichenvektor, Zellenarray aus Zeichenvektoren oder String Array.

Tipps

  • Wenn es sich bei dem Eingabeargument S um ein Objekt handelt, gibt isfield immer 0 zurück, auch wenn field der Name einer Eigenschaft ist.

    Um zu ermitteln, ob ein Name der Name einer Eigenschaft oder eines Objekts ist, verwenden Sie die Funktion isprop.

Erweiterte Fähigkeiten

alle erweitern

Versionsverlauf

Eingeführt vor R2006a