| 5 | 1/1 | 返回列表 |
| 查看: 2791 | 回復(fù): 15 | |||
| 當(dāng)前只顯示滿足指定條件的回帖,點(diǎn)擊這里查看本話題的所有回帖 | |||
[交流]
【求助】使用MATLAB怎么實(shí)現(xiàn)擬合力場(chǎng)參數(shù)的程序?【已解決】 已有6人參與
|
|||
|
可以將根據(jù)VDW公式計(jì)算出的E_VDW_total視為各個(gè)原子間距離r(r是向量)以及原子VDW參數(shù){sigma}、{epsilon}變量集的函數(shù)。r (i)代表第i個(gè)掃描點(diǎn)的原子間距離向量,定義誤差函數(shù)ErrF=∑(r(i)下量化計(jì)算的能量-r(i)下的E_VDW_total)^2,然后對(duì)ErrF對(duì){sigma}和{epsilon}變量集中的每個(gè)變量求導(dǎo)得0,如果寫出來是線性形式可以用矩陣方程來解,如果不是的話可以用非線性優(yōu)化方法解,解出{sigma}、{epsilon},用這樣參數(shù)計(jì)算的VDW作用可以對(duì)所有掃描的點(diǎn)的能量都能較好描述?赡苷f得比較抽象,這與擬合ESP電荷的方法比較像,可看相關(guān)文獻(xiàn)。 [ Last edited by nono2009 on 2010-12-1 at 08:20 ] |

木蟲 (小有名氣)
Matlab


|
我是在問問題,這個(gè)是我寫的程序,其實(shí)跟最小二乘法有關(guān): function [a1,b1,a2,b2]=forcefieldfitting(r,e) %使用DFT計(jì)算的數(shù)據(jù)擬合力場(chǎng)參數(shù),e是使用量化計(jì)算出現(xiàn)的相互作用能,r是兩個(gè)分子片段之間的距離 %LJ-12-06公式中的EPSILON(C):a1 %LJ-12-06公式中的SIGMA(C):b1 %LJ-12-06公式中的EPSILON(O):a2 %LJ-12-06公式中的SIGMA(O):b2 %單個(gè)的CO2的能量可以認(rèn)為是兩個(gè)O的能量和一個(gè)C的能量的加和 if(length(e)==length(r)) n=length(e); else disp('e和r的維數(shù)不相等!'); return; end %維數(shù)檢查 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); |

| 但是就是運(yùn)行不出來,我是先用量子化學(xué)計(jì)算相互作用能,我要計(jì)算的是CO2的LJ參數(shù)勢(shì),計(jì)算出來的能量使用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)然后把此式分別對(duì)EPSILON(C),SIGMA(C),EPSILON(O),SIGMA(O)求導(dǎo),然后命令這些導(dǎo)數(shù)等于0,然后利用矩陣的左除,不知道這么做算法對(duì)不對(duì)? |

| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 求調(diào)劑 +4 | akdhjs 2026-03-31 | 5/250 |
|
|---|---|---|---|---|
|
[考研] 354求調(diào)劑 +3 | lxb598 2026-03-31 | 4/200 |
|
|
[考研] 328求調(diào)劑 +3 | 鵬鵬碰嘭嘭 2026-03-24 | 3/150 |
|
|
[考研] 274求調(diào)劑 +6 | xiao愛同學(xué) 2026-03-30 | 6/300 |
|
|
[考研]
|
小羊36 2026-03-30 | 3/150 |
|
|
[考研] 食品工程專碩一志愿中海洋309求調(diào)劑 +5 | 小張zxy張 2026-03-26 | 10/500 |
|
|
[考研] 286求調(diào)劑 +5 | Faune 2026-03-30 | 5/250 |
|
|
[考研] 348求調(diào)劑 +6 | 小懶蟲不懶了 2026-03-28 | 6/300 |
|
|
[考研] 求調(diào)劑 +10 | 張zz111 2026-03-27 | 11/550 |
|
|
[考研] 318一志愿吉林大學(xué)生物與醫(yī)藥 求調(diào)劑 +5 | 篤行致遠(yuǎn). 2026-03-28 | 5/250 |
|
|
[考研] 一志愿南航 335分 | 0856 | GPA 4.07 | 有科研經(jīng)歷 +8 | cccchenso 2026-03-29 | 8/400 |
|
|
[考研] 一志愿南昌大學(xué)324求調(diào)劑 +5 | hanamiko 2026-03-29 | 5/250 |
|
|
[考研] 340求調(diào)劑 +6 | Amber00 2026-03-26 | 6/300 |
|
|
[考研] 086000生物與醫(yī)藥調(diào)劑 +5 | Feisty。 2026-03-28 | 9/450 |
|
|
[考研] 308求調(diào)劑 +7 | 墨墨漠 2026-03-27 | 7/350 |
|
|
[考研]
|
18419759900 2026-03-25 | 8/400 |
|
|
[考研] 0856調(diào)劑 +5 | 求求讓我有書讀?/a> 2026-03-26 | 6/300 |
|
|
[碩博家園] 北京林業(yè)大學(xué)碩導(dǎo)招生廣告 +6 | kongweilin 2026-03-26 | 8/400 |
|
|
[考研] 321求調(diào)劑 +6 | wasdssaa 2026-03-26 | 6/300 |
|
|
[考研] 化學(xué)調(diào)劑一志愿上海交通大學(xué)336分-本科上海211 +4 | 小魚愛有機(jī) 2026-03-25 | 4/200 |
|