Hauptinhalt

sign

Vorzeichenfunktion (Signumfunktion)

Syntax

Beschreibung

Y = sign(x) gibt ein Array Y mit derselben Größe wie x zurück, wobei jedes Element von Y einen der folgenden Werte aufweist:

  • 1, wenn das entsprechende Element von x größer als 0 ist.

  • 0, wenn das entsprechende Element von x gleich 0 ist.

  • -1, wenn das entsprechende Element von x kleiner als 0 ist.

  • x./abs(x), wenn x komplex ist.

Beispiel

Beispiele

alle reduzieren

Ermitteln Sie die Vorzeichenfunktion einer Zahl.

sign(2)
ans = 
1

Ermitteln Sie die Vorzeichenfunktion der Werte eines Vektors.

V = [-11 0 1.5 Inf NaN];
sign(V)
ans = 1×5

    -1     0     1     1   NaN

Ermitteln Sie die Vorzeichenfunktion der Werte einer Matrix.

M = magic(3) - 5;
sign(M)
ans = 3×3

     1    -1     1
    -1     0     1
    -1     1    -1

Ermitteln Sie die Vorzeichenfunktion einer komplexen Zahl.

z = 4 - 3*i;
sign(z)
ans = 
0.8000 - 0.6000i

Plotten Sie die Vorzeichenfunktion und zeigen Sie ihr Verhalten beim Nulldurchgang. Verwenden Sie eps zur Darstellung von Werten knapp über und unter 0.

x = [-5 -eps(1) 0 eps(1) 5];
y = sign(x);
plot(x,y)
ylim([-2 2])
grid on

Figure contains an axes object. The axes object contains an object of type line.

Plotten Sie die Real- und Imaginärteile der Vorzeichenfunktion im Bereich -3<x<-3 und -3<y<3.

Erstellen Sie zunächst mithilfe von meshgrid ein Netz von Werten für -3 < x < 3 und -3 < y < 3. Erstellen Sie dann mithilfe von z = x + 1i*y aus diesen Werten komplexe Zahlen.

v = -3:0.1:3;
[x, y] = meshgrid(v);
z = x + 1i*y;

Plotten Sie die Real- und Imaginärteile der Vorzeichenfunktion von z.

s = sign(z);
re = real(s);
im = imag(s);

Plotten Sie die Real- und Imaginärteile.

surf(x,y,re)
title('Real part of sign function')
xlabel('x')
ylabel('y')

Figure contains an axes object. The axes object with title Real part of sign function, xlabel x, ylabel y contains an object of type surface.

figure(2)
surf(x,y,im)
title('Imaginary part of sign function')
xlabel('x')
ylabel('y')

Figure contains an axes object. The axes object with title Imaginary part of sign function, xlabel x, ylabel y contains an object of type surface.

Eingabeargumente

alle reduzieren

Eingabe, angegeben als Skalar, Vektor, Matrix oder mehrdimensionales Array.

Wenn ein Element von x NaN ist, gibt sign im entsprechenden Element der Ausgabe NaN zurück.

Datentypen: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | duration
Unterstützung komplexer Zahlen: Ja

Erweiterte Fähigkeiten

alle erweitern

C/C++ Codegenerierung
Generieren Sie C und C++ Code mit MATLAB® Coder™.

GPU-Codegenerierung
Generieren von CUDA® Code für NVIDIA® Grafikprozessoren mit dem GPU Coder™.

Versionsverlauf

Eingeführt vor R2006a

Siehe auch

| | |