24小时热门版块排行榜    

查看: 3350  |  回复: 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

木虫 (著名写手)


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的回帖
查看全部 16 个回答

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的回帖
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 今天务委会开完了,明天出结果吗 +13 angus9576 2026-08-25 13/650 2026-08-25 18:24 by miguan3344
[基金申请] 放榜前的不淡定 20+4 snowwithsea 2026-08-19 19/950 2026-08-25 17:57 by chick875
[基金申请] 某些机构,以效率低为荣,以效率低作为存在感 +9 yuleib84 2026-08-25 10/500 2026-08-25 17:14 by alexon
[基金申请] 有没有大神帮我看看基金代码 28+3 1234567wang 2026-08-24 9/450 2026-08-25 16:51 by 北京莱茵编辑
[基金申请] 2026国自然函评费到账 +20 羊腰板 2026-08-21 23/1150 2026-08-25 16:34 by zsna
[基金申请] 如果此刻你正在为国基感到焦虑,不妨来听听这首《基金之外》 +8 scalable 2026-08-24 8/400 2026-08-25 12:52 by jnhyjjm
[基金申请] 人气不行了 +11 fansofjerry 2026-08-21 11/550 2026-08-25 11:04 by 孤独的英雄6
[基金申请] 我面上完蛋了 +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
[基金申请] 能否退出参与的面上项目解除限项 +21 koalala 2026-08-24 24/1200 2026-08-24 19:25 by 家与远方
[基金申请] filecode,4个jtjc了 +14 ziyangfang 2026-08-19 17/850 2026-08-24 18:37 by 哈哈蛤?
[基金申请] 建议基金发布提前给出明确的时间点 +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
[基金申请] 今天放榜吗? +15 布布和一二 2026-08-19 16/800 2026-08-23 09:55 by 张春生
[基金申请] 时间戳今天,20号变了 +5 archvillain 2026-08-20 5/250 2026-08-22 06:12 by hui_daxiao
[基金申请] 看来今天不会放榜了? +8 chengyan1220 2026-08-21 11/550 2026-08-21 17:52 by dcqxinyang
[基金申请] 时间戳又变了 +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
[基金申请] 今天放榜没戏了吧 +9 yuleib84 2026-08-19 11/550 2026-08-21 10:06 by gltch
信息提示
请填处理意见