理解数学公式与numpy矩阵运算
1.矩阵的初始化
(1)创建一个 3*5的全0矩阵和全1矩阵
import numpy as np
myzero = np.zeros([3,5])
print myzero
myones = np.ones([3,5])
print myones
(2)生成随机矩阵
myrand = np.random.rand(3,4)
print myrand
(3)单位阵
myeye = np.eye(3)
print myeye
2. 矩阵的元素运算
矩阵的元素运算是指矩阵在元素级别的加、减、乘、除运算。
from numpy import * # 导入 NumPy包
(1)元素的加和相减
条件:矩阵的行数和列数必须相同。
数学公式:(A±B)i‚j = Ai,j ± Bi,j 。
myones = ones([3,3])
myeye = eye(3)
print myones
print myones-myeye
(2)矩阵数乘:一个数乘一个矩阵
数学公式:(cA)i,j = c * Ai,j。
mymatrix = mat([1,2,3],[4,5,6],[7,8,9])
a = 10
print a * mymatrix
(3)矩阵的所有元素求和:
数学公式: 打不出来
mymatrix = mat([1,2,3],[4,5,6],[7,8,9])
print sum(mymatrix)
(4)矩阵各元素的积:矩阵的店乘同维对应元素的相乘。当矩阵的维度不同时,会根据一定的广播规则将维度扩充到一致的形式。
mymatrix = mat([1,2,3],[4,5,6],[7,8,9])
mymatrix2 = 1.5*ones([3,3])
print multiply(mymatrix,mymatrix2)
(5)矩阵各元素的n次幂: n = 2
mylist = mat([[1,2,3],[4,5,6],[7,8,9]])
print power(mylist,2)
3、矩阵的乘法:矩阵乘矩阵
from numpy import *
mymatrix = mat([[1,2,3],[4,5,6],[7,8,9]])
mymatrix2 = mat([[1],[2],[3]])
print mymatrix*mymatrix2
4、矩阵的转置
from numpy import *
mymatrix =- mat([[1,2,3],[4,5,6],[7,8,9]])
print mymatrix.T
mymatrix.transpose()
print mymatrix
5、矩阵的其他操作:行列数、切片、复制、比较
from numpy import *
mymatix = mat([[1,2,3],[4,5,6],[7,8,9]])
[m,n] = shape(mymatrix) print "矩阵的行数和列数:", m , n myscl1 = mymatrix[0]
print "按行切片:" , myscl1 myscl2 = muymatrix.T[0]
print "按列切片:" , myscl2 mycpmat = mymatrix.copy()
print "复制矩阵:\n " , mycpmat print "矩阵元素的比较:\n",mymatrix < mymatrix.T
理解数学公式与numpy矩阵运算的更多相关文章
- python中numpy矩阵运算操作大全(非常全)!
python中numpy矩阵运算操作大全(非常全) //2019.07.10晚python矩阵运算大全1.矩阵的输出形式:对于任何一个矩阵,python输出的模板是:import numpy as n ...
- [Python学习] python 科学计算库NumPy—矩阵运算
NumPy库的核心是矩阵及其运算. 使用array()函数可以将python的array_like数据转变成数组形式,使用matrix()函数转变成矩阵形式. 基于习惯,在实际使用中较常用array而 ...
- numpy 矩阵运算
8.2 矩阵(Matrix)对象 Matrix类型继承于ndarray类型,因此含有ndarray的所有数据属性和方法.Matrix类型与ndarray类型有六个重要的不同点,当你当Matrix对象当 ...
- numpy矩阵运算--矩阵乘法
1)元素对应相乘,使用 multiply 函数或 * 运算符来实现 a = np.array([2,2,2])b = np.array([3,3,3]) c1 = a*a c1 array([4, 4 ...
- 矩阵基本运算的 Python 实现
from...import与import区别在于import直接导入指定的库,而from....import则是从指定的库中导入指定的模块 import...as则是将import A as B,给予 ...
- 对Numpy数组按axis运算的理解
Python的Numpy数组运算中,有时会出现按axis进行运算的情况,如 >>> x = np.array([[1, 1], [2, 2]]) >>> x arr ...
- 给深度学习入门者的Python快速教程 - numpy和Matplotlib篇
始终无法有效把word排版好的粘贴过来,排版更佳版本请见知乎文章: https://zhuanlan.zhihu.com/p/24309547 实在搞不定博客园的排版,排版更佳的版本在: 给深度学习入 ...
- 【机器学习_7】numpy
1. 定义 入门选手不抄作业了,先简单理解下,numpy最大的应用大概是方便做数学运算啥的,功劳在于一个叫ndarray(多维数组)的数据类型.numpy本身没有强大分析能力,只是pandas的基础啥 ...
- 机器学习 支持向量机(SVM) 从理论到放弃,从代码到理解
基本概念 支持向量机(support vector machines,SVM)是一种二分类模型,它的基本模型是定义在特征空间上的间隔最大的线性分类器.支持向量机还包括核技巧,这使它成为实质上的非线性分 ...
随机推荐
- POJ 3259 Wormholes 最短路+负环
原题链接:http://poj.org/problem?id=3259 题意 有个很厉害的农民,它可以穿越虫洞去他的农场,当然他也可以通过道路,虫洞都是单向的,道路都是双向的,道路会花时间,虫洞会倒退 ...
- spring的自动装配Bean与自动检测Bean
spring可以通过编写XML来配置Bean,也可以通过使用spring的注解来装配Bean. 1.自动装配与自动检测: 自动装配:让spring自动识别如何装配bean的依赖关系,减少对<pr ...
- 为什么我们要用Python
最近有一个朋友问我:为什么我要用Python,这是一个好问题,今天有空,把这个问题简单整理了一下,回来朋友的问题.该整理主要来源于网络和其他资料,如果有侵权还请告知. Python的好 ...
- Engine中如何进行七参数投影转换?
来自:http://zhihu.esrichina.com.cn/?/question/6858 解决办法]:首先创建自定义geotransformation,然后用IGeometry.Project ...
- 【报错】项目启动部署时报错:java.lang.NoSuchMethodError
报错: ================================================================================================ ...
- xamarin studio 中SpinButton ComBox Splid 鼠标放上去就会自动接收焦点,然后进行数值变化
公司做跨平台项目,用XamarinStudio 开发mac版本,语法还是C#,但是,尼玛XamarinStudio的控件就是坑爹啊. 其他的暂时不累赘,笔者画界面,一堆控件放到一个界面上,当超出屏幕时 ...
- Direct2D教程(十二)图层
什么是Layers? Layer,中文译成图层,在Direct2D中可以用来完成一些特殊效果,使用Layer的时候,先将Layer Push到render target,然后进行绘制,此时是直接绘制在 ...
- 关于Gradle配置的小结
前言 使用 Android Studio 来开发 Android 工程的过程中,接触 Gradle 是不可避免的,比如配置签名.引入依赖等.那么 Gradle 到底是什么东西呢? Gradle 是一个 ...
- codefoeces B. Friends and Presents
B. Friends and Presents time limit per test 1 second memory limit per test 256 megabytes input stand ...
- HDOJ1160 Fat Mouse's Speed
FatMouse's Speed pid=1160">http://acm.hdu.edu.cn/showproblem.php?pid=1160 最长递增子序列问题的一个变体.实际上 ...