广告
返回顶部
首页 > 资讯 > 后端开发 > Python >常见矩阵运算Python
  • 674
分享到

常见矩阵运算Python

矩阵常见Python 2023-01-31 02:01:29 674人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

python的numpy库提供矩阵运算的功能,因此我们在需要矩阵运算的时候,需要导入numpy的包。 1.numpy的导入和使用 from numpy import *;#导入numpy的库函数 import numpy as np; #

python的numpy库提供矩阵运算的功能,因此我们在需要矩阵运算的时候,需要导入numpy的包。

1.numpy的导入和使用

from numpy import *;#导入numpy的库函数
import numpy as np; #这个方式使用numpy的函数时,需要以np.开头。
  • 1
  • 2

2.矩阵的创建

由一维或二维数据创建矩阵

from numpy import *;
a1=array([1,2,3]);
a1=mat(a1);
  • 1
  • 2
  • 3

创建常见的矩阵

data1=mat(zeros((3,3)));
#创建一个3*3的零矩阵,矩阵这里zeros函数的参数是一个tuple类型(3,3)
data2=mat(ones((2,4)));
#创建一个2*4的1矩阵,默认是浮点型的数据,如果需要时int类型,可以使用dtype=int
data3=mat(random.rand(2,2));
#这里的random模块使用的是numpy中的random模块,random.rand(2,2)创建的是一个二维数组,需要将其转换成#matrix
data4=mat(random.randint(10,size=(3,3)));
#生成一个3*3的0-10之间的随机整数矩阵,如果需要指定下界则可以多加一个参数
data5=mat(random.randint(2,8,size=(2,5));
#产生一个2-8之间的随机整数矩阵
data6=mat(eye(2,2,dtype=int));
#产生一个2*2的对角矩阵

a1=[1,2,3];
a2=mat(diag(a1));
#生成一个对角线为1、2、3的对角矩阵
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

3.常见的矩阵运算

1. 矩阵相乘

a1=mat([1,2]);      
a2=mat([[1],[2]]);
a3=a1*a2;
#1*2的矩阵乘以2*1的矩阵,得到1*1的矩阵
  • 1
  • 2
  • 3
  • 4

2. 矩阵点乘

矩阵对应元素相乘

a1=mat([1,1]);
a2=mat([2,2]);
a3=multiply(a1,a2);
  • 1
  • 2
  • 3

矩阵点乘

a1=mat([2,2]);
a2=a1*2;
  • 1
  • 2

3.矩阵求逆,转置
矩阵求逆

a1=mat(eye(2,2)*0.5);
a2=a1.I;
#求矩阵matrix([[0.5,0],[0,0.5]])的逆矩阵
  • 1
  • 2
  • 3

矩阵转置

a1=mat([[1,1],[0,0]]);
a2=a1.T;
  • 1
  • 2

4.计算矩阵对应行列的最大、最小值、和。

a1=mat([[1,1],[2,3],[4,2]]);
  • 1

计算每一列、行的和

a2=a1.sum(axis=0);//列和,这里得到的是1*2的矩阵
a3=a1.sum(axis=1);//行和,这里得到的是3*1的矩阵
a4=sum(a1[1,:]);//计算第一行所有列的和,这里得到的是一个数值
  • 1
  • 2
  • 3

计算最大、最小值和索引

a1.max();//计算a1矩阵中所有元素的最大值,这里得到的结果是一个数值
a2=max(a1[:,1]);//计算第二列的最大值,这里得到的是一个1*1的矩阵
a1[1,:].max();//计算第二行的最大值,这里得到的是一个一个数值

np.max(a1,0);//计算所有列的最大值,这里使用的是numpy中的max函数
np.max(a1,1);//计算所有行的最大值,这里得到是一个矩阵

np.argmax(a1,0);//计算所有列的最大值对应在该列中的索引
np.argmax(a1[1,:]);//计算第二行中最大值对应在改行的索引
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

5.矩阵的分隔和合并
矩阵的分隔,同列表和数组的分隔一致。

a=mat(ones((3,3)));
b=a[1:,1:];//分割出第二行以后的行和第二列以后的列的所有元素
  • 1
  • 2

矩阵的合并

a=mat(ones((2,2)));
b=mat(eye(2));
c=vstack((a,b));//按列合并,即增加行数
d=hstack((a,b));//按行合并,即行数不变,扩展列数
  • 1
  • 2
  • 3
  • 4

4.矩阵、列表、数组的转换

列表可以修改,并且列表中元素可以使不同类型的数据,如下:

l1=[[1],'hello',3];
  • 1

numpy中数组,同一个数组中所有元素必须为同一个类型,有几个常见的属性:

a=array([[2],[1]]);
dimension=a.ndim;
m,n=a.shape;
number=a.size;//元素总个数
str=a.dtype;//元素的类型
  • 1
  • 2
  • 3
  • 4
  • 5

numpy中的矩阵也有与数组常见的几个属性。
它们之间的转换:

a1=[[1,2],[3,2],[5,2]];//列表
a2=array(a1);//将列表转换成二维数组
a3=array(a1);//将列表转化成矩阵
a4=array(a3);//将矩阵转换成数组
a5=a3.tolist();//将矩阵转换成列表
a6=a2.tolist();//将数组转换成列表
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

这里可以发现三者之间的转换是非常简单的,这里需要注意的是,当列表是一维的时候,将它转换成数组和矩阵后,再通过tolist()转换成列表是不相同的,需要做一些小小的修改。如下:

a1=[1,2,3];
a2=array(a1);
a3=mat(a1);
a4=a2.tolist();//这里得到的是[1,2,3]
a5=a3.tolist();//这里得到的是[[1,2,3]]
a6=(a4 == a5);//a6=False
a7=(a4 is a5[0]);//a7=True,a5[0]=[1,2,3]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

矩阵转换成数值,存在以下一种情况:

dataMat=mat([1]);
val=dataMat[0,0];//这个时候获取的就是矩阵的元素的数值,而不再是矩阵的类型

--结束END--

本文标题: 常见矩阵运算Python

本文链接: https://www.lsjlt.com/news/185477.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 常见矩阵运算Python
    python的numpy库提供矩阵运算的功能,因此我们在需要矩阵运算的时候,需要导入numpy的包。 1.numpy的导入和使用 from numpy import *;#导入numpy的库函数 import numpy as np; #...
    99+
    2023-01-31
    矩阵 常见 Python
  • python的常见矩阵运算
    python的numpy库提供矩阵运算的功能,因此我们在需要矩阵运算的时候,需要导入numpy的包。 1.numpy的导入和使用 from numpy import *;#导入numpy的库函数 import numpy as n...
    99+
    2023-01-31
    矩阵 常见 python
  • python中的矩阵运算
    转自:https://www.cnblogs.com/chamie/p/4870078.html 摘自:http://m.blog.csdn.net/blog/taxueguilai1992/46581861 python的numpy库...
    99+
    2023-01-31
    矩阵 python
  • Python 的矩阵传播机制Broadcasting和矩阵运算
    目录一、Python的矩阵传播机制(Broadcasting)二、下面展示什么是python的传播机制三、利用numpy的内置函数对矩阵进行操作四、定义自己的函数来处理矩阵五、总结一...
    99+
    2022-11-11
  • Python中的Numpy矩阵运算
    目录在学习线性代数时我们所接触的矩阵之间的乘法是矩阵的叉乘,有这样一个前提: 若矩阵A是m*n阶的,B是p*q阶的矩阵,AB能相乘,首先得满足:n=p,即A的列数要等于B的行数。运算...
    99+
    2022-11-12
  • python:矩阵的基本运算
    一、Python 矩阵基本运算 引入 numpy 库 import numpy as np python矩阵操作 1)使用 mat 函数创建一个 2X3矩阵 a = np.mat([[1, 2, 3], [4, 5, 6]])  2)使用...
    99+
    2023-09-02
    python 矩阵 numpy
  • 关于python的矩阵乘法运算
    目录一、矩阵乘法1. A@B 和 np.dot(A,B)2. A*B 或 np.multiply(A,B)二、邻接矩阵的相乘的意义1.定义2.问题3.理解4.代码实现一、矩阵乘法 矩...
    99+
    2023-05-17
    python运算 python 矩阵乘法
  • Numpy中的矩阵运算
    安装与使用 大型矩阵运算主要用matlab或者sage等专业的数学工具,但我这里要讲讲python中numpy,用来做一些日常简单的矩阵运算!这是 numpy官方文档,英文不太熟悉的,还有 numpy中文文档 numpy 同时支持 pyt...
    99+
    2023-01-31
    矩阵 Numpy
  • Python 如何解决稀疏矩阵运算
    用Python求解微分线性方程 因为之前用matlab也编写过,所以前不久试着用python写,感觉之间互通点也蛮多的,易理解。 题目:稀疏线性方程组的求解方法 简单的方程如: AX...
    99+
    2022-11-12
  • 怎么在python中实现矩阵乘法运算
    今天就跟大家聊聊有关怎么在python中实现矩阵乘法运算,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Python的优点有哪些1、简单易用,与C/C++、Java、C# 等传统语言相...
    99+
    2023-06-14
  • C++矩阵运算的实现简单
    利用C++实现矩阵的构造,通过运算符的重载实现矩阵的乘法、加法等。并且实现矩阵形状的打印,矩阵的打印。 #include<iostream> #include<...
    99+
    2022-11-12
  • R语言学习RcppEigen进行矩阵运算
    目录创建cpp文件代码示例其他矩阵操作命名基础用法定义矩阵对矩阵的一些基础操作1基础操作2矩阵基础运算1矩阵基础运算2求最小最大值、迹等点乘等特征值与特征向量形式转换矩阵初始化0Ma...
    99+
    2022-11-12
  • NumPy 打包 Python 编程算法:如何实现高效的矩阵运算?
    NumPy 是 Python 编程中非常重要的一个库,它能够帮助我们实现高效的矩阵运算。本文将为大家介绍 NumPy 的基本使用方法,以及如何用 NumPy 实现高效的矩阵运算。 一、NumPy 简介 NumPy 是 Python 编程中非...
    99+
    2023-06-30
    打包 numy 编程算法
  • Java 超详细带你掌握矩阵的运算
    目录1.物体的坐标变换1.1平移:1.2缩放:1.3旋转:1.4矩阵乘法2.java实现矩阵的相关运算2.1创建矩阵:2.2矩阵加法:2.3矩阵减法:2.4矩阵乘法:2.5矩阵的转置...
    99+
    2022-11-13
  • C语言实现矩阵运算案例详解
    C语言实现矩阵运算 给定一个n×n的方阵,本题要求计算该矩阵除副对角线、最后一列和最后一行以外的所有元素之和。副对角线为从矩阵的右上角至左下角的连线。 输入格式: 输入第一行给出正整...
    99+
    2022-11-12
  • C++实现重载矩阵的部分运算符
    目录前言正文运行结果前言 博主本人为C++菜鸟一只,本篇博客也是第一次写,主要目的用于自己mark,如有错误欢迎指出 本博客代码为我做C++实验时的代码,由于自己是菜鸟,所以代码内容...
    99+
    2022-11-13
    C++ 重载矩阵运算符 C++ 重载运算符 C++ 矩阵运算符
  • R语言如何使用RcppEigen进行矩阵运算
    这篇文章主要介绍了R语言如何使用RcppEigen进行矩阵运算,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。创建cpp文件其创建方式可以参考上篇博客:让你的R代码更快——Rc...
    99+
    2023-06-25
  • Numpy实现矩阵运算及线性代数应用
    目录一、创建矩阵的方法二、矩阵运算 2.1随机函数表2.2部分实例三、通用函数3.1 一元通用函数3.2二元通用函数四、矩阵运算-add运算4.1矩阵元素求和—reduce...
    99+
    2022-11-11
  • SymPy库关于矩阵的基本操作和运算
    目录1、矩阵创建2、创建列向量3、截取矩阵的某一行或列, 使用 row()和 col()4、删除行向量、列向量5、插入行向量、列向量使用row_insert 或 col_insert...
    99+
    2023-03-10
    SymPy矩阵操作 SymPy矩阵运算
  • CCF-CSP真题《202305-2 矩阵运算》思路+python,c++满分题解
    想查看其他题的真题及题解的同学可以前往查看:CCF-CSP真题附题解大全 试题编号:202305-2试题名称:矩阵运算时间限制:5.0s内存限制:512.0MB问题描述: 题目背景 Softmax(Q×KTd)×V 是 Transf...
    99+
    2023-08-31
    javascript 开发语言 ecmascript
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作