python中矩阵的学习

python中矩阵的学习

首先导入numpy库

1.Python中库的导入

import module导入某个模块整体

from module import function 从某个模块中导入某个函数

from module import * 从某个模块中导入所有函数

from numpy import *;#导入numpy的库函数
import numpy as np; #使用numpy函数别名np

2.矩阵的创建

a1=np.array([1,2,3]);
#mat是将数组转换为矩阵的
a1=mat(a1);
print(a1);#[[1 2 3]]

常见矩阵

#创建一个3*3的零矩阵,矩阵这里zeros函数的参数是一个tuple类型(3,3)
#注意这里数据类型,括号不能少,否则会报data type错误
data1=mat(zeros((3,3)));
#创建一个2*4的1矩阵,默认是浮点型的数据
data2=ones((2,4));
print(data1);
#使用的是numpy中的random模块
#生成一个3*3的10-15之间的随机整数矩阵
data3=random.randint(10,15,size=(3,3));
print(data3);
#生成一个2*2的对角矩阵
#2*eye 就是2*[1 0;0 1]
data4=2*(eye(2,2,dtype=int));
print(data4);
#生成一个对角矩阵
#[1,0,0;0,2,0;0,0,3]
data5=diag([1,2,3]);
print(data5);

3.矩阵的运算

矩阵乘法

#矩阵相乘 2*2 矩阵乘以2*1矩阵
a1=eye(2,2,dtype=int);
a2=mat([[1],[2]]);
print(a1*a2);#[[5]]
#矩阵点乘
#点乘要求矩阵的维数相同
a1=eye(2,2,dtype=int);
a2=mat([[1,3],[2,4]]);
a3=multiply(a1,a2);
print(a3);#[[1 0],[0 4]]  np.dot(a1,a2)

矩阵的转置和求逆

#矩阵的转置 T
a1=mat(array([[1,3],[2,1]]));
 a2=a1.T;
 print(a2);
#矩阵的求逆 numpy的linalg模块的inv方法
a1=2*eye(2,2,dtype=int);
a2=np.linalg.inv(a1);
a1=mat(array([[1,3],[2,1]]));
a2=a1.I;
print(a2);

4.矩阵、列表、数组

列表与数组的区别:数组的所有元素类型是相同的,而列表的元素类型是任意的。

列表可修改:

l1=[[1],'hello',3];

数组(常见属性):

# 矩阵、数组、列表的转换
a=array([[2],[1]]);
dimension=a.ndim;#二维
m,n=a.shape;     #2*1矩阵
number=a.size; #总个数
str=a.dtype;   #类型

数组和矩阵的相互转换

#数组-->矩阵
a1=array([[1,2],[3,4]]);
b1=asmatrix(a1);
print("数组转换为矩阵:{},输出类型:{}".format(b1,type(b1)));
#矩阵--->数组
a2=mat([[1,2],[3,4]]);
b2=asarray(a2);
print("矩阵转换为数组:{},输出类型:{}".format(b2,type(b2)));
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值