我建立了一个二分法的程序编写,当我有在对话框的Edit中输入时,程序能够运行,但是,当我直接点击按钮时,程序进入了死循环。请帮忙优化下。
if(m_epsilonUP>=0&&m_epsilonUP<=m_beta1)
{  while(fabs(G(m_epsilonUP))>fabs(m_deltaE))
 {      
  if(G(i)*G(j)>0)
 {
 
MessageBox("您不能得到最优解!"); 
  return;
 }
 if(G(i)*G(j)<0)
 {
 
 m_epsilonUP=(i+j)/2;
 }
                 if(G(i)*G(m_epsilonUP)<0)
 {
 j=m_epsilonUP;
 }
 if(G(m_epsilonUP)*G(j)<0)
 {
 i=m_epsilonUP;
 }
 
 a=cos(m_delta2*pi)*cos(m_epsilonUP*pi);
                 b=sin(m_delta2*pi);
                 c=sqrt((a*a)+(b*b));
                 d=atan((b/a));  m_delta1=(acos(cos(m_sigma*pi)/c)-d)*180/3.1415926;
                 m_beta2=m_beta1-m_epsilonUP;
                 m_r1=m_r2*cos(m_beta2*pi)*m_Z1/(m_Z2*cos(m_beta1*pi));