首页 > 代码 > 行业代码 > 正文

代码

阅读排行

进退法求单峰区间
2014-01-20 17:27:13   来源:Fcode研讨团队   评论:0 点击:

本例提供一个简单方法求解一光滑函数的单峰区间。本例代码符合语法规范,可直接粘贴使用。

program www_fcode_cn
  implicit none
   real a,b,c,d,e,f,g,h,i,j,T
  !!初始点[a,b];方向[e,f];初始步长T;单峰区间[g,j];首次跨步后[h,i];目标方程c(a,b),d(h,i)
  write(*,*) "variable: "
  read(*,*) a,b
  write(*,*) "Direction: "
  read(*,*) e,f
  write(*,*) "Step Size: "
  read(*,*) T
  g = 0.0
  j = g + T
  c = 3*(a**3) - 8*a + 9
  h = a + j * e
  i = b + j * f
  d = 3*(h**3) - 8*h + 9
  if (c < d) -="" 9="" a="" b="b" c="" d="c" do="" e="" f="" g="g" if="" j="j" t="-T" then="" > d ) exit
      j = g - T
      T = 2*T        
    end do  
  else if (c > d) then
    do while(c > d)    
      c = d        
      g = j - T    
      T = 2*T
      j = j + T    
      h = a + j*e
      i = b + j*f    
      d = h**2 + i**2 - 8*h - 12*i + 52        
    end do
  end if      
  write(*,*) "Unimodal Interval: ", g,j
end program www_fcode_cn

相关热词搜索:进退法 单峰区间

上一篇:差分进化算法
下一篇:几何关系函数库

分享到: 收藏