python-捕获分子的晶格结构-无法正常工作

2023-12-03

我有这个问题:

创建一个程序,构造一 (1) 维的晶格并 100000 个站点。在这个格子中随机放置一些陷阱 分子,其浓度为 c。随机放置 1 个粒子 放在格子上并让它执行随机游走。在这次行走中 您不会设置时间限制,即您不会声明 具体步数。当粒子落下时行走就会停止 陷阱中............................................注意边界 状况。当粒子到达晶格的边界时 不应该让它逃脱,而应该留在格子里, 要么返回到原来的位置,要么被放置在 格子的对面位置........

我的方法显示在我创建的代码中(我在其中有注释)。

def steps1d(self,pos,c):
    #pos: number of positions
    #c:   concentration of trap-particles

    # array full of traps (zeros)
    myzeros = sc.zeros(self.c*self.pos)

    # grid full of available positions(ones)
    grid = sc.ones(self.pos)

    # distribute c*pos zeros(traps) in random positions (number of positions is pos)
    traps = sc.random.permutation(pos)[:c*pos]

    # the grid in which the particle is moving which has traps inside it 
    grid[traps] = myzeros
    steps_count = []    # list which holds the number of steps
    free = 0
    for i in range(pos):
        # the step of the particle can be 0 or 1
        step=sc.random.random_integers(0,1)
        for step in grid[:]:
            if step == 1:
                free += 1
                steps_count.append(free)
            else:
                break
    return steps_count

我有 3 个问题:

1)我以 pos=10 为例,结果如下:

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 , 26, 27, 28, 29, 30, 31, 32, 33, 34, 35...]

我期望 1 次运行每个 10 个数字(可变位置)。

2)我不知道如何处理边界条件。我在想这样的事情:

if free > grid.size:
    free = free - 1

但我无法测试它。另外,我不确定这是否适用于网格的两个边界。

3)如果我想第一步从网格中间开始,我该怎么做?

如果有人对此有提示,我将不胜感激。


在较小的格子上,看看发生了什么:

import numpy

# Populate the lattice
lattice = numpy.concatenate([numpy.ones(90), numpy.zeros(10)])
numpy.random.shuffle(lattice)

# Intialize problem
in_trap = False
steps = 0
pos = int(numpy.random.randint(0,len(lattice),1))
history = []

while in_trap == False:
    # Step of -1 is backward, 1 is forward
    step = numpy.random.permutation([-1,1])[0]

    # Check position for edges and fix if required
    if pos + step > len(lattice) - 1:
        pos = 0
    elif pos + step < 0:
        pos = len(lattice) - 1
    else:
        pos += step

    # Keep track of random walk
    history.append(pos)

    # Check if it's a trap
    if lattice[pos] == 0:
        in_trap = True

    # If not, continue
    steps += 1


print steps
print history
print lattice

我鼓励您在整个过程中添加打印语句以查看每个变量持有什么值。在较小的晶格上进行尝试将有助于您了解其工作原理。

EDIT:

我将让您弄清楚具体细节,但我会将其包装在如下函数中。它设置函数,然后准备空步骤和历史列表来保存每次运行的结果。我们运行该函数,然后将结果附加到这些列表中。

def lattice():
    code
    return steps, history

steps = []
histories = []
for i in range(0,10):
    num_steps, history = lattice()
    steps.append(num_steps)
    histories.append(history)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python-捕获分子的晶格结构-无法正常工作 的相关文章

  • 将 3D 矩阵转换为级联 2D 矩阵

    我有一个3Dpython中的矩阵如下 import numpy as np a np ones 2 2 3 a 0 0 0 2 a 0 0 1 3 a 0 0 2 4 我想转换这个3D矩阵到一组2D矩阵 我努力了np reshape但这并没
  • DRF ManyToMany Field 在创建对象时出现错误

    我有一个Rant模型与Category使用链接到它ManyToManyField 我已经序列化了它 但问题是这个错误 categories Expected a list of items but got type str 这些是我的序列化
  • 添加图例到散点图

    这个问题已经被问到了 但我想找到一个更清晰的解决方案 给定 X 是 100x2 数据 标签是标签向量 从 1 到 9 我绘制散点图如下 pl scatter X 0 X 1 c labels pl show 如何仅用一行代码添加图例来解释颜
  • 使用非负约束进行优化

    考虑以下功能 import numpy as np import scipy optimize as opt import math Periodic indexation def pl list i return list i len l
  • Python daysBetweenDate

    我想我可能有一个无限循环 因为每当我运行代码时 我都会收到一条错误消息 它说 程序因使用 13 CPU 秒而关闭 整个代码 应该以日期作为输入并输出第二天 此代码假设所有月份都是 30 天 除了daysBetweenDates功能正常 其他
  • 在 Windows 7 上安装 Python Fabric 时出现问题

    我正在尝试使用以下指南在 Windows 7 上安装 Python Fabric在 Windows 上安装 Python 和 Fabric http www jonnyreeves co uk 2011 08 getting python
  • 在自定义 Dask 图中包含关键字参数 (kwargs)

    我正在使用 Dask 为一项操作构建自定义图表 熟悉如何将参数传递给 Dask 图中的函数 并阅读了docs http dask pydata org en latest custom graphs html 然而似乎还是缺少了一些东西 D
  • OpenCV Python 和 SIFT 功能

    我知道有很多关于Python and OpenCV但我没有找到有关这个特殊主题的帮助 我想提取SIFT关键点来自 python OpenCV 中的图像 我最近安装了 OpenCV 2 3 可以访问 SURF 和 MSER 但不能访问 SIF
  • 加速 Numpy 数组上的循环

    在我的代码中 我有一个 for 循环 它对多维 numpy 数组进行索引 并使用每次迭代时获得的子数组进行一些操作 看起来像这样 for sub in Arr do stuff using sub 现在使用完成的东西sub是完全矢量化的 所
  • python subprocess proc.stderr.read() 引入额外的行?

    我想运行一些命令并抓取输出到 stderr 的任何内容 我有两个版本的函数可以执行此操作 版本 1 def Getstatusoutput cmd Return status output of executing cmd in a she
  • NoneType 类型的对象没有 len

    def medianeven L while len L gt 2 L L 1 len L 1 return average L def medianodd L while len L gt 1 L L 1 len L 1 return L
  • f.read 为空

    我在解释器中完成这一切 loc1 council council1 file1 open loc1 r 此时我可以执行 file1 read 并将文件的内容作为字符串打印到标准输出 但如果我添加这个 string1 file1 read 字
  • scrapy蜘蛛如何将值返回给另一个蜘蛛

    我正在爬行的网站包含许多玩家 当我点击任何玩家时 我都可以进入他的页面 网站结构是这样的
  • 如何在Python中比较枚举?

    从 Python 3 4 开始 Enum类存在 我正在编写一个程序 其中一些常量具有特定的顺序 我想知道哪种方式最适合比较它们 class Information Enum ValueOnly 0 FirstDerivative 1 Sec
  • kombu.exceptions.EncodeError:用户不可 JSON 序列化

    我有 django 1 11 5 应用程序和 celery 4 1 0 我一直收到 kombu exceptions EncodeError
  • Python,socket.error:[Errno 10049]

    在开发一个简单的聊天客户端的基础上 遇到以下错误 socket error Errno 10049 The requested address is not valid in its context 代码是 from socket impo
  • 我们可以限制 luigi 任务的吞吐量吗?

    我们有一个 Luigi 任务 它向第三方服务请求一条信息 我们对该 API 调用每分钟可以执行的调用请求数量受到限制 有没有办法在每个任务的基础上指定调度程序每单位时间必须运行多少个此类任务 我们在任务中实施了自己的速率限制 我们的 API
  • 用python在pygame中制作一个8*8的棋盘

    我想用 python 在 pygame 中制作一个棋盘 只是带有 for 循环的棋盘 我尝试了多种方法来做到这一点 但我不知道它到底是什么 这是我的代码 import pygame pygame init set color with rg
  • 使 ArrayField 的 base_field 对于 Django 中的表来说是唯一的

    Goal 下面应该提出一个ValidationError gt gt gt m1 MyModel names name1 gt gt gt m2 MyModel names name1 name2 gt gt gt m1 save gt g
  • 为什么 Pytest 对夹具参数执行嵌套循环

    使用 Pytest 我想编写一个测试函数 该函数接受多个装置作为参数 每个灯具都有几个参数 例如 test demo py 中是一个函数test squared is less than 10需要固定装置 negative integer

随机推荐

  • 删除一篇文章并拉入下一页的第一篇文章

    我正在尝试建立一个带有分页系统的博客 例如每页 5 篇文章 分页本身一切都很好 但在每篇文章旁边我都添加了一个 删除 按钮 允许管理员动态删除 jquery 相关文章及其内容 我现在想要的是当我删除一篇文章时 附加 不刷新 下一页的第一篇文
  • 通过反射调用带有可选参数的方法

    我在使用带有可选参数的 C 4 0 时遇到了另一个问题 我如何调用一个函数 或者更确切地说是一个构造函数 我有ConstructorInfo对象 我知道它不需要任何参数 这是我现在使用的代码 type GetParameterlessCon
  • 添加引用对话框缺少 .NET Core 项目中的程序集部分

    我一直在创建我的第一个 NET Core 项目 在本例中 只是一个控制台应用程序 我注意到 当我右键单击依赖关系并选择添加参考 出现的对话框不再包含组件部分 在以前的版本中 此部分将列出所有 Microsoft 程序集并包含每个程序集的一些
  • Sybase BCP 与 MS SQL BCP

    我有一个需要使用的多数据库设置 并且两者都有自己的 bcp 版本 但其行为方式不同 另外 两者都在我的 PATH 中 并且 Sybase 列在 MS SQL exe 之前 因此从命令行调用 bcp 总是会命中 Sybase exe 首先 版
  • 将列值设置为 SQL 查询结果中的列名

    我想读取一个表 其中的值将是 sql 查询结果的列名 例如 我有 table1 作为 id col1 col2 0 name ax 0 name2 bx 0 name3 cx 1 name dx 1 name2 ex 1 name3 fx
  • 为什么我应该在并行流中使用并发特性和收集?

    为什么我应该在并行流中使用并发特性和收集 List
  • 为什么 onBeforeFirstShow 有效?

    我一直在学习主从演示 下面是一个片段Master controller js onInit function this getView addEventDelegate onBeforeFirstShow function this get
  • 无法加载文件或程序集“xxx”或其依赖项之一。尝试加载格式不正确的程序

    我刚刚将 Subversion 的修订版本签入了新文件夹 打开解决方案 运行时我得到这个 无法加载文件或程序集 xxxx 或其依赖项之一 试图加载格式不正确的程序 这与我不久前签入的代码相同 为什么现在它要这样做 我现在还在该 xxx 项目
  • 关于常量的一般CS问题

    在使用 C 编程之后 我正在使用 C 进行编程 所以我使用了很多常量 例如 DEFAULT USER ID REMOTE ADDRESS 等 在我看来 使用这样的常量是相当 老式 的 也许还有其他更优雅的方法来在对象之间使用一些常量数据 关
  • 单元格颜色 Django-Tables2

    问题 在哪里编辑 django 代码以根据业务逻辑更改单个单元格的背景颜色 在我的views py中 我有捕获列 pts 最大值的逻辑 def show teams request reg Teamoffense objects filte
  • 这些关于指针的陈述是否具有相同的效果?

    做这个 char myString hello 和这个有同样的效果吗 char actualString hello char myString actualString No char str1 Hello world char arra
  • iPhone 向 Google Apps 发送数据并从 Google Apps 检索数据?

    我见过一些 iPhone 应用程序具有将数据导出到 Google Apps 文档或电子表格的功能 我想为我的 iPhone 应用程序添加类似的功能 有相关的 API 吗 另一个方向怎么样 有没有办法从 Google Apps 电子表格获取数
  • JTable 与自定义 TableModel

    我正在尝试在 Java GUI 上实现 JTable 它可以用文件中的值填充自身 并允许用户对各种单元格进行修改 由于我在 Netbeans IDE 中使用 GUI 编辑器 因此我的第一反应是从调色板将 JTable 添加到我的表单中 但是
  • Swift 自定义 UITableViewCell 不显示数据

    我是 Swift 和 iOS 开发的新手 我正在尝试创建一个自定义 UITableViewCell 我已经在 UIViewController 内的 UITableView 顶部的主情节提要中创建了单元格 当我加载默认单元格之一时 我能够用
  • Jersey:将所有 POST 数据消耗到一个对象中

    我在我的应用程序中使用 Jersey 1 8 我正在尝试消费POST服务器上的数据 数据的类型是application x www form urlencoded 有没有一种方法可以获取一个对象中的所有数据 也许是Map
  • RSA 我应该使用 X.509 还是 PKCS #1

    使用案例 我有一个用例 其中客户端生成私钥和公钥 并将 Base 64 编码的公钥发送到服务器 在服务器端 我将使用此公钥对消息进行加密 并将加密的消息发送到客户端 客户端使用其私钥对其进行解密 商定的算法是 RSA 问题出在服务器端 我发
  • PHP mail() 附件已损坏

    我一直在努力尝试使用 PHP 发送带有附件的电子邮件 它曾经有效 但消息正文被打乱 现在我的邮件正文可以正常工作 但附件已损坏 我曾经对消息正文使用 Base64 编码 但现在使用 7 位 谁能告诉我我做错了什么 PS请不要告诉我应该使用预
  • 页面刷新后 $stateParams 为 null

    当通过 state go 传递 stateParams 时 当我直接单击链接时 它会正确显示 但在页面刷新或通过另一个窗口打开后会变为 null 我有以下功能 scope urlvalues function url page var re
  • 如何使用Http缓存控制保存firestore请求?

    假设我有一个运行 firebase firestore 数据库的网络 移动应用程序 我的应用程序设置为主要服务动态内容完全存储在 firestore 中 所以我们讨论的是缓存动态内容 例如 如果用户加载页面 A 它将向 firestore
  • python-捕获分子的晶格结构-无法正常工作

    我有这个问题 创建一个程序 构造一 1 维的晶格并 100000 个站点 在这个格子中随机放置一些陷阱 分子 其浓度为 c 随机放置 1 个粒子 放在格子上并让它执行随机游走 在这次行走中 您不会设置时间限制 即您不会声明 具体步数 当粒子