Data update

This commit is contained in:
Ingy döt Net 2026-02-01 16:33:20 -08:00
parent 5150844a7d
commit 4bb20c9b71
7735 changed files with 38060 additions and 199180 deletions

View file

@ -1,51 +1,51 @@
-- 28 Jul 2025
include Settings
-- 18 Sep 2025
include Setting
numeric digits 16
say "RUNGE-KUTTA METHOD FOR ODE y'=x*SqRt(y)"
say "RUNGE-KUTTA METHOD FOR ODE y'=x*Sqrt(y)"
say version
say
numeric digits 9
call Task 0,10,1/10,1
numeric digits 16
call Task 0,10,1/10,1
numeric digits 9
call Task 0,10,1/20,1
numeric digits 16
call Task 0,10,1/20,1
call Timer
exit
Task:
-- Runge-Kutta method
procedure expose Memo.
arg x0,xn,dx,y0
say 'From' x0 'to' xn 'step' dx
say ' x Calc y True y Abs err Rel err'
x=x0; y=y0
say 'From' x0 'to' xn 'step' dx 'with' Digits() 'digits'
say ' x Calc y True y Abs error Rel error'
call Show x,y
do until x >= xn
dy1=dx*DyDx(x,y)
dy2=dx*DyDx(x+dx/2,y+dy1/2)
dy3=dx*DyDx(x+dx/2,y+dy2/2)
dy4=dx*DyDx(x+dx,y+dy3)
x=x+dx; y=y+(dy1+2*dy2+2*dy3+dy4)/6
do until x > xn
if Integer(x) then
call Show x,y
dy1=dx*Dy(x,y)
dy2=dx*Dy(x+dx/2,y+dy1/2)
dy3=dx*Dy(x+dx/2,y+dy2/2)
dy4=dx*Dy(x+dx,y+dy3)
x+=dx; y+=(dy1+2*dy2+2*dy3+dy4)/6
end
say
return
DyDx:
Show:
-- Display a line
procedure
arg xx,yy
yt=True(xx)
say Format(xx,2,0) Format(yy,3,7) Format(True(xx),3,7),
Left(Std(Abs(yy-True(xx))),10) Left(Std(Abs(yy/True(xx)-1)),10)
return
Dy:
-- Differential equation
procedure expose Memo.
arg xx,yy
return xx*SqRt(yy)
True:
-- Real solution
procedure
arg xx
return (xx**2+4)**2/16
Show:
arg xx,yy
say Format(xx,2,0) Format(yy,3,8) Format(True(xx),3,8),
Left(Std(Abs(yy-True(xx))),10) Left(Std(Abs(yy/True(xx)-1)),10)
return
include Math