C語言 例題5-1 利用向前Euler尤拉近似法 解一階常微分方程ODE , y' = -y + t +1 , 0<= t <= 1 , y(0)=1 , h=0.2 真實解= e^(-t) + t
/* ex5-1.c Forward Euler Method is used for
* solving y'=f(y,t) of first order
* ordinary differential equation
* with initial condition y(0)=y0
* known.
*/
#include <stdio.h>
#include <math.h>
#define w(t) (exp(-t)+t)
double F(double y, double t)
{
return (-y+t+1);
}
void main()
{
int i,n;
double h=0.2 , y,t,y0=1,t0=0,t1=1;
n=(t1-t0)/h ;
y=y0;
t=t0;
printf("t y(t) w(t) error\n");
printf("========================================\n");
printf("%.2lf %10.6lf %10.6lf %10.6lf\n",t,y,w(t),fabs(y-w(t)));
for(i=1;i<=n;i++)
{
y=y+h*F(y,t);
t=t+h;
printf("%.2lf %10.6lf %10.6lf %10.6lf\n",t,y,w(t),fabs(y-w(t)));
}
return;
}
輸出畫面
t y(t) w(t) error
========================================
0.00 1.000000 1.000000 0.000000
0.20 1.000000 1.018731 0.018731
0.40 1.040000 1.070320 0.030320
0.60 1.112000 1.148812 0.036812
0.80 1.209600 1.249329 0.039729
1.00 1.327680 1.367879 0.040199
Command exited with non-zero status 6
訂閱:
張貼留言 (Atom)
Messaging API作為替代方案
LINE超好用功能要沒了!LINE Notify明年3月底終止服務,有什麼替代方案? LINE Notify將於2025年3月31日結束服務,官方建議改用Messaging API作為替代方案。 //CHANNEL_ACCESS_TOKEN = 'Messaging ...
-
python pip 不是内部或外部命令 -- 解決方法 要安裝 Pyqt5 1. 首先,開啟命令提示字元。 2. 輸入 pip3 install pyqt5 好像不能執行 ! ! 錯誤顯示 : ‘ pip3 ’ 不是內部或外部命令、可執行的程式或批...
-
課程講義 下載 11/20 1) PPT 下載 + 程式下載 http://www.mediafire.com/file/cru4py7e8pptfda/106%E5%8B%A4%E7%9B%8A2-1.rar 11/27 2) PPT 下載...
-
• 認 識 PreFix、InFix、PostFix PreFix(前序式):* + 1 2 + 3 4 InFix(中序式): (1+2)*(3+4) PostFix(後序式):1 2 + 3 4 + * 後 序式的運算 例如: 運算時由 後序式的...
沒有留言:
張貼留言