day1/exercise/roots.py
author Christopher Burns <chris.d.burns@gmail.com>
Sun, 20 Jun 2010 22:42:38 -0700
branchscipy2010
changeset 413 984d8a3394cc
parent 64 333092b68926
permissions -rw-r--r--
Minor edits. Reorder dependency files so easier to eyeball with ls output. Fix typo for showing source in ipython.

import math

def linspace(a, b, N):
    lns = []
    step = (float(b) - float(a)) / float(N - 1)
    print step
    for i in range(N):
        lns.append(a + i*step)

    return lns

def sinsin_func():
    x = linspace(0, 5, 11)
    sin_list = []
    for i in x:
        sin_list.append(math.sin(i) + math.sin(10*i))

    return sin_list

def find_root_range():
    sin_list = sinsin_func()
    for i, sins in enumerate(sin_list):
        if (sin_list[i] > 0 and sin_list[i+1] < 0) or (sin_list[i] > 0 and sin_list[i+1] < 0):
            print "Roots lie between: %f and %f" % (sin_list[i], sin_list[i+1])
        if sin_list[i] == 0:
            print "%f is the root" % sin_list[i]

find_root_range()