Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz

01.02.2009, 18:00
|
|
Members of Antichat - Level 5
Регистрация: 15.06.2008
Сообщений: 941
Провел на форуме: 5111568
Репутация:
2399
|
|
модифицирований метод Ейлера
C:
Код:
#include <stdio.h>
#include <math.h>
#include <conio.h>
#define n 2
#define pi 3.14159265
void main(void)
{
int i;
double x,a,b,h,y[n],yn[n],yz[n];
double dy(int i,double x,double y[n]);
double modyficEYLER(int i,double h,double x,double y[n],double yz[n]);
a=pi/4;
b=pi/3;
h=0.026;
x=a;
y[0]=0.0;
y[1]=2.0;
printf("x= %lf\ty[1]= %lf\ty[2]= %lf\n",x,y[0],y[1]);
do
{
printf("x= %lf\t",x+h);
for(i=0;i<=n-1;i++)
{
yz[i]=y[i];
yn[i]=modyficEYLER(i,h,x,y,yz);
printf("y[%d]= %lf\t",i+1,yn[i]);
}
printf("\n");
for(i=0;i<=n-1;i++)
y[i]=yn[i];
x+=h;
}
while(x<=(b-h));
printf("\n");
getch();
}
double dy(int i,double x,double y[n])
{
if(i==0)
return y[1];
else
return -4*y[0]+8*(1/tan(2*x));
}
double modyficEYLER(int i,double h,double x,double y[n],double yz[n])
{
yz[i]=yz[i]+h*dy(i,x,yz);
return y[i]+0.5*h*( dy(i,x,y)+dy(i,x+h,yz) );
}
|
|
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|