24小时热门版块排行榜    

查看: 3355  |  回复: 15

zyj8119

木虫 (著名写手)

[交流] 【求助】使用MATLAB怎么实现拟合力场参数的程序?【已解决】 已有6人参与

可以将根据VDW公式计算出的E_VDW_total视为各个原子间距离r(r是向量)以及原子VDW参数{sigma}、{epsilon}变量集的函数。r (i)代表第i个扫描点的原子间距离向量,定义误差函数ErrF=∑(r(i)下量化计算的能量-r(i)下的E_VDW_total)^2,然后对ErrF对{sigma}和{epsilon}变量集中的每个变量求导得0,如果写出来是线性形式可以用矩阵方程来解,如果不是的话可以用非线性优化方法解,解出{sigma}、{epsilon},用这样参数计算的VDW作用可以对所有扫描的点的能量都能较好描述。可能说得比较抽象,这与拟合ESP电荷的方法比较像,可看相关文献。

[ Last edited by nono2009 on 2010-12-1 at 08:20 ]
回复此楼
好好学习,天天向上。
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zyj8119

木虫 (著名写手)

应该跟最小二乘法差不多。
好好学习,天天向上。
2楼2010-05-31 19:05:46
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lijinfeng042

木虫 (小有名气)

Matlab


zyj8119(金币+1):谢谢参与
你是在问问题呢 还是感觉在....
工作了,偶尔会上来~可以关注新浪微博 @云是风的梦_Matlab
3楼2010-05-31 20:01:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zyj8119

木虫 (著名写手)

我是在问问题,这个是我写的程序,其实跟最小二乘法有关:
   function [a1,b1,a2,b2]=forcefieldfitting(r,e)
        %使用DFT计算的数据拟合力场参数,e是使用量化计算出现的相互作用能,r是两个分子片段之间的距离
        %LJ-12-06公式中的EPSILON(C):a1
        %LJ-12-06公式中的SIGMA(C):b1
        %LJ-12-06公式中的EPSILON(O):a2
        %LJ-12-06公式中的SIGMA(O):b2
        %单个的CO2的能量可以认为是两个O的能量和一个C的能量的加和
       if(length(e)==length(r))
           n=length(e);
       else
           disp('e和r的维数不相等!');
           return;
       end                %维数检查
        A=zeros(4,3)
        B=zeros(4,2);
        for i=1:n
            A(1,1)=A(1,1)+(384*a1^2*b1^23)/r(i)^24;
            A(1,2)=A(1,2)+(192*a1^2*b1^11)/r(i)^12;
            A(1,3)=A(1,3)+(48*a1*e*b1^5)/r(i)^6;
            A(2,1)=A(2,1)+(32*a1*b1^24)/r(i)^24;
            A(2,2)=A(2,2)+(32*a1*b1^12)/r(i)^12
            A(2,3)=A(2,3)+(8*e(i)*b1^6)/r(i)^6;
            A(3,1)=A(3,1)+(1536*a2^2*b2^23)/r(i)^24;
            A(3,2)=A(3,2)+(768*a2^2*b2^23)/r(i)^12;
            A(3,3)=A(3,3)+(96*a2*e(i)*b2^5)/r(i)^6;
            A(4,1)=A(4,1)+(128*a2*b2^24)/r(i)^24;
            A(4,2)=A(4,2)+(128*a2*b2^12)/r(i)^12;
            A(4,3)=A(4,3)+(16*e(i)*b2^6)/r(i)^6;
            B(1,1)=B(1,1)+(576*a1^2*b1^17)/r(i)^18;
            B(1,2)=B(1,2)+(96*a1*e(i)*b1^11)/r(i)^12;
            B(2,1)=B(2,1)+(64*a1*b1^18)/r(i)^18;
            B(2,2)=B(2,2)+(8*e(i)*a1^12)/r(i)^12;
            B(3,1)=B(3,1)+(2304*a2^2*b2^17)/r(i)^18;
            B(3,2)=B(3,2)+(192*a2*e(i)*b2^11)/r(i)^12;
            B(4,1)=B(4,1)+(256*a2*b2^18)/r(i)^18;
            B(4,3)=B(4,3)+(16*e(i)*b2^12)/r(i)^12;
        end
        s=A\B;
        a1=s(1);
        b1=s(2);
        a2=s(3);
        b2=s(4);
好好学习,天天向上。
4楼2010-05-31 22:50:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zyj8119

木虫 (著名写手)


zzuwangshilei(金币+1):鼓励深入讨论自己的帖子 2010-06-01 14:21:17
但是就是运行不出来,我是先用量子化学计算相互作用能,我要计算的是CO2的LJ参数势,计算出来的能量使用E=4*EPSILON(C)((SIGMA(C)**12/R**12-(SIGMA(C)**6/R**6)+2*EPSILON(O)((SIGMA(O)**12/R**12-(SIGMA(O)**6/R**6)然后把此式分别对EPSILON(C),SIGMA(C),EPSILON(O),SIGMA(O)求导,然后命令这些导数等于0,然后利用矩阵的左除,不知道这么做算法对不对?
好好学习,天天向上。
5楼2010-05-31 22:53:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zyj8119

木虫 (著名写手)

这个程序是别人给我的,注释也不多,大家讨论看看,看具体是什么原理?
好好学习,天天向上。
6楼2010-06-01 15:00:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zyj8119

木虫 (著名写手)

搞错了,是自己写的程序,我看成是自己另外一个帖子了。
好好学习,天天向上。
7楼2010-06-01 15:01:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

onesupeng

金虫 (职业作家)


zyj8119(金币+1):谢谢参与
zyj8119(金币+4): 2010-06-02 08:18:47
引用回帖:
Originally posted by zyj8119 at 2010-05-31 17:25:07:
可以将根据VDW公式计算出的E_VDW_total视为各个原子间距离r(r是向量)以及原子VDW参数{sigma}、{epsilon}变量集的函数。r (i)代表第i个扫描点的原子间距离向量,定义误差函数ErrF=∑(r(i)下量化计算的能量-r(i)下的E_VDW_total)^2,然后对ErrF对{sigma}和{epsilon}变量集中的每个变量求导得0,如果写出来是线性形式可以用矩阵方程来解,如果不是的话可以用非线性优化方法解,解出{sigma}、{epsilon},用这样参数计算的VDW作用可以对所有扫描的点的能量都能较好描述。可能说得比较抽象,这与拟合ESP电荷的方法比较像,可看相关文献

~~~~~~~~~~~~~~这哪是求助,搞得像导师辅导博士生一样~
长期招收博士生,参见http://fsl-unsw.com
8楼2010-06-02 06:56:19
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zyj8119

木虫 (著名写手)

ctgu_zheng:可以编辑你的帖子,将你的问题简洁明了的写出来。。 2010-09-01 19:27:31
引用回帖:
Originally posted by onesupeng at 2010-06-02 06:56:19:

~~~~~~~~~~~~~~这哪是求助,搞得像导师辅导博士生一样~

我就是想看看这个MATLAB程序怎么编而已,呵呵。
好好学习,天天向上。
9楼2010-06-02 08:19:23
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zyj8119

木虫 (著名写手)

没有人了吗?
好好学习,天天向上。
10楼2010-06-02 16:36:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 zyj8119 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 今天务委会开完了,明天出结果吗 +18 angus9576 2026-08-25 22/1100 2026-08-26 00:41 by merchancy
[论文投稿] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +3 7K1CJE38xLG4 2026-08-25 3/150 2026-08-26 00:40 by cNXvBfCpiZOM
[基金申请] 2026年8月25日国自然放榜前突然收到列入评审专家邮件,有关系吗? +16 木水思豆 2026-08-25 19/950 2026-08-25 23:56 by dragonxp
[考研] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 +3 7K1CJE38xLG4 2026-08-25 3/150 2026-08-25 23:20 by cNXvBfCpiZOM
[基金申请] 在坚冰还盖着北海的时候,我看到了怒放的梅花。 (金币+10) +6 ziyangfang 2026-08-25 9/450 2026-08-25 20:26 by huagongfeihu
[基金申请] 明天应该可查了!? +6 chengyan1220 2026-08-23 6/300 2026-08-25 19:45 by zfd97
[基金申请] 有没有大神帮我看看基金代码 28+4 1234567wang 2026-08-24 10/500 2026-08-25 19:15 by lfy8008
[基金申请] 放榜前的不淡定 20+4 snowwithsea 2026-08-19 19/950 2026-08-25 17:57 by chick875
[基金申请] 2026国自然函评费到账 +20 羊腰板 2026-08-21 23/1150 2026-08-25 16:34 by zsna
[基金申请] 没有任何消息-是不是就凉了 +9 图啦图啦 2026-08-24 10/500 2026-08-25 11:59 by 南海小哥
[教师之家] 导师吐槽:我怎么摊上了这么个极品研究生! +3 苏东坡二世 2026-08-23 3/150 2026-08-25 10:35 by shisan1313
[基金申请] 我面上完蛋了 +13 且听虎啸 2026-08-20 14/700 2026-08-25 09:10 by mrkang
[基金申请] 范进中举一文的中心思想 +7 炎黄贵胄 2026-08-22 8/400 2026-08-25 08:48 by ZJTJZ
[基金申请] 只有每年这种时候来逛逛小木虫 +25 yaoyewhu2008 2026-08-20 27/1350 2026-08-25 08:01 by Equinoxhua
[基金申请] 建议基金发布提前给出明确的时间点 +13 kulium 2026-08-21 16/800 2026-08-24 16:27 by superceng
[基金申请] 让我中一个面上吧! +13 大萍1987 2026-08-20 16/800 2026-08-24 10:23 by 太傻了
[教师之家] 跳槽后在研项目怎么办? +5 简单化xn 2026-08-22 10/500 2026-08-23 12:38 by 简单化xn
[基金申请] 时间戳今天,20号变了 +5 archvillain 2026-08-20 5/250 2026-08-22 06:12 by hui_daxiao
[基金申请] 时间戳又变了 +13 wuchongjun 2026-08-20 19/950 2026-08-21 17:21 by 紫杉醇
[基金申请] 应该是下周三26日公布了吧? +4 哈哈蛤? 2026-08-21 4/200 2026-08-21 10:58 by Vivilian
信息提示
请填处理意见