看板 Fortran 關於我們 聯絡資訊
大家好 打給賀! 我想寫一條通式,讓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://www.ptt.cc/bbs/Fortran/M.1428930326.A.386.html
notebook5566: 我有想過 DERIV(F,KORDER,X,BGSTEP,TOL) 這語法, 04/13 21:09
notebook5566: 但我的電腦資料庫好像沒有這個函式@@ 04/13 21:10
Cypresslin: 關於DERIV請搜尋IMSL library 04/19 15:23