laborki cwiczenia 01 04 09


#include
#include
double bisek(double a,double b,double(*f)(double x),double eps,int *it);
double fx(double x);
double fm(double m);
double pp,gam;
void main()

{ double a,b,eps,x,m; int k;
//printf("podaj pp i gam:\n");
//scanf("%lf%lf",&pp,&gam);
gam=1.4;
pp=0.2724;
printf("podaj a i b:\n");
scanf("%lf%lf",&a,&b);
printf("podaj eps:\n");
scanf("%lf",&eps);
//x=bisek(a,b,fx,eps);
m=bisek(a,b,fm,eps,&k);
printf("m=%lf l=%d\n",m,k);
}
double bisek(double a,double b,double(*f)(double x),double eps,int *it)
// PROCEDURA BISEKCJI DO ROZWIAZYWANIA ROWNAN NIELINIOWYCH f(x)=0
// f- ZADANA FUNKCJA a,b-PRZEDZIAL PIERW. eps-DOKLADNOSC
{
double x;int l;
l=0;
do
{
x=0.5*(a+b);
l=l+1;
if(f(a)*f(x)<0.0) b=x;
else a=x;
*it=l;
}
while(fabs(b-a)>eps);

return x;
}



double fx(double x)
{double f;
f=cos(x)-x;
return f;
}
double fm(double m)
{ double r,q;
r=1.+(gam-1.)/2.*m*m;
q=-gam/(gam-1.);
return pow(r,q)-pp;
}
double sieczne(double a,double b,double(*f)(double x),double eps)
// PROCEDURA BISEKCJI DO ROZWIAZYWANIA ROWNAN NIELINIOWYCH f(x)=0
// f- ZADANA FUNKCJA a,b-PRZEDZIAL PIERW. eps-DOKLADNOSC
{
double x;
do
{
x=b-f(b)8(b-a)/(f(b)-f(a));
if(f(a)*f(x)<0.0) b=x;
else a=x;
}
while(fabs(b-a)>eps);
return x;
}



Wyszukiwarka

Podobne podstrony:
laborki cwiczenia 04 09
laborki cwiczenia  03 09
laborki cwiczenia  05 09
laborki cwiczenia  03 09
laborki cwiczenia 05 09
2014 11 09 ZUSO Ćwiczenie 04
A Biegus Cz 3 Wymiarowanie konstrukcji 2013 04 09
Patologia Ćwiczenia 04
04 j 09
04 09
2005 04 09
2005 04 09
Rozporządzenie Ministra Finansów z dnia 08 04 09 r w sprawie uprawnienia do prowadzenia ksiąg rachu
cwiczenie 9 04 10
Analiza cwiczenia 8 04 13
CWICZENIE 04 12
Laboratorium elektrotechniki Ćwiczenie 04

więcej podobnych podstron