print("Verfahren nach Euler-Cauchy und Euler-Heun:") print("Startwerte: x0:") x = {}; y = {} x[0] = io.read() print("y0") y[0] = io.read() print("Funktion (in Abhaengigkeit von x, y): ") inputfunc = io.read() loadstring("f = function (x,y) return " .. inputfunc .. " end")() -- nun kann f direkt aufgerufen werden print("Schrittweite: ") h = io.read() print("Werte ausrechnen bis i = ?") n = io.read() function eulercauchy(x, y, h, f) print("Euler-Cauchy") for i = 1,n do x[i] = x[i-1] + h y[i] = y[i-1] + h * f(x[i-1], y[i-1]) print("x_"..i..":", x[i], "y_"..i..":", y[i]) end end function eulerheun(x, y, h, f) print("Euler-Heun:") yschlange = {} for i = 1,n do x[i] = x[i-1] + h yschlange[i] = y[i-1] + h * f(x[i-1], y[i-1]) y[i] = y[i-1] + h / 2 * (f(x[i-1], y[i-1]) + f(x[i], yschlange[i])) print("x_"..i..":", x[i], "y_"..i..":", y[i]) end end eulercauchy(x, y, h, f) eulerheun(x, y, h, f)