eye
单位矩阵
说明
I = eye
返回标量 1
。
示例
单位方阵
矩形矩阵
单位向量
非默认的数值数据类型
创建一个元素为 32 位无符号整数的 3×3 单位矩阵。
I = eye(3,'uint32'),
I = 3x3 uint32 matrix
1 0 0
0 1 0
0 0 1
class(I)
ans = 'uint32'
单位复矩阵
创建一个元素值不是实数,而是与现有数组类似的复数的 2×2 单位矩阵。
定义一个复数向量。
p = [1+2i 3i];
创建一个与 p
类似的单位复矩阵。
I = eye(2,'like',p)
I = 2×2 complex
1.0000 + 0.0000i 0.0000 + 0.0000i
0.0000 + 0.0000i 1.0000 + 0.0000i
稀疏单位矩阵
定义一个 5×5 稀疏矩阵。
p = sparse(5,5,pi);
创建一个与 P
类似的 5×5 单位稀疏矩阵。
I = eye(5,'like',p)
I = (1,1) 1 (2,2) 1 (3,3) 1 (4,4) 1 (5,5) 1
现有数组定义的大小和数值数据类型
定义一个单精度的 2×2 矩阵。
p = single([1 3 ; 2 4]);
创建一个与 P
具有相同大小和数据类型的单位矩阵。
I = eye(size(p),'like',p),
I = 2x2 single matrix
1 0
0 1
class(I)
ans = 'single'
输入参数
n
— I
的第一维度的大小
整数值
I
的第一维度的大小,指定为整数值。
如果
n
为唯一的整数输入参量,则I
为一个 n×n 单位方阵。如果
n
为0
,则I
为一个空矩阵。如果
n
为负数,则将其视为0
。
数据类型: double
| single
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
m
— I
的第二维度的大小
整数值
I
的第二维度的大小,指定为整数值。
如果
m
为0
,则I
为一个空矩阵。如果
m
为负数,则将其视为0
。
数据类型: double
| single
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
sz
— I
的大小
不超过两个整数值的行向量
I
的大小,指定为不超过两个整数值的行向量。
如果
sz
的某个元素为0
,则I
为一个空矩阵。如果
sz
的某个元素为负数,则将该元素视为0
。
示例: sz = [2 3]
将 I
定义为 2×3 矩阵。
数据类型: double
| single
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
typename
— 输出类
'double'
(默认) | 'single'
| 'logical'
| 'int8'
| 'uint8'
| ...
输出类,指定为 'double'
、'single'
、logical
、'int8'
、'uint8'
、'int16'
、'uint16'
、'int32'
、'uint32'
、'int64'
或 'uint64'
。
p
— 原型
数值变量
原型,指定为数值变量。
数据类型: double
| single
| logical
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
复数支持: 是
扩展功能
C/C++ 代码生成
使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。
用法说明和限制:
typename
必须为内置的 MATLAB® 数值类型。不会为其他类调用静态eye
方法。例如,eye(m, n, 'myclass')
不会调用myclass.eye(m,n)
。大小参量必须具有固定大小。
GPU 代码生成
使用 GPU Coder™ 为 NVIDIA® GPU 生成 CUDA® 代码。
用法说明和限制:
typename
必须为内置的 MATLAB 数值类型。不会为其他类调用静态eye
方法。例如,eye(m, n, 'myclass')
不会调用myclass.eye(m,n)
。大小参量必须具有固定大小。
基于线程的环境
使用 MATLAB® backgroundPool
在后台运行代码或使用 Parallel Computing Toolbox™ ThreadPool
加快代码运行速度。
此函数完全支持基于线程的环境。有关详细信息,请参阅在基于线程的环境中运行 MATLAB 函数。
GPU 数组
通过使用 Parallel Computing Toolbox™ 在图形处理单元 (GPU) 上运行来加快代码执行。
用法说明和限制:
您可以将
typename
指定为'gpuArray'
。如果将typename
指定为'gpuArray'
,则数组的默认基础类型是double
。要创建基础类型
datatype
的 GPU 数组,请在typename
之前将该基础类型指定为附加参量。例如,I = eye(3,datatype,'gpuArray')
创建一个基础类型datatype
的 3×3 GPU 单位矩阵。您可以将基础类型
datatype
指定为以下选项之一:'double'
'single'
'logical'
'int8'
'uint8'
'int16'
'uint16'
'int32'
'uint32'
'int64'
'uint64'
您也可以将数值变量
p
指定为gpuArray
。如果将
p
指定为gpuArray
,则返回的数组的基础类型与p
相同。
有关详细信息,请参阅在 GPU 上运行 MATLAB 函数 (Parallel Computing Toolbox)。
分布式数组
使用 Parallel Computing Toolbox™ 在集群的组合内存中对大型数组进行分区。
用法说明和限制:
您可以将
typename
指定为'codistributed'
或'distributed'
。如果将typename
指定为'codistributed'
或'distributed'
,则返回的数组的默认基础类型为double
。要创建基础类型
datatype
的分布式或共存分布式数组,请在typename
之前将该基础类型指定为附加参量。例如,I = eye(3,datatype,'distributed')
创建一个基础类型datatype
的 3×3 分布式单位矩阵。您可以将基础类型
datatype
指定为以下选项之一:'double'
'single'
'logical'
'int8'
'uint8'
'int16'
'uint16'
'int32'
'uint32'
'int64'
'uint64'
您也可以将
p
指定为codistributed
或distributed
数组。如果将
p
指定为codistributed
或distributed
数组,则返回的数组的基础类型与p
相同。有关其他
codistributed
语法,请参阅eye (codistributed)
(Parallel Computing Toolbox)。
有关详细信息,请参阅使用分布式数组运行 MATLAB 函数 (Parallel Computing Toolbox)。
版本历史记录
在 R2006a 之前推出
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)