随笔 - 435  文章 - 0  评论 - 111  阅读 - 62万 

大学学的高数都还给体育老师了。

下面我们快速回忆一下矩阵的常用运算

不用循环对数组的元素进行批量操作,称为矢量化(vetorization)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import numpy as np
a = np.array([[1,2,3],[4,5,6]])
b = np.arange(6)
b= b.reshape(2,3)
 
>>> a
array([[1, 2, 3],
       [4, 5, 6]])
>>> b
array([[0, 1, 2],
       [3, 4, 5]])
>>> a+b
array([[ 135],
       [ 79, 11]])
>>> a-b
array([[1, 1, 1],
       [1, 1, 1]])
>>> a*#逐项相乘
array([[ 026],
       [12, 20, 30]])
>>> a**b #逐项乘方
array([[   1,    2,    9],
       64625, 7776]])
>>> sum(a)
array([5, 7, 9])
 
>>> np.sin(a)
array([[ 0.841470980.909297430.14112001],
       [-0.7568025 , -0.95892427, -0.2794155 ]])
>>> 1/a
array([[1.        , 0.5       , 0.33333333],
       [0.25      , 0.2       , 0.16666667]])
<br><br>

numpy array的切片是原来数组的视图,对切片的数据进行修改,会直接修改原来数组的数据。 除非进行显式的复制,例如arr[5:8].copy()

 

复制代码
>>> a
array([[1, 2, 3],
       [4, 5, 6]])
#矩阵第一列
>>> a[:,0]
array([1, 4])
#矩阵第一行
>>> a[:1,]
array([[1, 2, 3]])
#矩阵最后一列
>>> a[:,-1]
array([3, 6])
复制代码

 

  

http://www.ruanyifeng.com/blog/2015/09/matrix-multiplication.html

posted on   Gu  阅读(379)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?
历史上的今天:
2011-01-31 Discuz!NT 与PetShop Membership的整合
点击右上角即可分享
微信分享提示