Добавил:
Maestro
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:LAB6-7
.H#include <stdio.h>
#include <math.h>
#include <conio.h>
main()
{
FILE *f1;
int n=0;
float x0=0,x2=1, x1=(x0+x2)/2;
float y0,y1,y2;
float x=x0,t=0,t1=-2.0,f,l2,N1,N2,P;
float a0,a1,a2;
float dy0,dy1,d2y0;
float hx,ht,n1=20;
float s1,s2,s3,s4,s5,s6,s7;
float d,d0,d1,d2;
float b0,b1,b2;
f1=fopen("lab67.txt","r+");
hx=(x2-x0)/n1;
ht=2.0/n1;
y0=12*x0*sqrt(x0*x0*x0+1);
y1=12*x1*sqrt(x1*x1*x1+1);
y2=12*x2*sqrt(x2*x2*x2+1);
a0=y0/((x0-x1)*(x0-x2));
a1=y1/((x1-x0)*(x1-x2));
a2=y2/((x2-x0)*(x2-x1));
dy0=y1-y0;
dy1=y2-y1;
d2y0=y2-y1-dy0;
s1=x0+x1+x2;
s2=x0*x0+x1*x1+x2*x2;
s3=x0*x0*x0+x1*x1*x1+x2*x2*x2;
s4=x0*x0*x0*x0+x1*x1*x1*x1+x2*x2*x2*x2;
s5=y0+y1+y2;
s6=x0*y0+x1*y1+x2*y2;
s7=x0*x0*y0+x1*x1*y1+x2*x2*y2;
d=3*s2*s4+s1*s3*s2+s1*s3*s2-s2*s2*s2-s1*s1*s4-s3*s3*3;
d0=s5*s2*s4+s6*s3*s2+s1*s3*s7-s2*s2*s7-s1*s6*s4-s3*s3*s5;
d1=3*s6*s4+s1*s7*s2+s5*s3*s2-s2*s6*s2-s5*s1*s4-s3*s7*3;
d2=3*s2*s7+s1*s3*s5+s1*s6*s2-s5*s2*s2-s1*s1*s7-s6*s3*3;
b0=d0/d;
b1=d1/d;
b2=d2/d;
clrscr();
do
{
f=12*x*sqrt(x*x*x+1);
l2=a0*(x-x1)*(x-x2)+a1*(x-x0)*(x-x2)+a2*(x-x0)*(x-x1);
N1=y0+t*dy0+((t*(t-1))/2)*d2y0;
N2=y2+t1*dy1+((t1*(t1+1))/2)*d2y0;
P=b2*x*x+b1*x+b0;
printf("%.4f %.4f %.4f\n",b2,b1,b0);
//printf("%2d %5.2f%5.1f%5.1f%7.3f%7.3f%7.3f%7.3f%7.3f%7.3f%7.3f%7.3f%7.3f\n",n++,x,t,t1,f,l2,fabs(f-l2),N1,fabs(f-N1),N2,fabs(f-N2),P,fabs(f-P));
//fprintf(f1,"%2d %5.2f %5.1f %5.1f %7.3f %7.3f %7.3f %7.3f %7.3f %7.3f %7.3f %7.3f %7.3f\n",n++,x,t,t1,f,l2,fabs(f-l2),N1,fabs(f-N1),N2,fabs(f-N2),P,fabs(f-P));
x+=hx;
t+=ht;
t1+=ht;
}
while(x<x2+hx);
getch();
}
Соседние файлы в предмете Вычислительная математика