Data update
This commit is contained in:
parent
5150844a7d
commit
4bb20c9b71
7735 changed files with 38060 additions and 199180 deletions
|
|
@ -1,43 +0,0 @@
|
|||
function euler (${f}, ${y}, $y0, $t0, $tEnd) {
|
||||
function f-euler ($tn, $yn, $h) {
|
||||
$yn + $h*(f $tn $yn)
|
||||
}
|
||||
function time ($t0, $h, $tEnd) {
|
||||
$end = [MATH]::Floor(($tEnd - $t0)/$h)
|
||||
foreach ($_ in 0..$end) { $_*$h + $t0 }
|
||||
}
|
||||
$time = time $t0 10 $tEnd
|
||||
$time5 = time $t0 5 $tEnd
|
||||
$time2 = time $t0 2 $tEnd
|
||||
$yn10 = $yn5 = $yn2 = $y0
|
||||
$i2 = $i5 = 0
|
||||
foreach ($tn10 in $time) {
|
||||
while($time2[$i2] -ne $tn10) {
|
||||
$i2++
|
||||
$yn2 = (f-euler $time2[$i2] $yn2 2)
|
||||
}
|
||||
while($time5[$i5] -ne $tn10) {
|
||||
$i5++
|
||||
$yn5 = (f-euler $time5[$i5] $yn5 5)
|
||||
}
|
||||
[pscustomobject]@{
|
||||
t = "$tn10"
|
||||
Analytical = "$("{0:N5}" -f (y $tn10))"
|
||||
"Euler h = 2" = "$("{0:N5}" -f $yn2)"
|
||||
"Euler h = 5" = "$("{0:N5}" -f $yn5)"
|
||||
"Euler h = 10" = "$("{0:N5}" -f $yn10)"
|
||||
"Error h = 2" = "$("{0:N5}" -f [MATH]::abs($yn2 - (y $tn10)))"
|
||||
"Error h = 5" = "$("{0:N5}" -f [MATH]::abs($yn5 - (y $tn10)))"
|
||||
"Error h = 10" = "$("{0:N5}" -f [MATH]::abs($yn10 - (y $tn10)))"
|
||||
}
|
||||
$yn10 = (f-euler $tn10 $yn10 10)
|
||||
}
|
||||
}
|
||||
$k, $yr, $y0, $t0, $tEnd = 0.07, 20, 100, 0, 100
|
||||
function f ($t, $y) {
|
||||
-$k *($y - $yr)
|
||||
}
|
||||
function y ($t) {
|
||||
$yr + ($y0 - $yr)*[MATH]::Exp(-$k*$t)
|
||||
}
|
||||
euler f y $y0 $t0 $tEnd | Format-Table -AutoSize
|
||||
Loading…
Add table
Add a link
Reference in a new issue