首页 > 其他分享 >维纳过程3维动图

维纳过程3维动图

时间:2024-11-10 11:12:46浏览次数:1  
标签:维动图 set frame 维纳 W3 W2 delta np 过程


import numpy as np
import matplotlib.pyplot as plt
from matplotlib.animation import FuncAnimation

# 设置参数
num_steps = 1000  # 时间步数
dt = 1.0 / num_steps  # 每个时间步的长度
t = np.linspace(0, 1, num_steps + 1)  # 时间序列

# 初始化维纳过程
W1 = np.zeros(num_steps + 1)
W2 = np.zeros(num_steps + 1)
W3 = np.zeros(num_steps + 1)

# 设置图形
fig, ax = plt.subplots()
ax.set_xlim(0, 1)
ax.set_ylim(-3, 3)
line1, = ax.plot(t, W1, label='Wiener Process 1', linestyle='-',color='k', linewidth=2)
line2, = ax.plot(t, W2, label='Wiener Process 2', linestyle='--')
line3, = ax.plot(t, W3, label='Wiener Process 3', linestyle='--')

# 初始化函数,用于动画的开始
def init():
    line1.set_data([], [])
    line2.set_data([], [])
    line3.set_data([], [])
    return line1, line2, line3

# 更新函数,用于动画的每一帧
def update(frame):
    # 生成正态分布的随机增量
    delta_W1 = np.random.normal(0, np.sqrt(dt))
    delta_W2 = np.random.normal(0, np.sqrt(dt))
    delta_W3 = np.random.normal(0, np.sqrt(dt))
    
    # 更新维纳过程
    W1[frame] = W1[frame - 1] + delta_W1 if frame > 0 else delta_W1
    W2[frame] = W2[frame - 1] + delta_W2 if frame > 0 else delta_W2
    W3[frame] = W3[frame - 1] + delta_W3 if frame > 0 else delta_W3
    
    line1.set_data(t[:frame+1], W1[:frame+1])
    line2.set_data(t[:frame+1], W2[:frame+1])
    line3.set_data(t[:frame+1], W3[:frame+1])
    return line1, line2, line3

# 创建动画
ani = FuncAnimation(fig, update, frames=num_steps, init_func=init, blit=True, interval=10)

# 显示图形
plt.title('Dynamic Wiener Processes')
plt.xlabel('Time')
plt.ylabel('W(t)')
plt.legend()
plt.show()

标签:维动图,set,frame,维纳,W3,W2,delta,np,过程
From: https://www.cnblogs.com/redufa/p/18537748

相关文章

  • Open3D (C++) 旋转矩阵转欧拉角公式推导及过程实现
    目录一、概述1.1原理1.2实现步骤1.3应用场景1.4注意事项二、关键函数2.1头文件2.2主要函数三、完整代码三、结果展示一、概述  将旋转矩阵转换为欧拉角是逆向理解三维对象姿态的一种方法。旋转矩阵是一个3x3的正交矩阵,它描述了在三维空......
  • 二维椭圆拟合算法及推导过程
    目录1、间接平差法2、最小二乘法3、matlab案例4、案例结果5、参考链接1、间接平差法  该方法忽略了半长轴相对于xxx轴的旋转角度,需要较好的初......
  • 超详细C语言函数栈帧的创建和销毁的过程讲解,细节满满
    目录一、ebp和esp二、main函数的函数栈帧(解释反汇编)(1)、push操作(2)、mov操作(3)、sub操作(4)、然后又是三个push操作(5)、lea操作:(6)、接着四步操作:三、如何创建的变量(创建变量的反汇编)(1)、第一个inta=10:此时如果没有给a变量赋值,那么该位置的值就是CCCCCCCC,这就是为什么未......
  • gigapath部署以及微调全过程
    0.0什么是gigapathgigapath是一个由微软开发的数字病理学全玻片基础模型,用于从高分辨率图像(如病理切片图像)中提取和处理信息的深度学习模型架构。图中分为abc三个部分a首先输入一张高清的病理图像,我们将它拆分成256*256的图像切片,从而可以逐块处理。每个图像块会被输入到一......
  • 流处理器与其他部件协同工作的过程
    流处理器与其他部件协同工作的过程如下:与CPU的协同:任务分配与指令传输:CPU负责整体的系统控制和任务调度。在图形渲染等需要大量并行计算的场景中,CPU将相关的图形数据处理任务分配给GPU。例如在运行3D游戏时,游戏的逻辑部分(如玩家的移动、游戏规则的判断等)由CPU处理,而......
  • 分析 Linux 内核创建一个新进程的过程
    张晓攀+原创作品转载请注明出处+《Linux内核分析》MOOC课程https://mooc.study.163.com/course/1000029000实验六——分析Linux内核创建一个新进程的过程一、实验过程1.将github上的menu项目克隆下来gitclonehttps://github.com/mengning/menu.git2.进入内核系统更新test......
  • 函数的栈帧空间创建与销毁全过程(详解~)
    目录一.什么是函数栈帧?二.理解函数栈帧的创建能解决哪些问题?三.创建函数栈帧空间的之前认知3.1什么是栈3.2认识相关寄存器3.3汇编指令四.创建和销毁全过程4.1预备知识4.1.1调用堆栈4.2打开反汇编4.3函数栈帧创建​编辑4.4函数栈帧销毁一.什么是函数栈......
  • 管线钢API 2Y-60钢板的制造过程API 2Y-60低温冲击试验、高压腐蚀试验
    API2Y-60钢板的制造过程涉及多个环节。首先,通过冶炼和连铸等工艺将原材料转化为钢板;然后,对钢板进行轧制、热处理等工艺操作,以获得所需的厚度和性能;最后,对钢板进行切割、弯曲和焊接等加工操作,以满足实际应用的需求。在整个制造过程中,需要严格控制各个环节的工艺参数和质量标准,......
  • 【Tomcat】Tomat 处理请求的过程(图解)
    1 前言最近在复习Tomcat的请求处理过程,之前也看过一些局部的细节,【SpringBoot+Tomcat】【一】请求到达后端服务进程后的处理过程-连接器的创建和执行、【SpringBoot+Tomcat】【二】请求到达后端服务进程后的处理过程-连接的处理细节,但是没看完整,这节我们从整体看一下Tom......
  • **直接存储器访问(Direct Storage, DS)**是一种高效的数据传输技术,主要用于加速数据在计
    直接存储器访问(DirectStorage,DS)**直接存储器访问(DirectStorage,DS)**是一种高效的数据传输技术,主要用于加速数据在计算机系统中的传输过程。它允许设备(如硬盘、固态硬盘(SSD)或其他外部存储设备)直接将数据传输到内存,而不经过CPU的中介。通过减少CPU的干预,DS能够显著提高数据的......