前言

简单说明:

  1. 简单情况:主要记录学习Python的简单情况,包括代码与结果,以及关键注释
  2. 工具与来源: 以下代码与结果都可在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)的更多相关文章

  1. Python学习记录day6

    title: Python学习记录day6 tags: python author: Chinge Yang date: 2016-12-03 --- Python学习记录day6 @(学习)[pyt ...

  2. Python学习记录day5

    title: Python学习记录day5 tags: python author: Chinge Yang date: 2016-11-26 --- 1.多层装饰器 多层装饰器的原理是,装饰器装饰函 ...

  3. Python学习记录day8

    目录 Python学习记录day8 1. 静态方法 2. 类方法 3. 属性方法 4. 类的特殊成员方法 4.1 __doc__表示类的描述信息 4.2 __module__ 和 __class__ ...

  4. Python学习记录day7

    目录 Python学习记录day7 1. 面向过程 VS 面向对象 编程范式 2. 面向对象特性 3. 类的定义.构造函数和公有属性 4. 类的析构函数 5. 类的继承 6. 经典类vs新式类 7. ...

  5. Python学习记录:括号配对检测问题

    Python学习记录:括号配对检测问题 一.问题描述 在练习Python程序题的时候,我遇到了括号配对检测问题. 问题描述:提示用户输入一行字符串,其中可能包括小括号 (),请检查小括号是否配对正确, ...

  6. 实验楼Python学习记录_挑战字符串操作

    自我学习记录 Python3 挑战实验 -- 字符串操作 目标 在/home/shiyanlou/Code创建一个 名为 FindDigits.py 的Python 脚本,请读取一串字符串并且把其中所 ...

  7. 我的Python学习记录

    Python日期时间处理:time模块.datetime模块 Python提供了两个标准日期时间处理模块:--time.datetime模块. 那么,这两个模块的功能有什么相同和共同之处呢? 一般来说 ...

  8. Python 学习记录

    记录一些 学习python 的过程 -------------------------------------- 1. 初始学习 @2013年10月6日 今天开始学习python 了 遇到好多困难但是 ...

  9. python学习记录_IPython基础,Tab自动完成,内省,%run命令_

        这是我第一次写博客,之前也有很多想法,想把自己所接触的,以文本的形式储存,总是没有及时行动.此次下定决心,想把自己所学,所遇到的问题做个记录共享给诸位,与此同时自己作为备忘,感谢各位访问我的博 ...

  10. Python学习记录----数据定义

    摘要: 描述Python中数据定义格式,需要注意的东东. 一 数据声明 Python木有一般语言的具体数据类型,像char,int,string这些通通木有.这有点像javascript,但又不同,j ...

随机推荐

  1. Redis入门 - C#|.NET Core封装Nuget包

    经过前面章节的学习,可以说大家已经算Redis开发入门了.已经可以去到项目上磨砺了. 但是今天我还想和大家分享一章:封装自己的Redis C#库,然后打包成Nuget包. 首先要说明的是:不是要自己开 ...

  2. ChatGPT中Java相关问答(包括Java基础知识和一些面试题)

    分享一个自己学习Java时的记录ChatGPT中的对话:https://chatgpt.com/share/66e8f009-0fd0-8000-b458-8c5812d0b631 包括如下问题 Ho ...

  3. DOM 的事件流

    事件流分为三个阶段:捕获 ==>目标 ==>冒泡 1. 事件捕获阶段:事件传播由目标节点的祖先节点逐级传播到目标节点.先由文档的根 节点 document(window)开始触发对象,最后 ...

  4. EDGE 浏览器占用内存优化

    windows + s 搜索 service 打开服务 : 找到下面 edge 三项 双击 把启动类型都改成 手动触发

  5. 018 人生中第一次用 Python 写的一个小程序_猜年龄(再次强调,重视基础)

    博客配套视频链接: https://space.bilibili.com/383551518?spm_id_from=333.1007.0.0 b 站直接看 配套 github 链接:https:// ...

  6. kotlin协程——>异常处理

    异常处理 本节内容涵盖了异常处理与在异常上取消.我们已经知道取消协程会在挂起点抛出 CancellationException 并且它会被协程的机制所忽略.在这⾥我们会看看在取消过程中抛出异常或同 ⼀ ...

  7. KubeSphere 多行日志采集方案深度探索 

    作者:大飞哥,视源电子运维工程师,KubeSphere 用户委员会广州站站长 采集落盘日志 日志采集,通常使用 EFK 架构,即 ElasticSearch,Filebeat,Kibana,这是在主机 ...

  8. 从围绕API到围绕数据-使用流式编程构建更简洁的架构

    背景 在服务刚刚搭建时,通常的思维就是根据API编写业务逻辑: // SendStream ... func (d *Svc) SendStream(stream MyApi_data.ProxyDi ...

  9. Nuxt.js 应用中的 builder:watch 事件钩子详解

    title: Nuxt.js 应用中的 builder:watch 事件钩子详解 date: 2024/10/24 updated: 2024/10/24 author: cmdragon excer ...

  10. 一文彻底弄懂MySQL的优化

    在企业级 Web 开发中,MySQL 优化是至关重要的,它直接影响系统的响应速度.可扩展性和整体性能.下面从不同角度,列出详细的 MySQL 优化技巧,涵盖查询优化.索引设计.表结构设计.配置调整等方 ...