Численные методы решения прикладных задач - page 252

252
cout<<setw(5)<<t<<setw(7)<<p<<setw(7)<<z<<endl;
t0=t; p0=p; z0=z;
}
}
void
eiler_centr(){
double
f1,f2,tv,pv,zv;
double
t0=a, p0=4, z0=1;
cout<<
"metod Eilera s centrirovaniem:"
<<endl;
cout<<setw(5)<<
"t"
<<setw(7)<<
"p"
<<setw(7)<<
"z"
<<endl;
cout<<setw(5)<<t0<<setw(7)<<p0<<setw(7)<<z0<<endl;
for
(i=0; i<n; i=i+1){
f1=fz(t0,p0,z0);
tv=t0+h/2.0;
pv=p0+h/2.0*z0;
zv=z0+h/2.0*f1;
f2=fz(tv,pv,zv);
t=t0+h;
p=p0+h*zv;
z=z0+h*f2;
cout<<setw(5)<<t<<setw(7)<<p<<setw(7)<<z<<endl;
t0=t; p0=p; z0=z;
}
}
void
main()
{
cout<<
"n="
<<n<<endl;
eiler_prost();
eiler_usred();
eiler_centr();
}
Результат выполнения программы представлен на рис. 8.13.
Рис. 8.13. Результат выполнения программы
При
n
=100
целесообразно выводить решение в файлы eiler_pr.xls,
eiler_usr.xls, eiler_centr.xls, и в программе Microsoft Excel строить
графики.
Код программы при
n
=100
:
I...,242,243,244,245,246,247,248,249,250,251 253,254,255,256,257,258,259,260,261,262,...284
Powered by FlippingBook