Скачиваний:
15
Добавлен:
01.05.2014
Размер:
760 б
Скачать
void newton (double x01, double x02)
{
  double p1=0, p2=0, x1, x2, h11, h12, h21, h22, alfa_r=0;
  int m=2000, k=1;
  x1=x01;
  x2=x02;
  agrad(x1,x2,p1,p2);
  H (x1, x2, p1, p2, h11,h12,h21,h22);
  p1=h11*p1+h12*p2;
  p2=h21*p1+h22*p2;
  while ((sqrt(p1*p1+p2*p2)>0.01)&&(k<=m))
  {
	 p1=p1/(sqrt(pow(p1,2)+pow(p2,2)));
	 p2=p2/(sqrt(pow(p1,2)+pow(p2,2)));
	 lab3(x1,x2,p1,p2,alfa_r);
	 x1=x1+alfa_r*p1;
	 x2=x2+alfa_r*p2;
	 alfa_r=0;
	 agrad(x1,x2,p1,p2);
	 H(x1, x2, p1, p2, h11,h12,h21,h22);
	 p1=h11*p1+h12*p2;
	 p2=h21*p1+h22*p2;
	 k++;
  }
//  cout<<"sqrt(p1*p1+p2*p2)="<<fabs(p1*p1+p2*p2)<<endl;
//  cout<<"x1="<<x1<<endl;
//  cout<<"x2="<<x2<<endl;
//  cout<<"Y="<<Y(0, x1, x2, p1, p2)<<endl;
  cout<<"k="<<k-1<<endl;
}
Соседние файлы в папке all