算法:
例1:寻找 $$f(x) = x^3 - 11.0 x^2 + 38.8 x - 41.77 $$的有根区间.# -*- coding: utf-8 -*-
"""
寻找f(x) = x**3 - 11.0 * x**2 + 38.8*x - 41.77的有根区间
@author: morxio
"""
import numpy as np
def fun1(x):
#方程等号左边函数f(x)
return x**3 - 11.0 * x**2 + 38.8*x - 41.77
def sign(val):
#符号函数
if val < 0: s = "-"
elif val > 0: s = "+"
else: s = "0"
return s
def main():
#打印f(x)的符号
for x in range(0, 7, 1):
val = fun1(x)
print( "%3d %8.3f %5s" % (x, val, sign(val)) )
if __name__ == '__main__':
main()
结果:0 -41.770 -
1 -12.970 -
2 -0.170 -
3 2.630 +
4 1.43