2026a

# zeros


创建全零数组

# 语法

X = zeros([T] , dims::Tuple)
X = zeros([T] , dims...)

# 说明

X = zeros([T] , dims::Tuple) 返回默认类型为 Float64(可指定其他类型),维度为以元组 dims 为维度的全零矩阵。示例


X = zeros([T] , dims...) 返回默认类型为 Float64 (可指定其他类型),维度为 dims...(输入参数全为非负整数)的全零矩阵。示例

# 示例

零矩阵

创建一个由零值组成的 4×4 矩阵。

X = zeros(4,4)
X = 4×4 Matrix{Float64}:
0.0    0.0    0.0    0.0
0.0    0.0    0.0    0.0
0.0    0.0    0.0    0.0
0.0    0.0    0.0    0.0
由零组成的三维数组

创建一个由零组成的 2×3×4 数组。

X = zeros(2,3,4);
size(X)
(2, 3, 4)
根据现有数组克隆大小

创建一个与现有数组大小相同的零数组。

A = [1 4; 2 5; 3 6];
sz = size(A);
X = zeros(sz)
3×2 Matrix{Float64}:
 0.0  0.0
 0.0  0.0
 0.0  0.0

将前两行代码合并为一行是一种常见的模式:

X = zeros(size(A));
根据现有数组克隆复/实性

创建一个标量 0,该标量像现有数组一样复杂,而不是实值。

首先,创建一个复数向量。

p = [1+2im 3im];

创建一个像 p 一样复数的标量 0。

zeros(eltype(p),1)
1-element Vector{Complex{Int64}}:
 0 + 0im
从现有数组克隆稀疏性数组

创建一个 10×10 的稀疏矩阵。

using TyMath
p = spzeros(10,10);
p[end] = pi;
10×10 SparseMatrixCSC{Float64, Int64} with 1 stored entry:
  ⋅    ⋅    ⋅    ⋅    ⋅    ⋅    ⋅    ⋅    ⋅    ⋅
  ⋅    ⋅    ⋅    ⋅    ⋅    ⋅    ⋅    ⋅    ⋅    ⋅
  ⋅    ⋅    ⋅    ⋅    ⋅    ⋅    ⋅    ⋅    ⋅    ⋅
  ⋅    ⋅    ⋅    ⋅    ⋅    ⋅    ⋅    ⋅    ⋅    ⋅
  ⋅    ⋅    ⋅    ⋅    ⋅    ⋅    ⋅    ⋅    ⋅    ⋅
  ⋅    ⋅    ⋅    ⋅    ⋅    ⋅    ⋅    ⋅    ⋅    ⋅
  ⋅    ⋅    ⋅    ⋅    ⋅    ⋅    ⋅    ⋅    ⋅    ⋅
  ⋅    ⋅    ⋅    ⋅    ⋅    ⋅    ⋅    ⋅    ⋅    ⋅
  ⋅    ⋅    ⋅    ⋅    ⋅    ⋅    ⋅    ⋅    ⋅    ⋅
  ⋅    ⋅    ⋅    ⋅    ⋅    ⋅    ⋅    ⋅    ⋅   3.14159

创建一个像 p 一样稀疏的 2×3 零矩阵。

spzeros(eltype(p),(2,3))
2×3 SparseMatrixCSC{Float64, Int64} with 0 stored entries:
  ⋅    ⋅    ⋅ 
  ⋅    ⋅    ⋅
从现有数组克隆大小和数据类型

创建一个 2×3 的 8 位无符号整数数组。

p = UInt8.([1 3 5; 2 4 6])
2×3 Matrix{UInt8}:
 0x01  0x03  0x05
 0x02  0x04  0x06

创建一个大小和数据类型与 p 相同的零数组。

X = zeros(eltype(p),size(p))
2×3 Matrix{UInt8}:
 0x00  0x00  0x00
 0x00  0x00  0x00
eltype(X)
UInt8
指定零数据类型

创建一个由整型零值组成的 2×3 矩阵。

X = zeros(Int,2,3)
X  = 2×3 Matrix{Int64}:
0    0    0
0    0    0

创建一个由复数类型零值组成的 2×3 矩阵。

X = zeros(Complex,(2,3))
X  = 2×3 Matrix{Complex}:
0+0im    0+0im    0+0im
0+0im    0+0im    0+0im

# 输入参数

[T=Float64] - 零矩阵类型
Flaot64(默认) | Float32 | Float16 | Int128 | Int64 | Int32 | Int16 | Int8 | UInt8 | UInt16 | UInt32 | UInt64 | UInt128 | Complex | Bool | UInt128 | UInt64 | UInt32 | UInt16 | Rational

zeros() 第一个参数非数值类型时,默认零矩阵为 Float64 型,当指定数值类型时,会创建指定类型的零矩阵,例如:

X = zeros(Bool,2,3)

X = 2×3 Matrix{Bool}:

0 0 0

0 0 0

dims - 零矩阵维度
非负整数

dims 可为 Tuple(元组)类型 ; 或输入一系列非负整数,指定每个维度的大小。

  • 如果任何维度大小为 0,则为空矩阵;
  • 如果任何维度大小为负整数或非整数值,则会报错。

数据类型: Int64 | Int32 | Int16 | Int128 | UInt

# 另请参阅

ones | rand | falses