08数学计算

# -*- coding: utf-8 -*-
import numpy as np
# =============================================================================
# 特征根与特征向量
# =============================================================================

arr15 = np.array([[1,2,5],[5,2,4],[6,3,2]])
#print("计算3*3矩阵的特征向量与特征根:\n",arr15)
#print('求解结果:\n',np.linalg.eig(arr15))
#打印计算结果之后、元组的第一个元素是特征根、每个元组对应的特征向量存储在元组的第二个元素中


# =============================================================================
# 求解多元线性回归方程
#多元线性回归模型一般用来预测 连续的因变量 ,
#比如根据天气预测游客数量、根据人口收入、教育水平、寿命等预测犯罪率等。
#模型可以写成:Y = Xa+b (Y为因变量、X为自变量、b为误差项、a为偏回归系数【偏回归系数的求解方程:b = 1/(X'X)X`Y】
#===========================================================================

X = np.arange(40).reshape(10,4)
print(X)
Y = np.arange(10.0)
print(Y)
#np.transpose(X)进行矩阵的转置
X_trans_X_inverse = np.linalg.inv(np.dot(np.transpose(X),X))
#np.linalg.inv()计算矩阵的逆
print(X_trans_X_inverse)
beta = np.dot(np.dot(X_trans_X_inverse,np.transpose(X)),X)
print("偏回归系数:\n",beta)
# =============================================================================
# 于是方程得出:Y=267.515625 X1+.....
# =============================================================================


# =============================================================================
# 求解一元二次方程组
# =============================================================================

A = np.array([[4,5,2],[2,6,8],[9,2,5]]) #定义一个数组存放方程组左边的系数、也就是自变量前的系数
b = np.array([52,15,36])    #定义一个数组存放方程组右边的常数值
X = np.linalg.solve(A,b)
print('多元一次方程的求解:\n',X)

 

posted @ 2019-03-28 00:03  Tony学长  阅读(122)  评论(0编辑  收藏  举报