主要内容

本页翻译不是最新的。点击此处可查看最新英文版本。

speye

稀疏单位矩阵

说明

S = speye 返回稀疏标量 1

S = speye(n) 返回一个主对角线元素为 1 且其他位置元素为 0 的 n×n 稀疏单位矩阵。

示例

S = speye(n,m) 返回一个主对角线元素为 1 且其他位置元素为 0 的 n×m 稀疏矩阵。

示例

S = speye(sz) 返回一个主对角线元素为 1 且其他位置元素为 0 的矩阵。大小向量 sz 定义 size(S)。例如,speye([2 3]) 将返回一个 2×3 矩阵。

示例

S = speye(___,typename) 返回指定数据类型的稀疏矩阵。支持上述语法中的任何输入参量组合,且可指定数据类型。 (自 R2025a 起)

示例

全部折叠

创建 1000×1000 稀疏单位方阵,并查看稀疏模式。

I = speye(1000);
spy(I)

Figure contains an axes object. The axes object with xlabel nz = 1000 contains a line object which displays its values using only markers.

结果与 sparse(eye(1000)) 相同,但对于满矩阵表示,后一版本在转换为稀疏存储之前需要临时存储。

创建 400×800 稀疏单位矩阵,并查看非零模式。

S = speye(400,800);
spy(S)

Figure contains an axes object. The axes object with xlabel nz = 400 contains a line object which displays its values using only markers.

此命令等同于 speye([400 800])

输入参数

全部折叠

维度大小,指定为非负整数标量。

  • 如果 n 是唯一的输入参量,则 Sn×n 单位矩阵。

  • 如果 nm0,则 S 为一个空矩阵。

  • 如果 nm 为负数,则将其视为 0

示例: speye(4) 创建一个 4×4 单位矩阵。

示例: speye(3,6) 创建一个 3×6 单位矩阵。

数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

自 R2025a 起

输出数据类型,指定为 "double""single""logical"

维度大小,指定为二元素行向量。行向量采用 [numRows numCols] 形式。

  • 如果 sz 的某个元素为 0,则 S 为一个空矩阵。

  • 如果 sz 的某个元素为负数,则将该元素视为 0

示例: speye([4 5]) 创建 4×5 矩阵,等效于 speye(4,5)

数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

输出参量

全部折叠

输出矩阵,以稀疏单位矩阵形式返回。

扩展功能

全部展开

C/C++ 代码生成
使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。

版本历史记录

在 R2006a 之前推出

全部展开

另请参阅

函数