理解数学公式与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)是一种二分类模型,它的基本模型是定义在特征空间上的间隔最大的线性分类器.支持向量机还包括核技巧,这使它成为实质上的非线性分 ...
随机推荐
- 3.4 熟练掌握动态规划——状态压缩DP
从旅行商问题说起—— 给定一个图,n个节点(n<=15),求从a节点出发,经历每个节点仅一次,最后回到a,需要的最短时间. 分析: 设定状态S代表当前已经走过的城市的集合,显然,S<=(1 ...
- ajax跨域-springboot
package com.xxxx.xx.service.configuration; import org.springframework.context.annotation.Bean; impor ...
- 两点C#的propertyGrid的使用心得【转】
源文:http://www.cnblogs.com/bicker/p/3318934.html 最近接触C#的PropertyGrid比较多,得到了两个小心得记录一下. 第1点是关于控制Propert ...
- poj-3744-Scout YYF I-矩阵乘法
f[i]=f[i-1]*p+f[i-2]*(1-p); 正好能够用矩阵加速. . . . #include<stdio.h> #include<string.h> #inclu ...
- 最长连续序列(Longest Consecutive Sequence)
Given an unsorted array of integers, find the length of the longest consecutive elements sequence. F ...
- POJ2376 Cleaning Shifts 【贪心】
Cleaning Shifts Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 11542 Accepted: 3004 ...
- adb命令具体解释(二)——手机缺失sqlite3时操作数据库的多种解决方式
在android应用开发无处不在SQLite数据库的身影.那么在开发中怎么使用adb命令操作数据库的功能呢? 以下我们将完整的介绍与数据库操作相关的命令集及当手机缺少sqlite3的时候的多种解决方式 ...
- mysql生产环境____主从同步修复案例
一. 硬件环境 Master: Dell R720 Intel(R)Xeon(R) CPU E5-2640 v2 @ 2.00GHz MEM 64G.disk 4*2.5 SAS 网络4* 千兆 ...
- create a backdoor deb package
以下介绍怎样制作包括后门的deb安装包.以tree为例进行说明.利用apt-get下载安装包.--download-only表示仅仅下载不做其它处理. root@deb:~#apt-get downl ...
- bat+sqlcmd 批量执行脚本
Hello,此BAT脚本能够帮助开发者将某目录下全部SQL脚本按文件名称依次在指定数据库中批量执行. 不用忍受powershell invoke-sqlcmd 的笨重.在指执行时多一种选择. bat文 ...