From 0bb82eab13c2c391593094cdfbc85b00069a06f0 Mon Sep 17 00:00:00 2001 From: lhye200 Date: Tue, 10 Jun 2025 13:24:22 +0800 Subject: [PATCH] 20250610 --- 279-3.py | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 279-3.py diff --git a/279-3.py b/279-3.py new file mode 100644 index 0000000..b702129 --- /dev/null +++ b/279-3.py @@ -0,0 +1,25 @@ +def ClassicRK(x0,y0,h,xk,fxy): + k1=k2=k3=k4=0 + result = [(x0,y0)] + while x0<=xk: + k1 = fxy(x0,y0) + k2 = fxy(x0+h/2,y0+h*k1/2) + k3 = fxy(x0+h/2,y0+h*k2/2) + k4 = fxy(x0+h,y0+h*k3) + y0 += h*(k1+4*k2+k3)/6 + x0 += h + result.append((x0,y0)) + return result + + +if __name__=="__main__": + x0 = 0 + y0 = -1 + fxy = lambda x,y: x + y + real_fx = lambda x: -x-1 + h = 0.1 + xk = 2 + result = ClassicRK(x0, y0, h, xk, fxy) + print("x\ty\t\treal_y") + for x, y in result: + print(f"{x:.2f}\t{y}\t{real_fx(x)}") \ No newline at end of file