news 2026/8/20 10:47:34

HoRain云--NumPy 矩阵库(Matrix)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
HoRain云--NumPy 矩阵库(Matrix)

NumPy 中包含了一个矩阵库 numpy.matlib,该模块中的函数返回的是一个矩阵,而不是 ndarray 对象。

numpy.matlib 专门用于创建和操作 矩阵(matrix) 对象。虽然 NumPy 的核心支持多维数组(ndarray),numpy.matlib 提供了一些方便的函数,专门返回矩阵类型,便于用户进行传统的线性代数运算。

一个

的矩阵是一个由

行(row)

列(column)元素排列成的矩形阵列。

矩阵里的元素可以是数字、符号或数学式。以下是一个由 6 个数字元素构成的 2 行 3 列的矩阵:

转置矩阵

NumPy 中除了可以使用 numpy.transpose 函数来对换数组的维度,还可以使用 T 属性。。

例如有个 m 行 n 列的矩阵,使用 t() 函数就能转换为 n 行 m 列的矩阵。

实例

import numpy as np a = np.arange(12).reshape(3,4) print ('原数组:') print (a) print ('\n') print ('转置数组:') print (a.T)

输出结果如下:

原数组: [[ 0 1 2 3] [ 4 5 6 7] [ 8 9 10 11]] 转置数组: [[ 0 4 8] [ 1 5 9] [ 2 6 10] [ 3 7 11]]

matlib.empty()

matlib.empty() 函数返回一个新的矩阵,语法格式为:

numpy.matlib.empty(shape, dtype, order)

参数说明:

  • shape: 定义新矩阵形状的整数或整数元组
  • Dtype: 可选,数据类型
  • order: C(行序优先) 或者 F(列序优先)

实例

import numpy.matlib import numpy as np print (np.matlib.empty((2,2))) # 填充为随机数据

输出结果为:

[[-1.49166815e-154 -1.49166815e-154] [ 2.17371491e-313 2.52720790e-212]]

numpy.matlib.zeros()

numpy.matlib.zeros() 函数创建一个以 0 填充的矩阵。

实例

import numpy.matlib import numpy as np print (np.matlib.zeros((2,2)))

输出结果为:

[[0. 0.] [0. 0.]]

numpy.matlib.ones()

numpy.matlib.ones()函数创建一个以 1 填充的矩阵。

实例

import numpy.matlib import numpy as np print (np.matlib.ones((2,2)))

输出结果为:

[[1. 1.] [1. 1.]]

numpy.matlib.eye()

numpy.matlib.eye() 函数返回一个矩阵,对角线元素为 1,其他位置为零。

numpy.matlib.eye(n, M,k, dtype)

参数说明:

  • n: 返回矩阵的行数
  • M: 返回矩阵的列数,默认为 n
  • k: 对角线的索引
  • dtype: 数据类型

实例

import numpy.matlib import numpy as np print (np.matlib.eye(n = 3, M = 4, k = 0, dtype = float))

输出结果为:

[[1. 0. 0. 0.] [0. 1. 0. 0.] [0. 0. 1. 0.]]

numpy.matlib.identity()

numpy.matlib.identity() 函数返回给定大小的单位矩阵。

单位矩阵是个方阵,从左上角到右下角的对角线(称为主对角线)上的元素均为 1,除此以外全都为 0。

实例

import numpy.matlib import numpy as np # 大小为 5,类型位浮点型 print (np.matlib.identity(5, dtype = float))

输出结果为:

[[ 1. 0. 0. 0. 0.] [ 0. 1. 0. 0. 0.] [ 0. 0. 1. 0. 0.] [ 0. 0. 0. 1. 0.] [ 0. 0. 0. 0. 1.]]

numpy.matlib.rand()

numpy.matlib.rand() 函数创建一个给定大小的矩阵,数据是随机填充的。

实例

import numpy.matlib import numpy as np print (np.matlib.rand(3,3))

输出结果为:

[[0.23966718 0.16147628 0.14162 ] [0.28379085 0.59934741 0.62985825] [0.99527238 0.11137883 0.41105367]]

矩阵总是二维的,而 ndarray 是一个 n 维数组。 两个对象都是可互换的。

实例

import numpy.matlib import numpy as np i = np.matrix('1,2;3,4') print (i)

输出结果为:

[[1 2] [3 4]]

实例

import numpy.matlib import numpy as np j = np.asarray(i) print (j)

输出结果为:

[[1 2] [3 4]]

实例

import numpy.matlib import numpy as np k = np.asmatrix (j) print (k)

输出结果为:

[[1 2] [3 4]]

下面这些函数也存在于 NumPy 命名空间中,但它们返回的是矩阵对象。

函数名称参数说明功能描述
matrix(data[, dtype, copy])data:类数组或字符串,dtype:数据类型,copy:是否复制从数组或字符串创建矩阵对象
asmatrix(data[, dtype])data:输入数据,dtype:数据类型(可选)将输入转换为矩阵对象
bmat(obj[, ldict, gdict])obj:字符串或嵌套序列,ldict、gdict:命名空间字典(可选)从字符串、嵌套序列或数组构建矩阵
empty(shape[, dtype, order])shape:形状,dtype:数据类型,order:存储顺序创建未初始化元素的矩阵
zeros(shape[, dtype, order])shape:形状,dtype:数据类型,order:存储顺序创建全零矩阵
ones(shape[, dtype, order])shape:形状,dtype:数据类型,order:存储顺序创建全一矩阵
eye(n[, M, k, dtype, order])n:行数,M:列数,k:对角线偏移,dtype:数据类型,order:存储顺序创建对角线为1,其余为0的矩阵
identity(n[, dtype])n:大小,dtype:数据类型(可选)创建单位方阵
repmat(a, m, n)a:数组或矩阵,m、n:重复次数将数组或矩阵重复 m 行 n 列
rand(args)args:指定矩阵形状生成指定形状的均匀分布随机矩阵
randn(args)args:指定矩阵形状生成指定形状的标准正态分布随机矩阵

注意事项

  • 虽然numpy.matlib方便,但 NumPy 官方推荐使用ndarray@运算符来完成矩阵运算,因为matrix类型存在一些限制,且在未来版本中可能被弃用。
  • 新代码建议优先使用ndarray,以保证更好的兼容性和灵活性。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/20 10:45:12

一周掌握网络排障:从零构建TCP/IP、VLAN与防火墙实战能力

你是不是也遇到过这样的场景:办公室网络突然断了,所有人都看着你,而你只会重启路由器和交换机?或者面试时被问到“TCP三次握手的具体过程”,你只能模糊地说“就是建立连接”?又或者,你负责的系统…

作者头像 李华
网站建设 2026/8/20 10:43:57

激光雷达原理、工程实践与避坑指南:从自动驾驶到机器人感知

1. 从一则行业新闻说起:沃尔沃的激光雷达投资意味着什么? 前几天看到一则新闻,沃尔沃汽车宣布对一家激光雷达企业进行了战略投资。这消息在汽车圈和科技圈都没激起太大水花,毕竟现在“无人驾驶”、“激光雷达”这些词听得耳朵都快…

作者头像 李华
网站建设 2026/8/20 10:41:41

论系统高并发性能优化的设计与实践

摘要互联网流量峰值、大规模用户访问场景下,高并发、高时延、系统雪崩是企业级系统的核心痛点。为保障系统高吞吐、低时延、高可用的运行目标,需通过多维度架构优化提升系统承载能力。本文以我参与开发的电商秒杀交易系统为依托,阐述高并发性…

作者头像 李华
网站建设 2026/8/20 10:39:44

小说推文软件哪个好?实测知漫剧整本小说导入自动出片功能

做小说推文常因分镜难画、视频制作慢而卡壳。作为AI模型聚合平台,工具整合站点知漫剧( tt.jiaxunai.cn )主打针对小白超低价一键式生成漫剧,配合专业指导全流程,实现整本小说导入自动出片 。 一、 行业常见痛点:做小说推文的效率瓶…

作者头像 李华
网站建设 2026/8/20 10:39:08

办公文档格式乱转不动?多款文档转换工具能力客观记录

日常办公整理资料、接收外来文件时,常会遇到文档格式不兼容,需要在 PDF、Word、图片、网页格式之间互相转换。不同文档转换工具在格式兼容、排版还原、批量处理、扫描件识别能力上存在明显区别。下文客观记录五款文档转换相关工具的基础能力与使用局限&a…

作者头像 李华