前言

简单说明:

  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. CPP在内网穿透技术的思考

    概述 内网穿透是一种技术,用于在私有局域网(LAN)中的设备与外部网络(如互联网)之间建立通信通道,使得外部设备可以访问内网中的服务.由于内网设备通常位于防火墙或 NAT(网络地址转换)设备之后,外部 ...

  2. 使用Navicat Premium 将数据库导入、导出方法

    数据库导出 1.双击要导出的数据库,右键选转储SQL文件-,选择要保存的文件夹. 2.点击开始后,开始导出. 数据库导入 1.新建数据库,数据库的名字必须和导入的数据库文件一致. 2.在新建的数据库右 ...

  3. 这才是批量update的正确姿势!

    前言 最近我有位小伙伴问我,在实际工作中,批量更新的代码要怎么写. 这个问题挺有代表性的,今天拿出来给大家一起分享一下,希望对你会有所帮助. 1 案发现场 有一天上午,在我的知识星球群里,有位小伙伴问 ...

  4. .Net 6 SignalR 实际业务开发中遇到的问题及解决办法

    一.SiganlR 使用的协议类型 1.websocket即时通讯协议 2.Server-Sent Events(SSE)服务器事件 3.longpolling 长轮询. 如果客户端开启协商,会按顺序 ...

  5. 【赵渝强老师】Oracle数据库的内存结构

    首先,我们通过一张图片来了解一下Oracle数据库的内存结构,如下: 每个数据库实例有两个关联的内存结构-系统全局区(SGA),程序全局区(PGA). 系统全局(SGA):一组共享的内存结构(称为SG ...

  6. LeetCode 1349. 参加考试的最大学生数 (状压DP 或 二分图最大独立子集)

    给你一个 m * n 的矩阵 seats 表示教室中的座位分布.如果座位是坏的(不可用),就用 '#' 表示:否则,用 '.' 表示. 学生可以看到左侧.右侧.左上.右上这四个方向上紧邻他的学生的答卷 ...

  7. 将一个Eigen::Matrix中的数据(数组格式),按行写入到json文件当中.

    1.这里主要实现如何以数组的形式写入到json文件当中,因为c++的Jsoncpp库中的.append只支持一个字符的写入(还是python的json友好).去网上找了老久的解决办法,发现中文解答全是 ...

  8. vue的计算属性computed和监视属性waatch的区别

    共同的:都是用于监听数据变化的属性: 计算属性:必须有返回值return ,依赖其它属性值,其它属性值发生变化的时候就会重新计算 : 监视属性:每当数据变化的时候就会触发执行,watch有两个新值和旧 ...

  9. 43.v-if和v-for的优先级

    v-for 的优先级高 延申问题:v-for 和 v-if 为什么不能在一起使用 ? 会造成性能的浪费,因为v-for 的优先级高,所以每次渲染都会执行v-if 判断条件,浪费时间 :比如 渲染 10 ...

  10. MidJourney新手攻略

    目录 MidJourney简介 MidJourney的使用 1. 加入Discord 2. 选择一个频道 3. 使用/imagine来输入提示 4. 等待一分钟左右,会输出四张图 5. 查看结果 Re ...