Python 学习记录(1)
前言
简单说明:
- 简单情况:主要记录学习Python的简单情况,包括代码与结果,以及关键注释
- 工具与来源: 以下代码与结果都可在JupyterLab上实现,更多情况可看Github
使用 NumPy 可视化数学函数
1.可视化 f=x1*e(-x12-x22)
import numpy as np
import matplotlib.pyplot as plt
x1_array=np.linspace(-3,3,121)
#其中生成从-3,到 3 的121个数据的数组
x2_array=np.linspace(-3,3,121)
xx1,xx2=np.meshgrid(x1_array,x2_array)
#利用meshgrid函数生成网格化数据(二维数组,前后分别表示x,y轴;xx1,xx2都是二维数组)
ff=xx1*np.exp(-xx1**2-xx2**2)
#得出函数值,也是一个二维数组,表示的是对用点的数值
fig=plt.figure()
#创建一个图形对象
ax=fig.add_subplot(projection='3d')
#使用add_subplot()方法添加一个三维轴对象
ax.plot_wireframe(xx1,xx2,ff,
rstride=1,cstride=100,
color='grey')
ax.scatter(xx1,xx2,ff,c=ff,cmap='RdYlBu_r')
#在三维轴上绘制散点图
ax.set_proj_type('ortho')
#角度
plt.show()
结果图片:
2.可视化 f(x)=e^( -(x-2)^2 /2)
import numpy as np
import plotly.express as px
import matplotlib.pyplot as plt
x_array=np.linspace(-10,10,121)
y_array=np.exp(-((x_array-2)**2/2))
#同上
fig,ax=plt.subplots(figsize=(8,6))
#同时给出图像,坐标轴对象,其中“窗口”宽8,高6.(英寸)
ax.plot(x_array,y_array,
label='f(x)',color='r',linewidth=2)
#直接用plot方法绘画
ax.set_xlabel('x')
ax.set_ylabel('y')
#添加标签
ax.legend()
#添加图像解释
ax.set_xlim(0,4)
ax.set_ylim(-1,3)
#设置取值范围
ax.set_aspect('equal')
#表示相等
plt.grid()
#添加网格
plt.show()
3.可视化
其中 μx=0,μy=0,δx=1,δy=1,ρx,y=0.6
import numpy as np
import matplotlib.pyplot as plt
sigma_X = 1
sigma_Y = 1
rho_XY = 0.6
mu_X = 0
mu_Y = 0
def f_XY_PDF(xx1, xx2, sigma_X, sigma_Y, rho_XY, mu_X, mu_Y):
coeff = 2 * np.pi * sigma_X * sigma_Y * np.sqrt(1 - rho_XY**2)
coeff = 1/coeff
xx1_ = (xx1 - mu_X)/sigma_X
xx2_ = (xx2 - mu_Y)/sigma_Y
ellipse = 1/(1 - rho_XY**2) * (xx1_**2 - 2*rho_XY*xx1_*xx2_ + xx2_**2)
PDF = coeff * np.exp(-1/2 * ellipse)
return PDF
x1_array = np.linspace(-3, 3, 301)
x2_array = np.linspace(-3, 3, 301)
xx1, xx2 = np.meshgrid(x1_array, x2_array)
PDF_ff = f_XY_PDF(xx1, xx2, sigma_X, sigma_Y, rho_XY, mu_X, mu_Y)
fig, ax = plt.subplots(figsize=(4, 4))
ax.contourf(xx1, xx2, PDF_ff)
ax.set_xlim(-3, 3)
ax.set_ylim(-3, 3)
ax.set_xlabel('x')
ax.set_ylabel('y')
plt.grid()
ax.set_aspect('equal', adjustable='box')
结果:
Python 学习记录(1)的更多相关文章
- Python学习记录day6
title: Python学习记录day6 tags: python author: Chinge Yang date: 2016-12-03 --- Python学习记录day6 @(学习)[pyt ...
- Python学习记录day5
title: Python学习记录day5 tags: python author: Chinge Yang date: 2016-11-26 --- 1.多层装饰器 多层装饰器的原理是,装饰器装饰函 ...
- Python学习记录day8
目录 Python学习记录day8 1. 静态方法 2. 类方法 3. 属性方法 4. 类的特殊成员方法 4.1 __doc__表示类的描述信息 4.2 __module__ 和 __class__ ...
- Python学习记录day7
目录 Python学习记录day7 1. 面向过程 VS 面向对象 编程范式 2. 面向对象特性 3. 类的定义.构造函数和公有属性 4. 类的析构函数 5. 类的继承 6. 经典类vs新式类 7. ...
- Python学习记录:括号配对检测问题
Python学习记录:括号配对检测问题 一.问题描述 在练习Python程序题的时候,我遇到了括号配对检测问题. 问题描述:提示用户输入一行字符串,其中可能包括小括号 (),请检查小括号是否配对正确, ...
- 实验楼Python学习记录_挑战字符串操作
自我学习记录 Python3 挑战实验 -- 字符串操作 目标 在/home/shiyanlou/Code创建一个 名为 FindDigits.py 的Python 脚本,请读取一串字符串并且把其中所 ...
- 我的Python学习记录
Python日期时间处理:time模块.datetime模块 Python提供了两个标准日期时间处理模块:--time.datetime模块. 那么,这两个模块的功能有什么相同和共同之处呢? 一般来说 ...
- Python 学习记录
记录一些 学习python 的过程 -------------------------------------- 1. 初始学习 @2013年10月6日 今天开始学习python 了 遇到好多困难但是 ...
- python学习记录_IPython基础,Tab自动完成,内省,%run命令_
这是我第一次写博客,之前也有很多想法,想把自己所接触的,以文本的形式储存,总是没有及时行动.此次下定决心,想把自己所学,所遇到的问题做个记录共享给诸位,与此同时自己作为备忘,感谢各位访问我的博 ...
- Python学习记录----数据定义
摘要: 描述Python中数据定义格式,需要注意的东东. 一 数据声明 Python木有一般语言的具体数据类型,像char,int,string这些通通木有.这有点像javascript,但又不同,j ...
随机推荐
- CPP在内网穿透技术的思考
概述 内网穿透是一种技术,用于在私有局域网(LAN)中的设备与外部网络(如互联网)之间建立通信通道,使得外部设备可以访问内网中的服务.由于内网设备通常位于防火墙或 NAT(网络地址转换)设备之后,外部 ...
- 使用Navicat Premium 将数据库导入、导出方法
数据库导出 1.双击要导出的数据库,右键选转储SQL文件-,选择要保存的文件夹. 2.点击开始后,开始导出. 数据库导入 1.新建数据库,数据库的名字必须和导入的数据库文件一致. 2.在新建的数据库右 ...
- 这才是批量update的正确姿势!
前言 最近我有位小伙伴问我,在实际工作中,批量更新的代码要怎么写. 这个问题挺有代表性的,今天拿出来给大家一起分享一下,希望对你会有所帮助. 1 案发现场 有一天上午,在我的知识星球群里,有位小伙伴问 ...
- .Net 6 SignalR 实际业务开发中遇到的问题及解决办法
一.SiganlR 使用的协议类型 1.websocket即时通讯协议 2.Server-Sent Events(SSE)服务器事件 3.longpolling 长轮询. 如果客户端开启协商,会按顺序 ...
- 【赵渝强老师】Oracle数据库的内存结构
首先,我们通过一张图片来了解一下Oracle数据库的内存结构,如下: 每个数据库实例有两个关联的内存结构-系统全局区(SGA),程序全局区(PGA). 系统全局(SGA):一组共享的内存结构(称为SG ...
- LeetCode 1349. 参加考试的最大学生数 (状压DP 或 二分图最大独立子集)
给你一个 m * n 的矩阵 seats 表示教室中的座位分布.如果座位是坏的(不可用),就用 '#' 表示:否则,用 '.' 表示. 学生可以看到左侧.右侧.左上.右上这四个方向上紧邻他的学生的答卷 ...
- 将一个Eigen::Matrix中的数据(数组格式),按行写入到json文件当中.
1.这里主要实现如何以数组的形式写入到json文件当中,因为c++的Jsoncpp库中的.append只支持一个字符的写入(还是python的json友好).去网上找了老久的解决办法,发现中文解答全是 ...
- vue的计算属性computed和监视属性waatch的区别
共同的:都是用于监听数据变化的属性: 计算属性:必须有返回值return ,依赖其它属性值,其它属性值发生变化的时候就会重新计算 : 监视属性:每当数据变化的时候就会触发执行,watch有两个新值和旧 ...
- 43.v-if和v-for的优先级
v-for 的优先级高 延申问题:v-for 和 v-if 为什么不能在一起使用 ? 会造成性能的浪费,因为v-for 的优先级高,所以每次渲染都会执行v-if 判断条件,浪费时间 :比如 渲染 10 ...
- MidJourney新手攻略
目录 MidJourney简介 MidJourney的使用 1. 加入Discord 2. 选择一个频道 3. 使用/imagine来输入提示 4. 等待一分钟左右,会输出四张图 5. 查看结果 Re ...