Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> MATLAB

MATLAB Operatoren: Complete Gids voor Rekenkundige, Logische en Bitwise Operaties

Een operator is een symbool dat de compiler vertelt om specifieke wiskundige of logische manipulaties uit te voeren. MATLAB is ontworpen om primair te opereren op gehele matrices en arrays. Daarom werken operatoren in MATLAB zowel op scalaire als niet-scalaire data. MATLAB stelt de volgende typen elementaire operaties toe:

  • Rekenkundige Operatoren
  • Relationele Operatoren
  • Logische Operatoren
  • Bitwise Operaties
  • Set Operaties

Rekenkundige Operatoren

MATLAB stelt twee verschillende typen rekenkundige operaties toe:

  • Matrix rekenkundige operaties
  • Array rekenkundige operaties

Matrix rekenkundige operaties zijn hetzelfde als gedefinieerd in lineaire algebra. Array-operaties worden element voor element uitgevoerd, zowel op eendimensionale als multidimensionale arrays.

De matrix-operatoren en array-operatoren worden gedifferentieerd door het punt (.) symbool. Echter, aangezien de optel- en aftrekoperatie hetzelfde is voor matrices en arrays, is de operator hetzelfde voor beide gevallen. De volgende tabel geeft een korte beschrijving van de operatoren:

Voorbeelden Tonen

Nr. Operator & Beschrijving
1

+

Optelling of unaire plus. A+B telt de waarden op die opgeslagen zijn in variabelen A en B. A en B moeten dezelfde grootte hebben, tenzij er een scalaire is. Een scalaire kan aan een matrix van elke grootte worden toegevoegd.

2

-

Aftrekking of unaire min. A-B trekt de waarde van B van A af. A en B moeten dezelfde grootte hebben, tenzij er een scalaire is. Een scalaire kan van een matrix van elke grootte worden afgetrokken.

3

*

Matrixvermenigvuldiging. C = A*B is het lineair-algebraïsche product van de matrices A en B. Preciezer:

MATLAB Operatoren: Complete Gids voor Rekenkundige, Logische en Bitwise Operaties

Voor niet-scalaire A en B, moet het aantal kolommen van A gelijk zijn aan het aantal rijen van B. Een scalaire kan een matrix van elke grootte vermenigvuldigen.

4

.*

Array-vermenigvuldiging. A.*B is het element-voor-element product van de arrays A en B. A en B moeten dezelfde grootte hebben, tenzij er een van de twee een scalaire is.

5

/

Slash of matrix-rechtsdeling. B/A is ruwweg hetzelfde als B*inv(A). Preciezer: B/A = (A'\B')'.

6

./

Array-rechtsdeling. A./B is de matrix met elementen A(i,j)/B(i,j). A en B moeten dezelfde grootte hebben, tenzij er een van de twee een scalaire is.

7

\

Backslash of matrix-linksdeling. Als A een vierkante matrix is, is A\B ruwweg hetzelfde als inv(A)*B, behalve dat het op een andere manier wordt berekend. Als A een n-op-n matrix is en B een kolomvector met n componenten, of een matrix met verschillende dergelijke kolommen, dan is X = A\B de oplossing voor de vergelijking AX = B. Een waarschuwingsbericht wordt getoond als A slecht geschaald is of bijna singulier.

8

.\

Array-linksdeling. A.\B is de matrix met elementen B(i,j)/A(i,j). A en B moeten dezelfde grootte hebben, tenzij er een van de twee een scalaire is.

9

^

Matrixmacht. X^p is X tot de macht p, als p een scalaire is. Als p een integer is, wordt de macht berekend door herhaald kwadrateren. Als de integer negatief is, wordt X eerst geïnverteerd. Voor andere waarden van p, omvat de berekening eigenwaarden en eigenvectoren, zodanig dat als [V,D] = eig(X), dan X^p = V*D.^p/V.

10

.^

Arraymacht. A.^B is de matrix met elementen A(i,j) tot de macht B(i,j). A en B moeten dezelfde grootte hebben, tenzij er een van de twee een scalaire is.

11

'

Matrixtransponatie. A' is de lineair-algebraïsche transponatie van A. Voor complexe matrices is dit de geconjugeerde transponatie.

12

.'

Arraytransponatie. A.' is de array-transponatie van A. Voor complexe matrices omvat dit geen conjugatie.

Relationele Operatoren

Relationele operatoren kunnen ook werken op zowel scalaire als niet-scalaire data. Relationele operatoren voor arrays voeren element-voor-element vergelijkingen uit tussen twee arrays en retourneren een logische array van dezelfde grootte, met elementen ingesteld op logische 1 (true) waar de relatie true is en elementen ingesteld op logische 0 (false) waar dit niet het geval is.

De volgende tabel toont de relationele operatoren beschikbaar in MATLAB:

Voorbeelden Tonen

Nr. Operator & Beschrijving
1

<

Kleiner dan

2

<=

Kleiner dan of gelijk aan

3

>

Groter dan

4

>=

Groter dan of gelijk aan

5

==

Gelijk aan

6

~=

Niet gelijk aan

Logische Operatoren

MATLAB biedt twee typen logische operatoren en functies:

  • Element-gewijs − Deze operatoren opereren op overeenkomstige elementen van logische arrays.

  • Short-circuit − Deze operatoren opereren op scalaire en logische expressies.

Element-gewijze logische operatoren opereren element-voor-element op logische arrays. De symbolen &, |, en ~ zijn de logische array-operatoren EN, OF, en NIET.

Short-circuit logische operatoren staan short-circuiting toe op logische operaties. De symbolen && en || zijn de logische short-circuit operatoren EN en OF.

Voorbeelden Tonen

Bitwise Operaties

Bitwise operatoren werken op bits en voeren bit-voor-bit operaties uit. De waarheidstabellen voor &, |, en ^ zijn als volgt:

p q p & q p | q p ^ q
0 0 0 0 0
0 1 0 1 1
1 1 1 1 0
1 0 0 1 1

Stel A = 60; en B = 13; Nu in binair formaat zullen ze als volgt zijn:

A = 0011 1100

B = 0000 1101

-----------------

A&B = 0000 1100

A|B = 0011 1101

A^B = 0011 0001

~A = 1100 0011

MATLAB biedt diverse functies voor bitwise operaties zoals 'bitwise and', 'bitwise or' en 'bitwise not' operaties, shift operaties, etc.

De volgende tabel toont de veelgebruikte bitwise operaties:

Voorbeelden Tonen

Functie Doel
bitand(a, b) Bit-gewijs EN van integers a en b
bitcmp(a) Bit-gewijs complement van a
bitget(a,pos) Haal bit op op gespecificeerde positie pos, in de integer array a
bitor(a, b) Bit-gewijs OF van integers a en b
bitset(a, pos) Zet bit op specifieke locatie pos van a
bitshift(a, k) Retourneert a verschoven naar links met k bits, equivalent aan vermenigvuldigen met 2k. Negatieve waarden van k corresponderen met bits naar rechts schuiven of delen door 2|k| en afronden naar het dichtstbijzijnde integer in negatieve oneindige richting. Overflow bits worden afgekapt.
bitxor(a, b) Bit-gewijs XOR van integers a en b
swapbytes Wissel byte-volgorde

Set Operaties

MATLAB biedt diverse functies voor set-operaties, zoals unie, intersectie en testen op set-lidmaatschap, etc.

De volgende tabel toont enkele veelgebruikte set-operaties:

Voorbeelden Tonen

Nr. Functie & Beschrijving
1

intersect(A,B)

Set-intersectie van twee arrays; retourneert de waarden gemeenschappelijk aan zowel A als B. De geretourneerde waarden zijn in gesorteerde volgorde.

2

intersect(A,B,'rows')

Behandelt elke rij van A en elke rij van B als enkele entiteiten en retourneert de rijen gemeenschappelijk aan zowel A als B. De rijen van de geretourneerde matrix zijn in gesorteerde volgorde.

3

ismember(A,B)

Retourneert een array van dezelfde grootte als A, bevattend 1 (true) waar de elementen van A in B gevonden worden. Elders retourneert het 0 (false).

4

ismember(A,B,'rows')

Behandelt elke rij van A en elke rij van B als enkele entiteiten en retourneert een vector bevattend 1 (true) waar de rijen van matrix A ook rijen van B zijn. Elders retourneert het 0 (false).

5

issorted(A)

Retourneert logische 1 (true) als de elementen van A in gesorteerde volgorde zijn en logische 0 (false) anders. Invoer A kan een vector zijn of een N-op-1 of 1-op-N cel-array van strings. A wordt beschouwd als gesorteerd als A en de output van sort(A) gelijk zijn.

6

issorted(A, 'rows')

Retourneert logische 1 (true) als de rijen van tweedimensionale matrix A in gesorteerde volgorde zijn, en logische 0 (false) anders. Matrix A wordt beschouwd als gesorteerd als A en de output van sortrows(A) gelijk zijn.

7

setdiff(A,B)

Sets-verschil van twee arrays; retourneert de waarden in A die niet in B zijn. De waarden in de geretourneerde array zijn in gesorteerde volgorde.

8

setdiff(A,B,'rows')

Behandelt elke rij van A en elke rij van B als enkele entiteiten en retourneert de rijen uit A die niet in B zijn. De rijen van de geretourneerde matrix zijn in gesorteerde volgorde. De 'rows' optie ondersteunt geen cel-arrays.

9

setxor

Sets-exclusieve OF van twee arrays

10

union

Sets-unie van twee arrays

11

unique

Unieke waarden in array

MATLAB

  1. C# Operators – Uitgebreide gids voor operators in C#
  2. C++ operators: complete gids met praktische voorbeelden
  3. C Programmeeroperatoren Beheersen: Een Uitgebreide Gids
  4. C-operators: Types, functies en voorbeelden
  5. MATLAB: Uitgebreid Overzicht van een Leidende Numerieke Rekenomgeving
  6. Variabelen in MATLAB Begrijpen: Basis en Voorbeelden
  7. Essentiële MATLAB Commando's voor Efficiënte Berekening
  8. MATLAB Datatypes: Uitgebreide Gids
  9. MATLAB Operatoren: Complete Gids voor Rekenkundige, Logische en Bitwise Operaties
  10. Python Operators onder de knie krijgen: Een uitgebreide gids
  11. Java-operators beheersen: typen, syntax en praktische voorbeelden