kron
Prodotto tensoriale di Kronecker
Sintassi
Descrizione
K = kron( restituisce il prodotto sensoriale di Kronecker delle matrici A,B)A e B. Se A è una matrice m x n e B è una matrice p x q, kron(A,B) è una matrice m*p x n*q formata prendendo tutti i possibili prodotti tra gli elementi di A e la matrice B.
Esempi
Creare una matrice diagonale a blocchi.
Creare una matrice di identità 4x4 e una matrice 2x2 che si desidera ripetere lungo la diagonale.
A = eye(4); B = [1 -1;-1 1];
Utilizzare kron per trovare il prodotto tensoriale di Kronecker.
K = kron(A,B)
K = 8×8
1 -1 0 0 0 0 0 0
-1 1 0 0 0 0 0 0
0 0 1 -1 0 0 0 0
0 0 -1 1 0 0 0 0
0 0 0 0 1 -1 0 0
0 0 0 0 -1 1 0 0
0 0 0 0 0 0 1 -1
0 0 0 0 0 0 -1 1
Il risultato è una matrice diagonale a blocchi 8x8.
Espandere le dimensioni di una matrice ripetendo gli elementi.
Creare una matrice 2x2 di uno e una matrice 2x3 di cui si desidera ripetere gli elementi.
A = [1 2 3; 4 5 6]; B = ones(2);
Calcolare il prodotto tensoriale di Kronecker utilizzando kron.
K = kron(A,B)
K = 4×6
1 1 2 2 3 3
1 1 2 2 3 3
4 4 5 5 6 6
4 4 5 5 6 6
Il risultato è una matrice a blocchi 4x6.
Questo esempio visualizza una matrice dell'operatore di Laplace sparsa.
La rappresentazione della matrice dell'operatore di Laplace discreto su una griglia n x n è una matrice sparsa n*n x n*n. Ogni riga o colonna contiene al massimo cinque elementi diversi da zero. È possibile generare la matrice come prodotto di Kronecker di operatori di differenza monodimensionali. In questo esempio n = 5.
n = 5; I = speye(n,n); E = sparse(2:n,1:n-1,1,n,n); D = E+E'-2*I; A = kron(D,I)+kron(I,D);
Visualizzare il pattern di sparsità con spy.
spy(A,'k')
Argomenti di input
Matrici di input, specificate come scalari, vettori o matrici. Se A o B è sparso, kron moltiplica solo gli elementi diversi da zero ed il risultato è anch'esso sparso.
Tipi di dati: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical
Supporto numeri complessi: Sì
Ulteriori informazioni
Se A è una matrice m x n e B è una matrice p x q, il prodotto tensoriale di Kronecker di A e B è una matrice di grandi dimensioni formata moltiplicando B per ciascun elemento di A
Ad esempio, due semplici matrici 2x2 producono
Funzionalità estese
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™.
La funzione kron supporta completamente gli ambienti basati su thread. Per maggiori informazioni, vedere Run MATLAB Functions in Thread-Based Environment.
La funzione kron 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).
La funzione kron supporta completamente gli array distribuiti. Per maggiori informazioni, vedere Run MATLAB Functions with Distributed Arrays (Parallel Computing Toolbox).
Cronologia versioni
Introduzione prima di R2006a
Vedi anche
tensorprod | hankel | toeplitz | dot | cross
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)