xor
Trovare l'OR logico esclusivo
Sintassi
Descrizione
C = xor( esegue un OR logico esclusivo degli input A,B)A e B e restituisce un array o una tabella contenente elementi impostati su 1 (true) logico o 0 (false) logico. Un elemento dell'output viene impostato su 1 (true) logico se A o B, ma non entrambi, contengono un elemento diverso da zero in quella stessa posizione. In caso contrario, l'elemento viene impostato su 0.
Per le operazioni di XOR logico bit per bit, vedere bitxor.
Esempi
Creare una tabella di verità per xor.
A = [true false]
A = 1×2 logical array
1 0
B = [true; false]
B = 2×1 logical array
1
0
C = xor(A,B)
C = 2×2 logical array
0 1
1 0
Dalla release R2023a
Creare due tabelle ed eseguire un OR logico esclusivo. I nomi delle righe (se presenti in entrambi) e i nomi delle variabili devono essere uguali, ma non è necessario che siano nello stesso ordine. Le righe e le variabili dell'output sono nello stesso ordine del primo input.
A = table([0;2],[0;4],VariableNames=["V1","V2"],RowNames=["R1","R2"])
A=2×2 table
V1 V2
__ __
R1 0 0
R2 2 4
B = table([4;2],[3;0],VariableNames=["V2","V1"],RowNames=["R2","R1"])
B=2×2 table
V2 V1
__ __
R2 4 3
R1 2 0
xor(A,B)
ans=2×2 table
V1 V2
_____ _____
R1 false true
R2 false false
Argomenti di input
Operandi, specificati come scalari, vettori, matrici, array multidimensionali, tabelle o orari. Gli input A e B devono avere la stessa dimensione o dimensioni compatibili (ad esempio, A è una matrice M x N e B è uno scalare o un vettore riga di 1 x N). Per maggiori informazioni, vedere Grandezze di array compatibili per le operazioni di base.
Gli input costituiti da tabelle o orari devono soddisfare le seguenti condizioni: (da R2023a)
Se un input è una tabella o un orario, tutte le sue variabili devono avere tipi di dati che supportino l'operazione.
Se solo uno degli input è una tabella o un orario, l'altro input deve essere un array numerico o logico.
Se entrambi gli input sono tabelle o orari, è necessario che:
Entrambi gli input devono avere la stessa dimensione oppure uno di essi deve essere una tabella a una riga.
Le variabili di entrambi gli input devono avere lo stesso nome. Tuttavia, le variabili di ciascun input possono avere un ordine diverso.
Se entrambi gli input sono tabelle con nomi di righe, i nomi delle righe devono essere uguali. Tuttavia, i nomi delle righe di ciascun input possono avere un ordine diverso.
Se entrambi gli input sono orari, i tempi delle righe devono essere uguali. Tuttavia, i tempi delle righe di ciascun input possono avere un ordine diverso.
Tipi di dati: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | table | timetable
Funzionalità estese
La funzione xor supporta completamente i tall array. Per maggiori informazioni, vedere Tall Array.
Generazione di codice C/C++
Genera codice C e C++ con MATLAB® Coder™.
Generazione di codice GPU
Genera codice CUDA® per GPU NVIDIA® con GPU Coder™.
Generazione di codice HDL
Genera codice VHDL, Verilog e SystemVerilog per progetti FPGA e ASIC utilizzando HDL Coder™.
Questa funzione supporta completamente gli ambienti basati su thread. Per maggiori informazioni, vedere Run MATLAB Functions in Thread-Based Environment.
La funzione xor supporta completamente gli array di GPU. Per eseguire la funzione su una GPU, specificare i dati di input come un gpuArray (Parallel Computing Toolbox). Per maggiori informazioni, vedere Run MATLAB Functions on a GPU (Parallel Computing Toolbox).
Questa funzione supporta completamente gli array distribuiti. Per maggiori informazioni, vedere Run MATLAB Functions with Distributed Arrays (Parallel Computing Toolbox).
Cronologia versioni
Introduzione prima di R2006aL'operatore xor supporta operazioni direttamente su tabelle e orari senza indicizzazione per accedere alle variabili relative. Tutte le variabili devono avere tipi di dati che supportino l'operazione. Per maggiori informazioni, vedere Direct Calculations on Tables and Timetables.
A partire dalla R2016b, con l'aggiunta dell'espansione implicita, alcune combinazioni di argomenti per le operazioni di base che prima restituivano errori ora producono risultati. Ad esempio, prima non era possibile sommare un vettore riga e un vettore colonna, mentre ora questi operandi sono validi per l'addizione. In altre parole, un'espressione come [1 2] + [1; 2] prima restituiva un errore di mancata corrispondenza di grandezza, mentre ora viene eseguita.
Se il codice utilizza operatori elemento per elemento e si avvale degli errori che MATLAB® restituiva in precedenza per le grandezze non corrispondenti, in particolare all'interno di un blocco try/catch, il codice potrebbe non rilevare più tali errori.
Per maggiori informazioni sulle grandezze di input richieste per le operazioni di base con gli array, vedere Grandezze di array compatibili per le operazioni di base.
Vedi anche
bitxor | all | any | find | and | or | not | Short-Circuit
AND | Short-Circuit
OR
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Seleziona un sito web
Seleziona un sito web per visualizzare contenuto tradotto dove disponibile e vedere eventi e offerte locali. In base alla tua area geografica, ti consigliamo di selezionare: .
Puoi anche selezionare un sito web dal seguente elenco:
Come ottenere le migliori prestazioni del sito
Per ottenere le migliori prestazioni del sito, seleziona il sito cinese (in cinese o in inglese). I siti MathWorks per gli altri paesi non sono ottimizzati per essere visitati dalla tua area geografica.
Americhe
- América Latina (Español)
- Canada (English)
- United States (English)
Europa
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)