(* Calculate a natural logarithm using Simpson's Rule *) (* \(Integral)ab​ f(x) dx \(TildeTilde) (b-a)/(3n)(FIRST+4(sum of ODDs) +2(sum of EVENs)+LAST) *) aTobStrip = 1000; a = 1; b = 2; (* log(b) *) funDom = Table(n, {n, a*aTobStrip, b*aTobStrip}); listSize = Length(funDom); evenIndex = Select(Table(n, {n, 1, listSize}), EvenQ); oddIndex = Select(Table(n, {n, 2, listSize - 1}), OddQ); f(x_) := 1/x; funRan = Replace(funDom, {n_ -> N(f(n/aTobStrip), 14)}); firstItem = funRan[[1]]; lastItem = funRan[[listSize]]; evenItems =funRan[[evenIndex]]*4; oddItems = funRan[[oddIndex]]*2; rangeSum = firstItem + Total(Join(evenItems, oddItems)) + lastItem; answer = (b-a) / 3 / aTobStrip * rangeSum; N(answer, 14)