作者notebook5566 (筆記本之五六不能亡)
看板Fortran
標題[問題] 關於對變數微分的寫法
時間Mon Apr 13 21:05:23 2015
大家好 打給賀!
我想寫一條通式,讓fortran可以自動對變數微分
變數[x]=x1,x2,...,xn [y]=y1,y2,...,yn
我大概的想法是這樣:
__
do i=1,n
do j=1,n
do k=1,n
if (i/=j .and. i/=k .and. j<k) then
[x(j)-x(i)][x(j)-x(k)]+[y(j)-y(i)][y(j)-y(k)]
ceta(i,j,k)=acos(----------------------------------------------)
sqrt{[x(j)-x(i)]^2+[y(j)-y(i)]^2}*...
sqrt{[x(j)-x(k)]^2+[y(j)-y(k)]^2}
else
ceta(i,j,k)=(0)
end if
end do
end do
end do
dcetax=diff(ceta,x(i)) !將ceta對x(i)微分
dcetay=diff(ceta,y(i)) !將ceta對y(i)微分
__
註1:ceta(i,j,k)我用分數表示,希望能好看懂
註2:x(i) y(i)的數值我都有,希望可以直接得出數字
但是不知道如何正確的寫成程式
還請各位前輩指教
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.116.155.140
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Fortran/M.1428930326.A.386.html
1F:→ notebook5566: 我有想過 DERIV(F,KORDER,X,BGSTEP,TOL) 這語法, 04/13 21:09
2F:→ notebook5566: 但我的電腦資料庫好像沒有這個函式@@ 04/13 21:10
3F:→ Cypresslin: 關於DERIV請搜尋IMSL library 04/19 15:23