Слушайте, сударь - ну что Вы вцепились, как бульдог, в это
N=31? Что за магическое число такое? У Вас явно просто шаг грубоват - ну так увеличьте своё
N хоть до 200, и посмотрите, что будет.
Кстати, что за глупость, причем повторяемая во всех программах:
N=31
h=(b-a)/(N-1) ???
Почему бы не
N=30
h=(b-a)/N ?