Toggle navigation
Images.Elk.pl
laborki cwiczenia 04 03 09
#include
#include
float lagr(float x[],float y[],int n1,float xx);
int main()
{
int n,n1,i;
float xp,xk,dx,xb,xx,yy;
float x[100],y[100];
FILE *plik1=fopen("dane.dat","w");
FILE *plik2=fopen("wynik.dat","w");
// generowanie wezlow interpolacji
printf(" podaj dane do generacji funkcji interpolowanej:\n");
printf(" podaj xp xk dx\n");
scanf("%f%f%f",&xp,&xk,&dx);
n=(xk-xp)/dx+1;
printf("ilosc wezlow interpolacji n=%d\n",n);
// if(n1>100) exit;
xb=xp;
for(i=1;i<=n;i++)
{
x[i]=xb;
y[i]=fabs(xb);
xb=xb+dx;
fprintf(plik1," %f %f\n",x[i],y[i]);
}
// interpolacja
printf(" podaj dane do interpolacji:\n");
printf(" podaj xp xk dx\n");
scanf("%f%f%f",&xp,&xk,&dx);
n1=(xk-xp)/dx+1;
xx=xp;
for(i=1;i<=n1;i++)
{
yy=lagr(x,y,n,xx);
fprintf(plik2," %f %f\n",xx,yy);
xx=xx+dx;
}
fclose(plik1);
fclose(plik2);
return 0;
}
float lagr(float x[],float y[],int n1,float xx)
{
float li,yy;
int i,j;
yy=0.;
for(i=1;i<=n1;i++)
{
li=1.;
for(j=1;j<=n1;j++) if(i!=j) li=li*(xx-x[j])/(x[i]-x[j]);
yy=yy+li*y[i];
}
return yy;
}
Wyszukiwarka
Podobne podstrony:
laborki cwiczenia 03 09
laborki cwiczenia 05 09
laborki cwiczenia 04 09
laborki cwiczenia 04 09
laborki cwiczenia 05 09
Środowa Audiencja Generalna Radio Maryja, 2011 03 09
TI 03 09 29 T B M pl
Cwiczenie 03
WSM 03 09 pl(2)
TI 03 09 25 T pl
Ćwiczenie 03
Strach być emerytem Nasz Dziennik, 2011 03 09
więcej podobnych podstron