kron
Kronecker 张量积
说明
K = kron(
返回矩阵 A,B
)A
和 B
的 Kronecker 张量积。如果 A
是 m
×n
矩阵,而 B
是 p
×q
矩阵,则 kron(A,B)
是通过获取 A
元素与矩阵 B
元素之间的所有可能积而形成的一个 m*p
×n*q
矩阵。
示例
分块对角矩阵
创建分块对角矩阵。
创建一个 4×4 单位矩阵以及一个要沿对角线重复的 2×2 矩阵。
A = eye(4); B = [1 -1;-1 1];
使用 kron
计算 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
结果为一个 8×8 分块对角矩阵。
重复矩阵元素
通过重复元素来扩展矩阵大小。
创建一个 2×2 的全 1 矩阵,以及一个需要重复其元素的 2×3 矩阵。
A = [1 2 3; 4 5 6]; B = ones(2);
使用 kron
计算 Kronecker 张量积。
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
结果为一个 4×6 分块矩阵。
稀疏拉普拉斯算子矩阵
此示例以可视方式呈现稀疏拉普拉斯算子矩阵。
离散拉普拉斯算子在二维 n
×n
网格中的矩阵表示形式是 n*n
×n*n
稀疏矩阵。每行或每列中最多有 5 个非零元素。可以采用一维差分算子的 Kronecker 积的形式生成矩阵。在此示例中,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);
使用 spy
以可视方式呈现稀疏模式。
spy(A,'k')
输入参数
A,B
— 输入矩阵
标量 | 向量 | 矩阵
输入矩阵,指定为标量、向量或矩阵。如果 A
或 B
是稀疏矩阵,则 kron
仅乘以非零元素,其结果也是稀疏矩阵。
数据类型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
复数支持: 是
详细信息
Kronecker 张量积
如果 A
是 m
×n
矩阵,而 B
是 p
×q
矩阵,则 A
和 B
的 Kronecker 张量积是通过将 B
乘以 A
的各元素形成的一个大型矩阵。
例如,两个简单的 2×2 矩阵会生成
扩展功能
C/C++ 代码生成
使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。
GPU 代码生成
使用 GPU Coder™ 为 NVIDIA® GPU 生成 CUDA® 代码。
用法说明和限制:
代码生成不支持对此函数使用稀疏矩阵输入。
基于线程的环境
使用 MATLAB® backgroundPool
在后台运行代码或使用 Parallel Computing Toolbox™ ThreadPool
加快代码运行速度。
此函数完全支持基于线程的环境。有关详细信息,请参阅在基于线程的环境中运行 MATLAB 函数。
GPU 数组
通过使用 Parallel Computing Toolbox™ 在图形处理单元 (GPU) 上运行来加快代码执行。
此函数完全支持 GPU 数组。有关详细信息,请参阅Run MATLAB Functions on a GPU (Parallel Computing Toolbox)。
分布式数组
使用 Parallel Computing Toolbox™ 在集群的组合内存中对大型数组进行分区。
此函数完全支持分布式数组。有关详细信息,请参阅Run MATLAB Functions with Distributed Arrays (Parallel Computing Toolbox)。
版本历史记录
在 R2006a 之前推出
另请参阅
tensorprod
| hankel
| toeplitz
| dot
| cross
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- 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)