kron
克罗内克张量积
说明
示例
创建分块对角矩阵。
创建一个 4×4 单位矩阵以及一个要沿对角线重复的 2×2 矩阵。
A = eye(4); B = [1 -1;-1 1];
使用 kron 计算克罗内克张量积。
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 计算克罗内克张量积。
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 个非零元素。可以采用一维差分算子的克罗内克积的形式生成矩阵。在此示例中,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 是稀疏矩阵,则 kron 仅乘以非零元素,其结果也是稀疏矩阵。
数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical
复数支持: 是
详细信息
如果 A 是 m×n 矩阵,而 B 是 p×q 矩阵,则 A 和 B 的克罗内克张量积是通过将 B 乘以 A 的各元素形成的一个大型矩阵。
例如,两个简单的 2×2 矩阵会生成
扩展功能
C/C++ 代码生成
使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。
GPU 代码生成
使用 GPU Coder™ 为 NVIDIA® GPU 生成 CUDA® 代码。
此函数完全支持基于线程的环境。有关详细信息,请参阅在基于线程的环境中运行 MATLAB 函数。
kron 函数完全支持 GPU 数组。要在 GPU 上运行该函数,请将输入数据指定为 gpuArray (Parallel Computing Toolbox)。有关详细信息,请参阅在 GPU 上运行 MATLAB 函数 (Parallel Computing Toolbox)。
此函数完全支持分布式数组。有关详细信息,请参阅使用分布式数组运行 MATLAB 函数 (Parallel Computing Toolbox)。
版本历史记录
在 R2006a 之前推出
另请参阅
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.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
- América Latina (Español)
- Canada (English)
- United States (English)
欧洲
- 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)