當前位置:編程學習大全網 - 源碼下載 - Dydx源代碼開發

Dydx源代碼開發

微分方程組是這樣的嗎?。。。

我應用了前面的程序,看看是否是這個意思。。。。

公共?班級?龍格庫塔?{

靜電?雙倍?答?=?0.2;

靜電?雙倍?b?=?0.2;

靜電?雙倍?c?=?5.7;

靜電?雙倍?yEnd?=?2.0;

公共?靜電?作廢?main(String[]?args)?{

雙倍?x0?=?1.0;//x的初始值x0

雙倍?y0?=?1.0;//y的初始值y0

雙倍?z0?=?1.0;//z的初始值z0

雙倍?h?=?0.01;//搜索步長

//設x為?=?x0?=?在0,y?=?y0?=?0,?z=?z0?=?0

DoRungeKutta(h,?x0,?妳呢?z0);

}

公共?靜電?作廢?DoRungeKutta(雙?h,?雙倍?x,?雙倍?y,?雙倍?z){

int?我?=?0;

while(Math.abs(y?-?yEnd)?& gt?0.0001){

x?=?x?+?h;

雙倍?y1?=?dydx(x,?y,?z);

雙倍?z1?=?dzdx(x,y,?z);

雙倍?y2?=?dydx(x,?y?+?h/2*y1?,?z?+?h/2 * z 1);

雙倍?z2?=?dzdx(x,y?+?h/2*y1?,?z?+?h/2 * z 1);

雙倍?y3?=?dydx(x,?y?+?h/2*y2?,?z?+?h/2 * z2);

雙倍?z3?=?dzdx(x,y?+?h/2*y2?,?z?+?h/2 * z2);

雙倍?y4?=?dydx(x,?y?+?h*y3?,?z?+?h * z3);

雙倍?z4?=?dzdx(x,y?+?h*y3?,?z?+?h * z3);

y?=?y?+?h/6*(y1?+?2*y2?+?2*y3?+?y4);

z?=?z?+?h/6*(z1?+?2*z2?+?2*z3?+?Z4);

i++;

}

System.out.println(x+"?"+y+"?"+z+"?"+I);

}

公共?靜電?雙倍?dydx(雙?x,?雙倍?y,?雙倍?z){

雙倍?功能?=?(x?+?答?*?y)/(-y?-?z);

回歸?功能;

}

公共?靜電?雙倍?dzdx(雙?x,?雙倍?y,?雙倍?z){

雙倍?功能?=?(b?+?(x?-?c)?*?z)/(-y?-?z);

回歸?功能;

}

}

  • 上一篇:ext.js如何調用store中寫的接口
  • 下一篇:powerbuilder程序防止破解的辦法[1]
  • copyright 2024編程學習大全網