1.方阵的迹

方阵的迹就是方阵的主对角线元素之和

# -*- coding:utf-8 -*-
# @Author: WanMingZhu
# @Date: 2019/8/12 9:37 import numpy as np arr = np.random.randint(1, 5, size=(4, 4))
print(arr)
# 调用np.trace便可求出矩阵的迹
print(np.trace(arr))
"""
[[1 4 2 3]
[3 2 2 2]
[3 2 3 3]
[1 4 2 4]]
10
"""

2.如何求两个矩阵之间的距离

import numpy as np

arr1 = np.array([[0, 1],
[1, 0]]) arr2 = np.array([[1, 1],
[1, 1]])
# 先计算a和b的差,得出arr3
arr3 = arr1 - arr2
# 然后让arr3和arr3本身进行点乘
arr4 = arr3 @ arr3
# 此时arr4的迹便是距离的平方
print(np.trace(arr4)) # 2

3.如何求出一个矩阵的逆矩阵和伴随矩阵

import numpy as np

a = np.array([[1, -2, 1],
[0, 2, -1],
[1, 1, -2]])
# 直接对a使用np.linalg.inv即可求出逆矩阵
a_inv = np.linalg.inv(a)
print(a_inv)
"""
[[ 1. 1. 0. ]
[ 0.33333333 1. -0.33333333]
[ 0.66666667 1. -0.66666667]]
""" # 使用np.linalg.det(a)求出行列式的值
a_det = np.linalg.det(a)
print(a_det) # -3.0000000000000004 # 然后逆矩阵a_inv和行列式的值a_det相乘即可得出伴随矩阵
print(a_inv * a_det)
"""
[[-3. -3. -0.]
[-1. -3. 1.]
[-2. -3. 2.]]
"""

4.如何解多元一次方程

import numpy as np

"""
x+2y+z=7
2x-y+3z=7
3x+y+2z=18
求这个方程组的解
"""
# 首先将系数写下来,排成一个矩阵
a = np.array([[1, 2, 1],
[2, -1, 3],
[3, 1, 2]])
# 将右边的常数写下来,排成一个矩阵
b = np.array([7, 7, 18])
# 求解,将参数传进去
x = np.linalg.solve(a, b)
print(x) # [ 7. 1. -2.]
# 验证
print(a @ x) # [ 7. 7. 18.]

5.求矩阵的秩

import numpy as np

# 生成4行4列的单位矩阵
i = np.eye(4)
print(i)
"""
[[1. 0. 0. 0.]
[0. 1. 0. 0.]
[0. 0. 1. 0.]
[0. 0. 0. 1.]]
"""
# 求出秩
print(np.linalg.matrix_rank(i)) # 4 # 修改一个值
i[0, 0] = 0
print(np.linalg.matrix_rank(i)) # 3

6.求协方差矩阵

import numpy as np

a = np.array([170, 180, 175])
b = np.array([65, 80, 70])
print(np.cov([a, b]))
"""
[[25. 37.5 ]
[37.5 58.33333333]]
"""

7.求相关矩阵

import numpy as np

a = np.array([170, 180, 175])
b = np.array([65, 80, 70])
print(np.corrcoef([a, b]))
"""
[[1. 0.98198051]
[0.98198051 1. ]]
"""

8.生成一个方程

import numpy as np

x = np.poly1d([1, 1, 1, 1])
print(x)
"""
3 2
1 x + 1 x + 1 x + 1
就是x^3 + x^2 + x + 1
"""
# 怎么生成出来的呢?
# 如果矩阵里面有4个元素,那么未知数的最高次幂就是3
# 然后矩阵里面的元素就是对应项的系数
# 比如我想生成 8 * x^5 + 4 * x^3 + 3 * x^2 + x
"""
首先最高次幂是5,就意味着数组里面有6个值
x^5次幂对应的系数是8,说明第一个值是8
没有x^4,说明x^4对应的系数是0,说明第二个元素是0。虽然是0,但是必须要写,不然numpy不知道你要生成最高几次幂的函数
"""
# 别忘记了最后要加上一个0
x = np.poly1d([8, 0, 4, 3, 1, 0])
print(x)
"""
5 3 2
8 x + 4 x + 3 x + 1 x
""" # 另外我向x里面传值,还可以根据当前的自变量计算出对应的函数
print(x(3)) # 2082
print(8 * 3 ** 5 + 4 * 3 ** 3 + 3 * 3 ** 2 + 3) # 2082

9.求出一个函数的导数

import numpy as np

x = np.poly1d([2, 1, 1])
print(x)
"""
2
2 x + 1 x + 1
"""
# 调用deriv进行求导
x1 = x.deriv()
print(x1) # 4 x + 1
# 显然这个结果是正确的
# 同样的,我们也可以计算相应的导数值
print(x1(3)) # 13

numpy中与高等数学有关的函数的更多相关文章

  1. numpy中与金融有关的函数

    fv函数 计算未来的价值 def fv(rate, nper, pmt, pv, when='end'): ... 参数: rate:存款/贷款每期的利率 nper:存款/贷款期数 pmt:存款/贷款 ...

  2. numpy中的argpartition

    numpy.argpartition(a, kth, axis=-1, kind='introselect', order=None) 在快排算法中,有一个典型的操作:partition.这个操作指: ...

  3. python -- numpy 基本数据类型,算术运算,组合,分割 函数

    0 NumPy数组 NumPy数组:NumPy数组是一个多维数组对象,称为ndarray.其由两部分组成: 实际的数据 描述这些数据的元数据 NumPy数组属性: ndim(纬数,x,y 2),sha ...

  4. numpy中linspace用法 (等差数列创建函数)

    linspace  函数 是创建等差数列的函数, 最好是在 Matlab  语言中见到这个函数的,近期在学习Python 中的 Numpy, 发现也有这个函数,以下给出自己在学习过程中的一些总结. ( ...

  5. Numpy中Meshgrid函数介绍及2种应用场景

    近期在好几个地方都看到meshgrid的使用,虽然之前也注意到meshgrid的用法.但总觉得印象不深刻,不是太了解meshgrid的应用场景.所以,本文将进一步介绍Numpy中meshgrid的用法 ...

  6. numpy中的arg系列函数

    numpy中的arg系列函数 觉得有用的话,欢迎一起讨论相互学习~Follow Me 不定期更新,现学现卖 numpy中arg系列函数被经常使用,通常先进行排序然后返回原数组特定的索引. argmax ...

  7. 内置函数和numpy中的min(),max()函数

    内置min()函数 numpy中的min()函数:

  8. Numpy中扁平化函数ravel()和flatten()的区别

    在Numpy中经常使用到的操作由扁平化操作,Numpy提供了两个函数进行此操作,他们的功能相同,但在内存上有很大的不同. 先来看这两个函数的使用: from numpy import * a = ar ...

  9. numpy中的快速的元素级数组函数

    numpy中的快速的元素级数组函数 一元(unary)ufunc 对于数组中的每一个元素,都将元素代入函数,将得到的结果放回到原来的位置 >>> import numpy as np ...

随机推荐

  1. 依赖注入框架之butterknife

    主页: https://github.com/JakeWharton/butterknife 用途: 主要用来简化各种初始化控件的操作 配置: 1. 在app/build.gradle文件中depen ...

  2. 解决 ElementTree 无法处理中文

    解决 ElementTree 无法处理中文,UnicodeEncodeError: ‘ascii’ codec can’t encode characters in position 76-99: o ...

  3. python中接受上一条命令执行的结果----subprocess.check_output()

    subprocess.call 是不能作为赋值的,需要用到 subprocess.check_output 函数,而且如果要引用赋值就必须使用subprocess.call(['echo',line] ...

  4. 40G传输技术浅析

    采用40G传输技术给运营商带来的好处 - 同样的带宽,更低的硬件成本.由于目前的光电器件工艺已臻于成熟,质量更为可靠,使40G的商用具有了必要的前提.同样是40G容量,器件的数量大致只有4个10G光接 ...

  5. Appium,AirTest切换使用时,appium罢工之坑(1)

    由于一些元素不能定位,所以最近项目引用了Airtest 问题场景: case的开始使用appium,case执行过程中,切换到airtest操作元素,待执行完airtest相关步骤之后,后续使用app ...

  6. 【神经网络与深度学习】卷积神经网络(CNN)

    [神经网络与深度学习]卷积神经网络(CNN) 标签:[神经网络与深度学习] 实际上前面已经发布过一次,但是这次重新复习了一下,决定再发博一次. 说明:以后的总结,还应该以我的认识进行总结,这样比较符合 ...

  7. 【VS开发】【电子电路技术】VPX技术介绍

    VPX技术介绍 杨跃江 2009-12-18 杨跃江 13902479857 中科祥云(深圳)信息产业有限公司 1VPX 技术 新型VPX(VITA 46)标准是自从VME引入后的25年来,对于VME ...

  8. 【VS开发】【Linux开发】【DSP开发】如何截获以太网帧并解析

    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 34 35 36 3 ...

  9. C学习笔记-枚举

    枚举定义 可以使用枚举(enumerated type)声明代表整数常量的符号名称,关键字enum创建一个新的枚举类型 实际上,enum常量是int类型的 枚举的本质就是int型的常量 enum sp ...

  10. java 兔子生仔问题

    题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少? 程序分析: 兔子的规律为数列1,1,2,3,5,8 ...