***home work 4*** DECLARE FUNCTION f! (x!, y!) CLS PRINT "The interval is [a,b]" INPUT "Enter a,b:", a, b INPUT "Enter y(a):", ya DIM a(200), s(200), value(200), k1(200), k2(200), k3(200), k4(200) ' ******Euler's method******* n = 1 value(1) = ya + f(a, ya) WHILE ABS(value(n - 1) - value(n)) > .0001 n = n + 1 s(0) = ya d = (b - a) / n a(0) = a FOR i = 1 TO n a(i) = i * (1 / n) NEXT FOR i = 1 TO n s(i) = s(i - 1) + d * f(a(i - 1), s(i - 1)) NEXT value(n) = s(n) WEND PRINT "Euler's method: y("; b; ")="; value(n), "n="; n ' *******Rungkutta of order 2********* n = 1 value(1) = 1 WHILE ABS(value(n - 1) - value(n)) > .0001 n = n + 1 s(0) = ya d = (b - a) / n a(0) = a FOR i = 1 TO n a(i) = i * (1 / n) NEXT FOR i = 1 TO n k1(i) = d * f(a(i - 1), s(i - 1)) k2(i) = d * f(a(i - 1) + d, s(i - 1) + k1(i)) s(i) = s(i - 1) + .5 * (k1(i) + k2(i)) NEXT value(n) = s(n) WEND PRINT "Rungkutta of order 2: y("; b; ")="; value(n), "n="; n ' *******Rungkutta of order 4********* n = 1 value(1) = 1 WHILE ABS(value(n - 1) - value(n)) > .0001 n = n + 1 s(0) = ya d = (b - a) / n a(0) = a FOR i = 1 TO n a(i) = i * (1 / n) NEXT FOR i = 1 TO n k1(i) = d * f(a(i - 1), s(i - 1)) k2(i) = d * f(a(i - 1) + d / 2, s(i - 1) + k1(i) / 2) k3(i) = d * f(a(i - 1) + d / 2, s(i - 1) + k2(i) / 2) k4(i) = d * f(a(i - 1) + d, s(i - 1) + k3(i)) s(i) = s(i - 1) + (1 / 6) * (k1(i) + 2 * k2(i) + 2 * k3(i) + k4(i)) NEXT value(n) = s(n) WEND PRINT "Rungkutta of order 4: y("; b; ")="; value(n), "n="; n PRINT "for the last method we have:" PRINT " k1", " k2", " k3", " k4", " Y" FOR i = 1 TO n PRINT k1(i); k2(i); k3(i); k4(i); s(i) NEXT FUNCTION f (x, y) f = .1 * (x ^ 2 + y ^ 2) END FUNCTION