Метод Эйлера
|
Ввести обозначения
y'=z
z'+B z+K y=A
|
|
Модифицированный метод Эйлера-1 модификация
|
Ввести обозначения
y'=z
z'+B z+K y=A
|
|
Модифицированный метод Эйлера-2 модификация
|
Ввести обозначения
y'=z
z'+B z+K y=A
|
|
Метод Рунге-Кутта
|
Ввести обозначения
y'=z
z'+B z+K y=A
|
|
| Метод Эйлера
Программа на языке CИ
#include <iostream.h>
#include <iomanip.h>
#include <math.h>
double F(double x,double y,double z)
{return (2*x-3-4*z-4*y);}
int main()
{
double x0,y0,z0,x,y,z,xp,h,Hp,a,b;
int kp,n;
cout.precision(5);
cout.setf(ios::left);
cout<<"VVedite n.y. x0,y0,z0"<<endl;
cin>>x0>>y0>>z0;
cout<<"vvedite a i b"<<endl;
cin>>a>>b;
cout<<"vvedite chislo razbien"<<endl;
cin>>n;
cout<<"Shag pechati"<<endl;
cin>>kp;
cout<< "x"<<setw(10)<<"y"<<setw(10)<<"z"<<endl;
cout<<"_______________________________"<<endl;
cout<< x0<<setw(10)<<y0<<setw(10)<<z0<<endl;
h=(b-a)/n;
Hp=kp*h;
x=x0;
xp=x0;
while(x<b)
{
xp=xp+Hp;
while(x<xp)
{x=x0+h;
y=y0+h;
z=z0+F(x0,y0,z0)*h;
x0=x;
y0=y;
z0=z;
}
coutБ<x<<setw(10)<<y<<setw(10)<<z<<endl;
}
return 0;}
|
| Модифицированный метод Эйлера
Программа на языке CИ
#include <iostream.h>
#include <iomanip.h>
#include <math.h>
double F(double x,double y,double z)
{return (2*x-3-4*z-4*y);}
int main()
{
double x0,y0,z0,x1,y1,z1,x,y,z,xp,h,Hp,a,b;
int kp,n;
cout.precision(5);
cout.setf(ios::left);
cout<<"VVedite n.y. x0,y0,z0"<<endl;
cin>>x0>>y0>>z0;
cout<<"vvedite a i b"<<endl;
cin>>a>>b;
cout<<"vvedite chislo razbien"<<endl;
cin>>n;
cout<<"Shag pechati"<<endl;
cin>>kp;
cout<<"x"<<setw(5)<<"y"<<setw(5)<<"z"<<endl;
cout<<"_____________________________"<<endl;
cout<<x0<<setw(5)<<y0<<setw(5)<<z0<<endl;
h=(b-a)/n;
Hp=kp*h;
x=x0;
xp=x0;
while(x<b)
{
xp=xp+Hp;
while(x<xp)
{x1=x0+h/2;
y1=y0+(h/2)*z0;
z1=z0+(h/2)*F(x0,y0,z0);
x=x1+h/2;
y=y0+h*z1;
z=z0+h*F(x1,y1,z1);
x0=x;
y0=y;
z0=z;
}
cout<<x<<setw(5)<<y<<setw(5)<<z<<endl;
}
return 0;}
|
| Программа на языке СИ
#include <iostream.h>
#include <iomanip.h>
#include <math.h>
double F(double x,double y,double z)
{return (2*x-3-4*z-4*y);}
int main()
{
double x0,y0,z0,x1,y1,z1,x,y,z,xp,h,Hp,a,b;
int kp,n;
cout.precision(5);
cout.setf(ios::left);
cout<<"VVedite x0,y0,z0"<<endl;
cin>>x0>>y0>>z0;
cout<<"vvedite a i b"<<endl;
cin>>a>>b;
cout<<"vvedite chislo razbien"<<endl;
cin>>n;
cout<<"Shag pechati"<<endl;
cin>>kp;
cout<< "x"<<setw(10)<<"y"<<setw(10)<<"z"<<endl;
cout<<"_________________________________"<<endl;
cout<< x0<<setw(10)<<y0<<setw(10)<<z0<<endl;
h=(b-a)/n;
Hp=kp*h;
x=x0;
xp=x0;
while(x<b)
{
xp=xp+Hp;
while(x<xp)
{x1=x0+h;
y1=y0+h*z0;
z1=z0+h*F(x0,y0,z0);
x=x1;
y=y0+h*(z0+z1)/2;
z=z0+h*(F(x0,y0,z0)+F(x1,y1,z1))/2;
x0=x;
y0=y;
z0=z;
}
cout<< x<<setw(10)<<y<<setw(10)<<z<<endl;
}
return 0;}
|
| | |