ANU COMP6670 Python学习笔记
ANU COMP6670 Python学习笔记
目录
- ANU COMP6670 Python学习笔记
- Numpy
- Numpy矩阵运算总结
- 1. 创建矩阵对象
- 2. 元素获取
- 3. 矩阵运算
- 4. 高级运算
- Matplotlib相关
- 1.quiver画箭头
- 2.scatter画散点图
- 3.plot
- Sklearn
- 1. sklearn中的make_blobs的用法
- Python语法
- Assignment1 相关代码
Numpy
首先import相关库
# numpy
import numpy as np!pip install sympy
import sympy as sp# matplotlib
import matplotlib.pyplot as plt
%matplotlib inline
Numpy矩阵运算总结
1. 创建矩阵对象
import numpy as np #引入numpy库#创建一维的narray对象(1行5列)
a = np.array([1,2,3,4,5])#创建二维的narray对象(2行5列)
a2 = np.array([[1,2,3,4,5],[6,7,8,9,10]])#创建多维对象以其类推
2. 元素获取
#获取单个元素:
print('\nSingle Element Extraction')
b = A[0, 0]
print(b)#获取第一列:
print('\nColumn Extraction')
b = A[:, 0]
print(b)#获取第一行:
print('\nRow Extraction')
b = A[0, :]
print(b)#获取某几行某几列元素(第2、3行第3、4列):
#冒号左闭右开
print('\nRow Extraction')
b = A[1:3, 2:5]
print(b)
3. 矩阵运算
运算符 | 作用 |
---|---|
+ | 矩阵对应元素相加 |
- | 矩阵对应元素相减 |
* | 矩阵对应元素相乘(注意区别于理论上的矩阵乘法) |
/ | 矩阵对应元素相除 |
% | 矩阵对应元素相除后取余 |
** | 矩阵每个元素都取n次方,如**2:每个元素都取平方 |
@ | 理论上的矩阵乘法 |
A = np.array([[2, 3], [0, 1]])
x = np.array([[1], [3]])#Matrix Multiplication Example
b = A @ x
print('\nMatrix Multiplication')
print(b)
#结果:[[11]
# [ 3]]#Matrix Addition Example
b = A + x
print('\nMatrix Addition')
print(b)
#结果:[[3 4]
# [3 4]]#Elementwise Multiplication Example
b = A * x
print('\nElementwise Matrix Multiplication')
print(b)
#结果:[[2 3]
# [0 3]]
4. 高级运算
运算函数 | 结果 |
---|---|
np.dot(a,b) | 计算a和b的点积 |
A.T | 得到矩阵A的转置矩阵 |
np.linalg.inv(A) | 得到矩阵A的逆矩阵 |
np.linalg.pinv(A) | 得到矩阵A的伪逆矩阵 |
np.linalg.solve(A, B) | 求解线性方程组AX=B |
# define A,B
A = np.array([[2, 3, 4], [0, 1, 3], [-1, 0, 2]])
B = np.array([[3], [5],[7]])# show solution
X = np.linalg.solve(A, B)
print (X)
# 结果: [[-11.]
# [ 11.]
# [ -2.]]A_inv = np.linalg.inv(A)#YOUR CODE HERE
print(A_inv)
# 结果:
# [[-2. 6. -5.]
# [ 3. -8. 6.]
# [-1. 3. -2.]]A = np.array([[1, 3], [2, 7], [5, 1]])
B = np.array([[13], [30], [9]])
A_pseudo_inverse = np.linalg.pinv(A)
print(A_pseudo_inverse)
# 结果:
# [[-0.00544323 -0.02799378 0.21228616]
# [ 0.05287714 0.12908243 -0.0622084 ]]
Matplotlib相关
1.quiver画箭头
https://matplotlib.org/3.1.1/api/_as_gen/matplotlib.pyplot.quiver.html
https://blog.csdn.net/liuchengzimozigreat/article/details/84566650
2.scatter画散点图
https://www.cnblogs.com/shuaishuaidefeizhu/p/11359826.html
https://blog.csdn.net/m0_37393514/article/details/81298503
3.plot
https://www.jianshu.com/p/ed3f31fc6a41
Sklearn
1. sklearn中的make_blobs的用法
sklearn中的make_blobs函数主要是为了生成数据集的,具体如下:
调用make_blobs
from sklearn.datasets import make_blobs
make_blobs的用法
data, label = make_blobs(n_features=2, n_samples=100, centers=3, random_state=3, cluster_std=[0.8, 2, 5])
- n_features表示每一个样本有多少特征值
- n_samples表示样本的个数
- centers是聚类中心点的个数,可以理解为label的种类数
- random_state是随机种子,可以固定生成的数据
- cluster_std设置每个类别的方差
例子:
'''创建训练的数据集'''
from sklearn.datasets import make_blobs
data, label = make_blobs(n_features=2, n_samples=100, centers=2, random_state=2019, cluster_std=[0.6,0.7] )
data有2个特征(n_features=2),样本个数是100(n_samples=100)
再看看生成的label:
label只有0或者1(centers=2),维度是100
random_state给定数值后,每次生成的数据集就是固定的,方便后期复现,默认的是每次随机生成
原文链接:https://blog.csdn.net/weixin_44177568/article/details/102213508
Python语法
1.python里面交换两个变量的值:
a,b = b,a
不需要先建一个temp先接下来,再赋值。直接交换就行。
Assignment1 相关代码
高斯消去法获得REF和RREF矩阵
schmidt正交化获得标准正交基
ANU COMP6670 Python学习笔记相关推荐
- [python教程入门学习]python学习笔记(CMD执行文件并传入参数)
本文章向大家介绍python学习笔记(CMD执行文件并传入参数),主要包括python学习笔记(CMD执行文件并传入参数)使用实例.应用技巧.基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋 ...
- python学习笔记之编写readConfig读写配置文件
python学习笔记之编写readConfig读写配置文件_weixin_34055910的博客-CSDN博客
- Python学习笔记(十一)
Python学习笔记(十一): 生成器,迭代器回顾 模块 作业-计算器 1. 生成器,迭代器回顾 1. 列表生成式:[x for x in range(10)] 2. 生成器 (generator o ...
- Python学习笔记一简介及安装配置
Python学习笔记一 参考教程:廖雪峰官网https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e54 ...
- python学习笔记目录
人生苦短,我学python学习笔记目录: week1 python入门week2 python基础week3 python进阶week4 python模块week5 python高阶week6 数据结 ...
- Python学习笔记(二):标准流与重定向
Python学习笔记(二):标准流与重定向 - SamWei - 博客园 Python学习笔记(二):标准流与重定向 Posted on 2012-02-19 22:36 SamWei 阅读(176) ...
- python 学习笔记 12 -- 写一个脚本获取城市天气信息
近期在玩树莓派,前面写过一篇在树莓派上使用1602液晶显示屏,那么可以显示后最重要的就是显示什么的问题了. 最easy想到的就是显示时间啊,CPU利用率啊.IP地址之类的.那么我认为呢,假设可以显示当 ...
- python基本语法语句-python学习笔记:基本语法
原标题:python学习笔记:基本语法 缩进:必须使用4个空格来表示每级缩进,支持Tab字符 if语句,经常与else, elif(相当于else if) 配合使用. for语句,迭代器,依次处理迭代 ...
- 廖Python学习笔记一
1. 廖Python学习笔记 大的分类 如函数 用二级标题,下面的用三级 如输入输出 1.1.1. 输入输出 1.1.1.1. 输出 用 print() 在括号里加上字符串,就可以向屏幕上输出指定的文 ...
最新文章
- 2022-2028中国曝光机市场现状及未来发展趋势
- 阿里无人车配送快递突破 100 万单,小蛮驴牵引的自动驾驶战略布局
- QIIME 2用户文档. 3老司机上路指南(2018.11)
- pytorch 自定义参数不更新
- The application could not be verified
- ubuntu14.04安装dropbox
- codefore 213 C Relay Race (朴素DP)
- 了解如何解决OSGI捆绑包
- 怎么让员工服从管理_职场 | 在职场中,遇到不服从管理的员工,该怎么办呢?...
- linux常用计划任务,浅谈:linux cron 计划任务常用符号小结
- spring-jar包详解整理
- iOS-代码实现TableViewCell创建多个样式的Cell
- 关于全局低级键盘hook的记录(WH_KEYBOARD_LL)
- Jxl读写Excel文件
- 金字塔原理(Pyramid Principle)
- 网页设计html轮播代码,20行js代码实现网页轮播图效果
- 关于源级串联电感提高稳定性的理由
- Windows系统,文件和文件夹命名规则
- python交易是什么意思_Py交易是什么意思
- Vue设计模式,发布订阅,响应式原理(简略版)