Python之Numpy:线性代数/矩阵运算,大一线性代数公式大全,一 要点假定AX=b
Python之Numpy:线性代数/矩阵运算,大一线性代数公式大全,一 要点假定AX=b
一 要点
假定AX=b,求解未知矩阵X 【线性代数中常遇到的运算问题】矩阵转置A^(T)矩阵的逆A^(-1)矩阵行列式的值|A|矩阵的秩 rank(A)矩阵的迹 trace(A)其它单位矩阵0向量/矩阵...二 示例源码
2.1 求解AX=b中的未知参数矩阵X
import numpy as np# Hypothsis : A*X = bA = [[2,1,2], [3,1,0], [1,1,-1]];b = np.transpose([-3,5,-2])# 转置#[or] b = np.transpose(np.array([-3,5,-2]))# 转置# 求解未知参数矩阵XX = np.linalg.solve(A,b) # 方式一:直接使用numpy的solve函数一键求解#A_inv=np.linalg.inv(A) # 方式二:先求逆运算,再点积求值#X=np.dot(A_inv,b) # a.dot(b) 与 np.dot(a,b) 效果相同;but np.dot(a,b)与np.dot(b,a)效果肯定是不同的(线性代数/矩阵常识)print("方程组的解:\n",X);
# [output]方程组的解: [ 4.4 -8.2 -1.8]
2.2 利用最小二乘法拟合函数模型
原方程\[ f(x) = a + bx^3 \]其法方程
\[ A^T A \begin{pmatrix} a \\ b \\ \end{pmatrix} = A^T y \]
即:
\[ \begin{pmatrix} a \\ b \\ \end{pmatrix} = \left( A^T A \right)^{-1} A^T y \]
import numpy as npA = [ [1,pow(-3,3)], [1,pow(-2,3)], [1,pow(-1,3)], [1,pow(2,3)], [1,pow(4,3)]];At = np.transpose(A); # A的转置矩阵y = np.transpose([14.3,8.3,4.7,8.3,22.7]);# 令 (a ,b)^T 为 未知参数XX = np.dot(np.dot(np.linalg.inv(np.dot(At,A)),At),y)print(X);
# [output][ 10.67505325 0.13679816]
2.3 线性代数常用运算
print("原矩阵A:\n",A);print("原矩阵b:\n",b);print("转置矩阵A^T:\n",np.transpose(A)); # 转置print("矩阵的行列式值|A|:\n",np.linalg.det(A)); # 方阵的行列式值:|A|print("矩阵的迹trace(A):\n",np.trace(A)); print("矩阵的秩rank(A):\n",np.linalg.matrix_rank(A)); print("逆矩阵A^(-1):\n",np.linalg.inv(A)); #矩阵的逆运算(条件:矩阵A可逆(行列式值不为0)| 矩阵A为方阵)print("*"*30); # 分隔线print("N阶单位矩阵:\n",np.eye(4));
# [output]原矩阵A: [[2, 1, 2], [3, 1, 0], [1, 1, -1]]原矩阵b: [-3 5 -2]转置矩阵A^T: [[ 2 3 1] [ 1 1 1] [ 2 0 -1]]矩阵的行列式值|A|: 5.0矩阵的迹trace(A): 2矩阵的秩rank(A): 3逆矩阵A^(-1): [[-0.2 0.6 -0.4] [ 0.6 -0.8 1.2] [ 0.4 -0.2 -0.2]]**********************N阶单位矩阵: [[ 1. 0. 0. 0.] [ 0. 1. 0. 0.] [ 0. 0. 1. 0.] [ 0. 0. 0. 1.]]
三 推荐文献
Numpy - 菜鸟教程Python之Numpy:线性代数/矩阵运算
相关内容
- 吴裕雄 python深度学习与实践(17),,import ten
- Python程序的执行原理,,Python程序的执
- Python的简单使用(一),Python编程,python简介1、
- Python里三个好用的调试神器,PLC调试神器下载,调试是开
- Python cos() 函数,cos函数公式,描述cos()返回x
- python中read,readline,和readlines的区别 并逐行输出,,p
- Python3基本数据类型之int&str,,python 中的变
- 用 VSCode 编写 python,python编程是啥,一、coding1、
- Python开发qq批量登陆,qq被批量登录什么意思,操作步骤
- 娱教于乐!四大游戏类编程网站,学Python再也不枯燥无
评论关闭