理解数学公式与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)是一种二分类模型,它的基本模型是定义在特征空间上的间隔最大的线性分类器.支持向量机还包括核技巧,这使它成为实质上的非线性分 ...
随机推荐
- luogu U10783 名字被和谐了
链接 https://www.luogu.org/problem/show?pid=U10783 题目背景 众所周知,我们称g是a的约数,当且仅当g是正数且a mod g = 0. 众所周知,若g既是 ...
- Eclipse安装Spring工具套件
前言: 安装spring工具套件是为了更快捷的使用spring,但是我觉得既然已经有了maven,工具套件其实不那么重要. 而且装好后我发觉没什么两样,只是新建bean文件时比较爽一点. 安装步骤: ...
- SVG动画实践篇-音量变化效果
git 地址:https://github.com/rainnaZR/svg-animations/tree/master/src/pages/step2/volumn 说明 这个动画的效果就是多个线 ...
- Interface Builder中的技巧
在我工作中经常会遇到有人吐槽Xcode中的interface builder(以下简称IB)不好用的开发者.在我看来,IB是一个非常棒的可视化开发工具,可以非常快捷的设置UI控件的大部分常用属性.下面 ...
- OpenGL step to step(2)
这是一个类似于地球绕太阳旋转的demo 原有的例子是用键盘接受事件,我做了修改,使用了timer把他变成一个动态旋转的 #import <Foundation/Foundation.h> ...
- Opencv 最小外接矩形合并拼接
前一篇画出了最小外接矩形,但是有时候画出来的矩形由于中间像素干扰或者是其他原因矩形框并不是真正想要的 如图1是一个信号的雨图,被矩形框分割成了多个小框: 需要合并矩形框达到的效果: 主要思想: 扫描两 ...
- 设计模式——介绍与工厂模式(扁平管理模式VS职业经理人模式)
本文主要对设计模式进行大概解说.特别是对工厂模式进行简明的解析: 一.设计模式的分类 创建型模式,共五种:工厂方法模式.抽象工厂模式.单例模式.建造者模式.原型模式. 结构型模式,共七种:适配器模式. ...
- py3处理数据库
处理mysql使用 pymysql模块 import pymysql conn=pymysql.connect(host='127.0.0.1',port=3306,user='root',passw ...
- vue2.0 vue-router
一.SPA中路由的简单实现 main.js import Vue from 'vue' import App from './App' import VueRouter from 'vue-route ...
- mac os PHP 访问MSSQL
写在前: 项目的数据库是sql server,但是自己的系统是mac os.这样导致了需要一个烦人的系统环境搭建过程.目前要在mac 上的php环境中支持mssql环境访问,经过自己了解,有两种方式: ...