How do I get rid of my division by zero error? def sine(M, N, tol=1e-14): x = linspace(-2 * pi, 2 * pi, M) w = ones(N) for i in range(0, N): if i == 0: w[i] = (-1) ** i / 2 elif i == N - 1: w[i] = (-1) ** i / 2 else: w[i] = (-1) ** i cgl = -cos(arange(N) * pi / (N - 1)) CGL = ones(N) fc = ones(N) for i in range(N): CGL[i] = (pi / 4) * cgl[i] + (pi / 4) fc[i] = sin(CGL[i]) x1 = ones(M) y = zeros(M) er = zeros(M) s = 1 for i in range(0, M): numerator = 0 denominator = 0 x1[i] = (x[i]) % (2 * pi) s = 1 if x1[i] > pi: x1[i] = 2 * pi - x1[i] s = -1 if x1[i] > (pi / 2): x1[i] = pi - x1[i] for j in range(N): temp = w[j] / (x1[i] - CGL[j]) numerator += temp * fc[j] denominator += temp y[i] = s * numerator / denominator for i in range(0, M): for k in range(N): if abs(x1[i] - CGL[k]) == 0: y[i] = fc[k] er[i] = abs(y[i] - sin(x[i])) mer = norm(er, inf) return mer
How do I get rid of my division by zero error?
def sine(M, N, tol=1e-14): x = linspace(-2 * pi, 2 * pi, M) w = ones(N) for i in range(0, N): if i == 0: w[i] = (-1) ** i / 2 elif i == N - 1: w[i] = (-1) ** i / 2 else: w[i] = (-1) ** i cgl = -cos(arange(N) * pi / (N - 1)) CGL = ones(N) fc = ones(N) for i in range(N): CGL[i] = (pi / 4) * cgl[i] + (pi / 4) fc[i] = sin(CGL[i]) x1 = ones(M) y = zeros(M) er = zeros(M) s = 1 for i in range(0, M): numerator = 0 denominator = 0 x1[i] = (x[i]) % (2 * pi) s = 1 if x1[i] > pi: x1[i] = 2 * pi - x1[i] s = -1 if x1[i] > (pi / 2): x1[i] = pi - x1[i] for j in range(N): temp = w[j] / (x1[i] - CGL[j]) numerator += temp * fc[j] denominator += temp y[i] = s * numerator / denominator for i in range(0, M): for k in range(N): if abs(x1[i] - CGL[k]) == 0: y[i] = fc[k] er[i] = abs(y[i] - sin(x[i])) mer = norm(er, inf) return mer
Step by step
Solved in 2 steps