python学习笔记--6.python中的matlab矩阵

本文分享了一位Python初学者的学习笔记,重点介绍了使用NumPy库进行矩阵运算的方法,包括矩阵创建、基本运算、数据选择及常用矩阵生成函数等。适合Python新手快速上手矩阵操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这是在学习Python的时候做的笔记,有些时间了,大概是按照一本挺实用的入门书籍学的,我学习编程的思路一般是掌握基础的变量类型,语法-分支结构 函数调用 类创建 结构体定义,记录一些简单的实例,剩下的就是需要用什么百度现学。

对我来说python的优势是,没有类型要求,不用声明,没有指针,万能数组,库很强大。

以前已知使用matlab做矩阵的运算,现在没想到python中也有这个库,功能还挺全的

代码

from numpy import *
import numpy as np

# 两种引用差很多 这种才能完全引用 最上面的只是函数
# 使用array函数创建时,参数必须是由方括号括起来的列表,而不能使用多个数值作为参数调用array。
# 可以在创建时显式指定数组中元素的类型 dtype 可作为可选参数
a1 = array([1, 2, 3])
a2 = array([9, 8, 7])
a3 = a1 + a2

a4 = a1 * 2
a5 = a1 ** 2
a6 = a1 * a2  # 乘法 平方 点乘

# 基本数据选择
b1 = array([[1, 2, 3], [4, 5, 6]])
print(str(b1[0]))  # 第一行
print(str(b1[0][0]))  # 第一个元素  b1[0, 0]一样的
print(b1[:, 1:])  # 选择维度的方法同原操作类型 : 可使用变量定义



# 常用的生成矩阵函数
c1 = ones((2, 3))  # 1矩阵
c2 = zeros((2, 2))  # 0 矩阵
c3 = full((3, 4), 7)  # 满矩阵 7
c4 = eye(3)  # 对角矩阵
c5 = arange(10, 30, 5)  # 数列数组 差值为5 arange(6)为[0,1,2,3,4,5]
# arrange精度有限 所以使用logspace
c6 = logspace(0, 1, 100, base=10)  # 100个0-1的数字 基础加10(可选参数)
#  random自带许多分布的api
c7 = np.random.rand((2, 3))  # 均匀分布随机数组
c8 = random.randint(1, 100, [5, 5])  # 5*5 1-100的随机整数
c9 = random.randn(3, 3)  # 正态分布



# 矩阵变换
# 矩阵维度变换
d1 = arange(6).reshape((2, 3)) # 产生[0,..5]变为2行3列
# 矩阵的拓展 tile
x = mat([1, 2, 3])
tile(x, (2, 3))  # 拓展为2行3列

# 创建矩阵 上文的好像都是数组。。。。
m = mat([0, 1, 2])  # 真的矩阵 取值方法只有m[0,1]
print(m[0, 1])
list = [3, 4, 5, 6]  # 列表可以转换为矩阵
m = mat(list)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值