From 3b3907d9c00185d5c4920df586d14293a3589366 Mon Sep 17 00:00:00 2001 From: justanothercatgirl Date: Wed, 25 Sep 2024 16:39:11 +0300 Subject: changed differentiation to central difference --- main_23.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/main_23.c b/main_23.c index cf736ab..f6936da 100644 --- a/main_23.c +++ b/main_23.c @@ -69,8 +69,8 @@ struct dval *differentiate(func_t f, double start, double end, double step, long struct dval *vals = calloc(tlength, sizeof(struct dval)); for (long i = 0; i < tlength; ++i) { double x = start + step * i; - double xi = start + step * (1+i); - double y = (f(xi) - f(x))/step; + // central difference + double y = (f(x+step) - f(x-step))/ (2*step); vals[i] = (struct dval){.x = x, .y = y}; } *length = tlength; -- cgit v1.2.3-70-g09d2