至急お願いします。

至急お願いします。

数値解析のプログラミングの問題です。

dx(t)/dt=3x(t)+2

x...至急お願いします。

数値解析のプログラミングの問題です。

dx(t)/dt=3x(t)+2

x(0)=0 を台形則を用づくオイラー法で解け

という問題なのですが、解法の筋道を立てることができません。 C言語かエクセルで解きたいのです。

ヒントだけでもいいので教えて下さい。/*

0713_134753改訂オイラー法,c

macaron252さん

 

数値解析のプログラミングの問題です。

dy(x)/dx_=_f(x,y)_=_3y(x)+2

y(0)=0

を台形則に「基づく」オイラー法で解けという問題です

>>>>_ならば、こうです

__k1_=_f(x,y)

__k2_=_f(x+h,y+hk1)

__yn_=_y_+_(k1+k2)*h/2

 

C言語かエクセルで解きたいのです。

ヒントだけでもいいので教えて下さい。

>>>>C言語で

同じ積分区間を様々な分割ピッチで試算し、

真値への収束状況を観察します。

*/

#include_<stdio.h>

 

#define___XEND__1.0

 

//_導関数

double_f(double_x,double_y){

__return_3*y+2;

}

 

//_改訂オイラー法(台形積分相当)

double_eular(double_x,double_y,double_h){

__double__k1,k2;

__k1_=_f(x,y);

__k2_=_f(x+h,y+h*k1);

__return_y+(k1+k2)*h/2;

}

 

//_例題

int_main(void){

__double__x,y;

__double__h;

__int_____n;

__int_____k;

 

__for(n=8;n<100000;n*=2){

____h_=_XEND/n;

____x_=_y_=_0;

____for(k=1;k<=n;k++){

______y_=_eular(x,y,h);

____}

____printf("n=%5d_h=%f_y=%f\n",n,h,y);

__}

__return_0;

}

/*_出力

n=____8_h=0.125000_y=12.027460

n=___16_h=0.062500_y=12.520515

n=___32_h=0.031250_y=12.668942

n=___64_h=0.015625_y=12.709495

n=__128_h=0.007813_y=12.720078

n=__256_h=0.003906_y=12.722780

n=__512_h=0.001953_y=12.723462

n=_1024_h=0.000977_y=12.723634

n=_2048_h=0.000488_y=12.723677

n=_4096_h=0.000244_y=12.723688

n=_8192_h=0.000122_y=12.723690

n=16384_h=0.000061_y=12.723691

n=32768_h=0.000031_y=12.723691

n=65536_h=0.000015_y=12.723691

*/とても親切にお答えいただき

ありがとうございます(>_<)

 

図書館で調べて原理は

分かってもプログラムを組むことが

できずにいました(/ _ ; )

 

回答していただいたものを

もう一度自分で実行し

意味を理解しようと思います。

 

わからないことがあったら

またぜひお願いします。