2026a
# diagm
创建矩阵对角线元素
函数库: TyMath
# 语法
diagm(v::AbstractVector)
diagm(kv::Pair{<:Integer,<:AbstractVector}...)
# 说明
D = diagm(v) 返回包含主对角线上向量 v 的元素的对角矩阵。示例
diagm(kv::Pair{<:Integer,<:AbstractVector}...)表示输入k::Integer,v::AbstractVector的Pair,将向量 v 的元素放置在第 k 条对角线上。k=0 表示主对角线,k>0 位于主对角线上方,k<0 位于主对角线下方。示例
# 示例
创建诊断矩阵
创建一个 1×5 的向量。
using TyMath
v = [2, 1, -1, -2, -5];
使用 diagm 创建一个包含 v 在主对角线上的元素的矩阵。
D = diagm(v)
D = 5×5 Matrix{Int64}:
2 0 0 0 0
0 1 0 0 0
0 0 -1 0 0
0 0 0 -2 0
0 0 0 0 -5
创建一个包含 v 在第一个上对角线 (k=1) 上的元素的矩阵。
D1 = diagm(1 => v)
D1 = 6×6 Matrix{Int64}:
0 2 0 0 0 0
0 0 1 0 0 0
0 0 0 -1 0 0
0 0 0 0 -2 0
0 0 0 0 0 -5
0 0 0 0 0 0
结果为一个 6×6 矩阵。将一个长度为 n 的向量指定为输入时,diag 返回一个大小为 n+abs(k) 的方阵。
# 输入参数
v - 对角线元素向量
对角线元素,指定为向量。
数据类型:Number
复数支持: 是
kv - 位置向量对Pair
对角线编号和向量组成的对,以整数k => 向量v的形式传入,构建向量v在位置k上的对角矩阵形式