 
        
        
          Добавил:
          
        
    
            korayakov
            
            
            
            
            
            Опубликованный материал нарушает ваши авторские права? Сообщите нам.
          
          Вуз:
          Предмет:
          Файл:
          
        
// laboratornaia rabota 4 - Ras4et s pomoshiu Zolotogo se4enia
#include <iostream.h>
#include <math.h>
void main (){
	double s;
	double U0,R,I0d,mft;
	double c;
	double f0,f1,f2,f3,a,b,x,E;
	int i=0;
	U0=5;
	R=3;
	I0d=1.2e-10;
	mft=0.025;
	a=0;
	b=5;
	E=0.001;
	while (fabs(b-a)>E)
		{
		
		x=(b-a)*((sqrt(5) - 1)/2);
		c=(b-a)-x;
		f0=fabs((U0-a)/R - I0d*(exp(a/mft)-1));
		f1=fabs((U0-x)/R - I0d*(exp(x/mft)-1));
		f2=fabs((U0-c)/R - I0d*(exp(c/mft)-1));
	    f3=fabs((U0-b)/R - I0d*(exp(b/mft)-1));
// cout << f0 << f1 << f2 << f3 << c << endl ; 
if (f0<=f1&&f0<=f2&&f0<=f3) b=x;
if (f1<=f0&&f1<=f2&&f1<=f3) b=x;
if (f2<=f0&&f2<=f1&&f2<=f3) a=c;
if (f3<=f0&&f3<=f1&&f3<=f2) a=c;
i++;
cout << "granizi intervalov " << " raveni = (" << a <<" , " << b << " )"<< endl;	
		
}
s=(a+b)/2;
cout << "zna4enie Fi na shage " << i << " raven = " << s << endl;
}
