#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Tue Aug 20 14:42:17 2024

@author: sam
"""

import numpy as np

minimum = []

'''functions'''
def f(x):
    return x*np.cos(x) + x*np.sin(x/2)

def minbracket(f,a,b,N):
    h = (b-a)/N
    for i in range(1,int(N)):
        x = a+h*i
        if f(x)<f(x-h) and f(x)<f(x+h):
            minimum.append([x-h,x+h])
        else:
            continue
    return minimum



'''run code'''
a = -5
b = 5
N = 20

blist = minbracket(f,a,b,N)
print(blist)