Search for question

def P2(x):

return x*x*x-x*x + 4x - 30

def P3(x):

#A

3

2

return x*x*x+ 0.5*x*x+x-6

2.7

1

return 3*x*x*x + 13.6*x*x 13.2 x 37.8

?

For this test, you are provided with the file poly.txt containing coefficients of 25 polynomials. The first few lines of

the file look as follows:

Roots of polynomials can be found using function goalSeek if you supply the tested

polynomial function as the function parameter, set the target parameter equal to zero, and

start with a good LowLimit and HighLimit interval enclosing the root.

B

-1.8

5

7.59

Note that goalSeek requires that the tested function f is such that f(LowLimit) s target

≤ f(HighLimit). All polynomials provided for this task will satisfy this requirement.

C

-7.6

14

9.49

-8

-20.8

24

3.85

-32

Lo

-4.28

-6.57

-1.86

Hi

11.88

0.73

5.85

10.58

Formula

3 x^3 1.8 x^2 - 7.6 x - 20.8

2 x^3 + 5 x^2 + 14 x + 24

2.7 x^3 + 7.59 x^2 + 9.49 x + 3.85

x^3 - 8 x - 32

The first line is a header, you will have to skip it when reading the file. Each of the following lines starts with the four

coefficients A, B, C, D, uniquely determining a polynomial

Ax³ + Bx² + Cx+D.

The coefficients are followed by the suggested. Lo and Hi limits. Each provided polynomial is guaranteed to have

exactly one root in the interval Lo sxs Hi. We will use goal Seek to find this root for each of the provided

polynomials.

The last column is a conventional representation of a polynomial, which you can be pasted in WolframAlpha

(https://www.wolframalpha.com) to confirm that your program correctly finds the roots. For example, here is the response

(https://www.wolframalpha.com/input/?i-3+x96E3+-1.8+xN5E2-76-x-+20.8) for the first polynomial in the file, in particular it

says that the real root is equal to 2.6.

Task

In this task, we are going to write a program test7.py that finds the roots of cubic polynomials listed in the file

poly.txt using goalSeek function.

Fig: 1