Zadanie 1 cale podpunkt a


#include
#include
#define MAXN 10
double tp=0, tk=3;
void fun(double t, double *Y, double *F);
void vrk4( double x0, double y0[], double h, int n, void (*fun)(double, double*, double*), double y1[] );
void main()
{
double Y[4],Y1[4],t,h,max,suma=0,I=0,f;
int i,n,j;
FILE *pl;
h=0.01;
n=4;

pl=fopen("dane.txt","wt");

max=0.0;
Y[0]=0;
Y[1]=0;
Y[2]=1;
Y[3]=-1;
t=tp;

j=5;
for (i=0;i<=300;i++)
{
t=tp+i*h;

vrk4(t,Y,h,n,fun,Y1);


if(j==5)
{
fprintf(pl," %lf %lf\n ", t, Y[1]);
fprintf(pl," %lf %lf\n ", t,Y[0]);
printf("t=%lf, u(t)=%lf, u'(t)=%lf, u''(t)=%lf\n", t, Y[0], Y[1], Y[2]);
}
j++;
if(j==6)j=1;
f=Y[1]*Y[1];
if(i==0||i==300)suma=suma+f;
else suma=suma+2*f;
I=(h/2)*(suma);

if(fabs(Y[2])>max)max=fabs(Y[2]);

Y[0]=Y1[0];
Y[1]=Y1[1];
Y[2]=Y1[2];
Y[3]=Y1[3];

}

printf("\n\nI=%lf\n\n",I);
printf("\n\nWartosc maksymalna |u''(t)|=%lf\n",max);
fclose(pl);
}
void fun (double t, double *Y, double *F)
{
F[0]=Y[1];
F[1]=Y[2];
F[2]=Y[3];
F[3]=sin(t)-sqrt(1+Y[2]*Y[2])-Y[3]*Y[0];
}


Wyszukiwarka

Podobne podstrony:
Analiza Matematyczna 2 Zadania
ZARZĄDZANIE FINANSAMI cwiczenia zadania rozwiazaneE
ZADANIE (11)
zadanie domowe zestaw
Zadania 1
W 4 zadanie wartswa 2013
Sprawdzian 5 kl 2 matematyka zadania
zadania1
Zadania 2015 9
Logika W8 zadania
Logika troch teorii zadania
06 Zadania z rozwiązaniamiidd47

więcej podobnych podstron