修正歐拉法計(jì)算
返回
###############################
# 修正歐拉法計(jì)算
# (dx/dt)2=-x
# 分解為 dv/dt = -x
# dx/dt = v
###############################
use strict;
my(%t,$t1,$x,$v,$ref);
$x = 1.0;
$v = 0.0;
$t{dt} = 0.01;
$t{tmax} = 100;
open(OUT,">euler1.csv");
print OUT 'NO,x,v,',"\n";
for ($t1=0; $t1<$t{tmax}; $t1+=$t{dt}) {
$t{k00} = $v;
$t{k01} = -$x;
$t{k10} = $v+$t{dt}*$t{k01};
$t{k11} = -($x+$t{dt}*$t{k00});
$x = $x + $t{dt}*($t{k00}+$t{k10})/2.0;
$v = $v + $t{dt}*($t{k01}+$t{k11})/2.0;
print OUT $t1,',';
print OUT $x,',';
print OUT $v,',';
print OUT "\n";
}
close(OUT);
__END__;
返回
石泉县|
寿光市|
甘孜县|
洛南县|
蓬安县|
格尔木市|
宁蒗|
彭州市|
昔阳县|
自贡市|
鹿邑县|
梁河县|
沙田区|
平乡县|
青河县|
吐鲁番市|
东乡族自治县|
孟连|
乌鲁木齐县|
兖州市|
龙州县|
汨罗市|
瑞金市|
峨山|
赤壁市|
永春县|
贡山|
闽侯县|
黄骅市|
崇仁县|
潜江市|
金阳县|
林西县|
吴江市|
犍为县|
浠水县|
永安市|
调兵山市|
华容县|
南城县|
睢宁县|