Re: [問題] 關於微分的寫法
※ 引述《agody (講不聽)》之銘言:
: ※ 引述《latinboy (暱稱)》之銘言:
: : 你這樣寫當然不行......
: : 有些語言能夠直接作微分 可惜 fortran沒有....
: : 自己寫也很簡單 就是自己微阿
: : 隨便舉個例子 假設 y = x^3 + x^2 - x + 3
: : fortran寫法 y = x**3 + x**2 - x + 3
: : dy = 3*(x**2) + 2*x - 1
: : d2y = 6*x + 2
: 隨手寫的,不知道有沒有錯
: program main
: external y
: call diff_1st(y,1,f)<---後面(y,l,f) 為什麼和下面附程式名子的不一樣?
是有其他的意釋嗎?
: print *,f
: end
: subroutine diff_1st(fun,x,f)
: external fun
: dx = 1
: k=1
: f_old = (fun(x+dx)-fun(x-dx))/(2*dx)
: dx = dx/2
: do while(k) <--K是? 是 do while( K>0 )作回圈的意釋嗎?
: f_new = (fun(x+dx)-fun(x-dx))/(2*dx)
: dx = dx/2
: if(f_new.eq.f_old) k = 0
: f_old = f_new
: end do
: f = f_new
: return
: end
: function y(x) <---哪一個步驟是將值帶入?
: y = x**3 + x**2 - x + 3
: return
: end
因為我不太懂陣列的運用 ,所以有很多問題..請各位板大指點!!
orz
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.169.142.243
討論串 (同標題文章)
Fortran 近期熱門文章
PTT數位生活區 即時熱門文章