均方位移python(Mean square displacement python)

我有一个轨迹文件,模拟20,000帧,每帧之间有5 ps的时间,我想做的是计算二维(x和y轴)的扩散。 但为了计算2D中的扩散,首先我必须计算研究中分子的均方位移。 MSD计算分子在随机游走中探索系统所需的平均时间。

我是python编程的新手,我真的想要一些帮助来解决这个问题并解决这个问题。 希望得到积极的回应。

I have a trajectory file from simulation of 20,000 frames with 5 ps time in between every frame, what I want to do is to calculate diffusion in 2 dimension (x and y axis). but to calculate diffusion in 2D, first I have to calculate Mean square displacement of the molecule under study. MSD calculates the average time taken by molecule to explore the system in random walks.

I am very new to python programming and I would really want some help to get started this problem and to solve this problem. Hope to get positive response.

原文:https://stackoverflow.com/questions/31264591

2020-09-22 21:09

满意答案

那么MSD就像听起来它是均方位移一样,所以你需要做的是找到每个位置的位置差(r(t + dt)-r(t))然后将其平方并最终取均值。 首先你必须从x和y找到r,这很容易。 我假设你从这里开始使用numpy。

import numpy as np

r = np.sqrt(xdata**2 + ydata**2)

diff = np.diff(r) #this calculates r(t + dt) - r(t)

diff_sq = diff**2

MSD = np.mean(diff_sq)

现在这是计算MSD的一般方法,然后你可以比较布朗运动,其中MSD = 4Dt大约2维。

Well the MSD is exactly as it sounds it is the mean square displacement so what you need to do is find the difference in the position (r(t + dt) -r(t)) for each position and then square it and finally take the mean. First you must find r from x and y which is easy enough. I am going to assume you are using numpy from here on out.

import numpy as np

r = np.sqrt(xdata**2 + ydata**2)

diff = np.diff(r) #this calculates r(t + dt) - r(t)

diff_sq = diff**2

MSD = np.mean(diff_sq)

Now this is the general way to calculate MSD then you can compare with things like Brownian motion where MSD = 4Dt approximately in 2 dimensions.

2015-07-07

相关问答

答案非常简单,顺便说一句,我给你留下了深刻的印象,你设法调试代码中所有潜在的错误。 以下行错了: displacedLine[center - 1] += change;

您正确计算了中心索引并更改了数量,但您错过了更改应该应用于高度方面的中点 。 那是: displacedLine[center - 1] = (displacedLine[start] + displacedLine[end]) / 2;

displacedLine[center - 1] += change;

我相信你明白...

是的,这里有几个例子 - 月球演示: http : //whiteflashwhitehit.com/2011/02/21/a-moon-in-webgl/ 忍者头演示: http : //threejs.org/examples/webgl_materials_normalmap.html Yep, here are a couple of examples – The moon demo: http://whiteflashwhitehit.com/2011/02/21/a-moon-in-w...

循环从后到前。 你做了什么改变每个圆圈的位置与圆圈0相同 for ( var i:int = 4; i > 0; i--)

{

circles[i].xPosition = circles[i-1].xPosition;

circles[i].yPosition = circles[i-1].yPosition;

}

Do the loop from back to front. What you did change every circle's pos...

如果你只计算相对于第一个位置的位移,那么你实际上并没有平均任何东西,因为MSD(1)是你的物体在一个时间步长内移动的平均距离。 所以你的推理是正确的。 但是,我会以相反的方式计算MSD:获得dt = 1(1-2,2-3,3-4,...)和平均值的所有位移。 这是MSD(1)。 然后,你得到dt = 2(1-3,2-4,...)和平均值的所有位移。 这是MSD(2)。 等等。 Matlab的一个有用属性是你可以对一些计算进行矢量化,即对整个数组进行计算,而不是逐个元素地进行计算。 因此,如果你有一个...

由于您使用display:inline-block每个.circle元素的样式,并且vertical-align的默认值为baseline ,因此向元素添加文本使其与其他元素的基线对齐。 我通过在.circle类中添加vertical-align:top来获得.circle 。 body {

font-size: 62.5%;

}

.container {

min-width: 32rem;

max-width: 96rem;

margin: 0 auto;

}

....

我刚看到你的帖子弹出,我想你已经把它整理出来了。 无论如何,如果你想做这样的包装,有一个巧妙的技巧来解决负面mod在C / Java中不能正常工作的事实。 你所做的只是将模数的多个(注意不要溢出)添加回数字以确保它是非负的。 然后你可以照常修改而不会破坏它。 这是一个例子: private int wrap(int n, int lowerBound, int upperBound) {

int lengthOfInterval = upperBound - lowerBound;

...

创建尺寸参数时,您更改了底座的位置和功率。 你写的(size ** 2) + 1但它应该是(2 ** size) + 1 。 这有望解决您的问题。 I managed to solve it by removing the 2D list and simply using a 1D list instead which is what I should have done in the first place but I didn't because I misread the original ...

这是一种奇特的说法,“ P是T的子串 ,紧接在位置s ”。 例如: 012345678910

P = ra

T = abracadabra

-- --

你有s = 1和s = 8位移,因为T[1+1, 1+2] = T[8+1,8+2] = ra 。 有许多算法可以解决这个问题 。 一个受欢迎的好的是KMP。 It's a fancy way of saying "P is a substring of T that occurs immediately after ...

在您的terrain材质中,设置wireframe = true ,您将能够看到发生了什么。 你的代码和纹理基本上都很好。 在加载器回调函数中计算顶点法线时会发生此问题。 几何体外环的计算顶点法线略微向外。 这很可能是因为在computeVertexNormals()它们是通过平均每个相邻面的面法线来计算的,并且模型“边”的面法线(黑色部分)被平均到那些顶点的顶点法线计算中。弥补“帽子”的外圈。 结果,“帽”的外环在位移图下向外扩展。 编辑:果然,直接从你的模型,外环的顶点法线向外指向。 内环的顶...

那么MSD就像听起来它是均方位移一样,所以你需要做的是找到每个位置的位置差(r(t + dt)-r(t))然后将其平方并最终取均值。 首先你必须从x和y找到r,这很容易。 我假设你从这里开始使用numpy。 import numpy as np

r = np.sqrt(xdata**2 + ydata**2)

diff = np.diff(r) #this calculates r(t + dt) - r(t)

diff_sq = diff**2

MSD =...

相关文章

Python 编程语言具有很高的灵活性,它支持多种编程方法,包括过程化的、面向对象的和函数式的。但最重

...

python2和python3的区别,1.性能 Py3.0运行 pystone benchmark的速

...

Python的文件类型 Python有三种文件类型,分别是源代码文件、字节码文件和优化代码文件

源代

...

python的官网:http://www.python.org/ 有两个版本,就像struts1和st

...

好久没有写了,还不是近期刚过的期末考试和期中考试 最近因为一个微信公众平台大赛在学phthon 找了本

...

python中的row函数均方_均方位移python(Mean square displacement python)相关推荐

  1. python中的row函数均方_row函数的使用方法

    row函数的使用方法 在平时的日常工作中,Excel中row函数怎么使用?下面是由百分网小编为大家准备的row函数的使用方法,喜欢的可以收藏一下!了解更多详情资讯,请关注应届毕业生考试网! 1.row ...

  2. python中list作为函数参数_在python中list作函数形参,防止被实参修改的实现方法

    0.摘要 我们将一个list传入函数后,函数内部对实参修改后,形参也会随之改变.本文将主要介绍这种错误的现象.原因和解决方法. 1.代码示例 def fun(inner_lst): inner_lst ...

  3. python中from是什么意思_听说你还在找python中import与from方法?

    这篇文章主要介绍了python中import与from方法总结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 一.模块& ...

  4. python中的array函数作用_数据分析的python基底(3)——array、Series、DataFrame笔记...

    <利用python进行数据分析>的第4.5章介绍了两个非常重要的包,NumPy和Pandas,这篇文章是我看这两章做的笔记,只列了要点和我觉得要留意的地方. 电子书和配套代码,还有一些学习 ...

  5. python中debug有什么用途_史上最方便的Python Debug工具

    最近在github上冒出了一个python的debug神器PySnooper,号称在debug时可以消灭print.那么该工具有哪些优点呢,如何使用该工具呢.本文就介绍该工具的优缺点和使用方式. 前言 ...

  6. python中led是什么意思_用于检测LED闪光灯的Python库

    很有可能解决这个问题.正如@John Percival Hackworth所说,opencv是解决这个问题的一个好选择.我可以给你一些建议.在拍一张带发光二极管的电路板的照片,因为你知道发光二极管的颜 ...

  7. python中circle是什么意思_啥是佩奇,让 Python 告诉你!

    原标题:啥是佩奇,让 Python 告诉你! 本文转载自公众号 恋习Python 刚刚, 被<啥是佩奇>这支广告片刷屏了. 佩奇明明是个喜剧角色, 却看哭了所有人. ▼ <啥是佩奇& ...

  8. python中eps是什么意思_如何将psfrag与使用Python Matplotlib创建的eps图形一起使用

    完成这项工作的可靠方法 如果所有psfrag选项都失败了,仍然有办法成功.EPS并不像第一眼看到的那样神奇的页面描述格式.在 因此,PS语法有助于我们在封装辅助EPS文件的情况下:%!PS-Adobe ...

  9. 一文让你彻底弄懂【Python中的where函数】

    你应该听说过,应用Python,可以让你处理一天的重复工作量,缩短到几分钟甚至更短.从此解放上班时间,研究更多更有效率的工作方法.进一步提升工作效率,让工作更出彩.这不是广告,这是实锤图片.    本 ...

最新文章

  1. “AI明星”地平线B轮融资6亿美元!
  2. python爬虫实例-记录一次简单的Python爬虫实例
  3. 【Linux】一步一步学Linux——init命令(138)
  4. Angular应用 vendor.js里的magic number 16384是什么含义
  5. 内存泄露检测 vld
  6. linux-0.11内核 调试教程+GCC源代码
  7. 幅度和幅值有区别吗_你知道避雷器与浪涌保护器的区别吗?
  8. 疫情,降薪,跳槽工作难找,任务重加班多,程序员的出路在何方?
  9. 崩坏学园2及大部分采用ETC1压缩格式的Unity3D游戏的拆包图处理
  10. hal 外部唤醒脚唤醒_探索者 STM32F407 开发板资料连载第二十二章 待机唤醒实验...
  11. Linux用php上传表单文件,文件太大提示[413 Request Entity Too Large]
  12. c++ 结构体和类的区别
  13. SSH学习之MVC和三层架构的区别
  14. 模糊c均值聚类及python实现
  15. TPU 使用TPU训练tensorflow初探(Colab)
  16. 西数、希捷、DIY移动硬盘详细拆解,暴力解析
  17. lollipop中文_lollipop的中文解释_lollipop的读音_lollipop的双语例句 - 英语词典
  18. Win11如何调整鼠标dpi?
  19. Linux系统如何更新升级
  20. pycharm设置中文,字体颜色修改,设置背景图片(图文讲解)

热门文章

  1. 幅相曲线渐近线_幅相频率特性曲线.PPT
  2. C语言编写压缩解压字符串程序
  3. 安装Memcached及Memcached配置
  4. mysql 查询随机10条数据 (转载)
  5. e.g., malformed request syntax, invalid request message framing, or deceptive request routing
  6. c语言周长和面积计算
  7. 拼多多怎么设置不包邮?怎么看评价?
  8. C++ opencv viz位姿可视化
  9. 猫抓老鼠c语言程序,猫抓老鼠问题C++实现一例(约瑟夫环问题)
  10. 天津大学计算机专业考研考什么,天津大学计算机专业考研难吗