ones
创建全部为 1 的数组
说明
X = ones
返回标量 1
。
X = ones(
返回由 1 组成的 sz1,...,szN
)sz1
×...×szN
数组,其中 sz1,...,szN
指示每个维度的大小。例如,ones(2,3)
返回由 1 组成的 2×3 数组。
示例
全 1 方阵数组
由 1 组成的三维数组
现有数组定义的大小
定义一个 3×2 数组 A
。
A = [1 4 ; 2 5 ; 3 6]; sz = size(A)
sz = 1×2
3 2
创建一个由 1 组成的、大小与 A
相同的数组。
X = ones(sz)
X = 3×2
1 1
1 1
1 1
非默认的数值数据类型
创建一个由 1 组成的 1×3 向量,其元素为 16 位无符号整数。
X = ones(1,3,'uint16'),
X = 1x3 uint16 row vector
1 1 1
class(X)
ans = 'uint16'
复数 1
创建一个非实数值而是与现有数组类似的复数的标量 1
。
定义一个复数向量。
p = [1+2i 3i];
创建一个是类如 p
的复数的标量 1
。
X = ones('like',p)
X = 1.0000 + 0.0000i
现有数组定义的大小和数值数据类型
定义一个由 8 位无符号整数组成的 2×3 数组。
p = uint8([1 3 5 ; 2 4 6]);
创建一个与 p
具有相同大小和数据类型的由 1 组成的数组。
X = ones(size(p),'like',p),
X = 2x3 uint8 matrix
1 1 1
1 1 1
class(X)
ans = 'uint8'
输入参数
n
— 方阵的大小
整数值
方阵的大小,以整数值的形式指定,将输出定义为一个方阵(即 n×n 的全 1 矩阵)。
如果
n
为0
,则X
为一个空矩阵。如果
n
为负数,则将其视为0
。
数据类型: double
| single
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
sz1,...,szN
— 每个维度的大小
两个或以上的整数值
每个维度的大小,指定为两个或以上的整数值,将 X
定义为 sz1×...×szN 数组。
如果任何维度的大小为
0
,则X
为空数组。如果任何维度的大小为负值,则其将被视为
0
。如果大于
2
的任何尾部维度的大小为1
,则输出X
将不包括这些维度。
数据类型: double
| single
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
sz
— 输出大小
由整数值组成的行向量
输出大小,指定为由整数组成的行向量。此向量的每个元素指示对应维度的大小。
如果任何维度的大小为
0
,则X
为空数组。如果任何维度的大小为负值,则其将被视为
0
。如果大于
2
的任何尾部维度的大小为1
,则输出X
将不包括这些维度。
示例: sz = [2 3 4]
将 X
定义为 2×3×4 数组。
数据类型: 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++ 代码。
用法说明和限制:
维度必须为非负实整数。
GPU 代码生成
使用 GPU Coder™ 为 NVIDIA® GPU 生成 CUDA® 代码。
用法说明和限制:
维度必须为非负实整数。
HDL 代码生成
使用 HDL Coder™ 为 FPGA 和 ASIC 设计生成 Verilog 代码和 VHDL 代码。
维度必须为非负实整数。
基于线程的环境
使用 MATLAB® backgroundPool
在后台运行代码或使用 Parallel Computing Toolbox™ ThreadPool
加快代码运行速度。
此函数完全支持基于线程的环境。有关详细信息,请参阅Run MATLAB Functions in Thread-Based Environment。
GPU 数组
通过使用 Parallel Computing Toolbox™ 在图形处理单元 (GPU) 上运行来加快代码执行。
用法说明和限制:
您可以将
typename
指定为'gpuArray'
。如果将typename
指定为'gpuArray'
,则数组的默认基础类型是double
。要创建基础类型
datatype
的 GPU 数组,请在typename
之前将该基础类型指定为附加参数。例如,X = ones(3,datatype,'gpuArray')
创建一个由基础类型datatype
的 1 组成的 3×3 GPU 数组。您可以将基础类型
datatype
指定为以下选项之一:'double'
'single'
'logical'
'int8'
'uint8'
'int16'
'uint16'
'int32'
'uint32'
'int64'
'uint64'
您也可以将数值变量
p
指定为gpuArray
。如果将
p
指定为gpuArray
,则返回的数组的基础类型与p
相同。
有关详细信息,请参阅Run MATLAB Functions on a GPU (Parallel Computing Toolbox)。
分布式数组
使用 Parallel Computing Toolbox™ 在集群的组合内存中对大型数组进行分区。
用法说明和限制:
您可以将
typename
指定为'codistributed'
或'distributed'
。如果将typename
指定为'codistributed'
或'distributed'
,则返回的数组的默认基础类型为double
。要创建基础类型
datatype
的分布式或共存分布式数组,请在typename
之前将该基础类型指定为附加参数。例如,X = ones(3,datatype,'distributed')
创建一个由基础类型datatype
的 1 组成的 3×3 分布式矩阵。您可以将基础类型
datatype
指定为以下选项之一:'double'
'single'
'logical'
'int8'
'uint8'
'int16'
'uint16'
'int32'
'uint32'
'int64'
'uint64'
您也可以将
p
指定为codistributed
或distributed
数组。如果将
p
指定为codistributed
或distributed
数组,则返回的数组的基础类型与p
相同。有关其他
codistributed
语法,请参阅ones (codistributed)
(Parallel Computing Toolbox)。
有关详细信息,请参阅Run MATLAB Functions with Distributed Arrays (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)