Add Stationary Points

This commit is contained in:
Allen Guan
2020-10-26 05:19:32 +08:00
parent 5ffa50b1f3
commit b505b6ba52
3 changed files with 23 additions and 0 deletions

View File

@@ -138,3 +138,4 @@ problem, solution = mathgen.genById(0)
| 104 | Circumference | Circumference of circle with radius 60 | 376.99111843077515 | circumference | | 104 | Circumference | Circumference of circle with radius 60 | 376.99111843077515 | circumference |
| 105 | Combine Like terms | 4x^4 + 6x^4 + 9x^1 + 3x^1 + 5x^4 + 10x^3 | 12x^1 + 10x^3 + 15x^4 | combine_like_terms | | 105 | Combine Like terms | 4x^4 + 6x^4 + 9x^1 + 3x^1 + 5x^4 + 10x^3 | 12x^1 + 10x^3 + 15x^4 | combine_like_terms |
| 105 | Conditional Probability | Someone tested positive for a nasty disease which only 1.34% of population have. Test sensitivity (true positive) is equal to SN= 98.05% whereas test specificity (true negative) SP= 92.32%. What is the probability that this guy really has that disease? | 14.78% | conditional_probability | | 105 | Conditional Probability | Someone tested positive for a nasty disease which only 1.34% of population have. Test sensitivity (true positive) is equal to SN= 98.05% whereas test specificity (true negative) SP= 92.32%. What is the probability that this guy really has that disease? | 14.78% | conditional_probability |
| 106 | Stationary Points | f(x)=x^3-3x | (-1,2),(1,-2) | stationary_points |

View File

@@ -111,3 +111,4 @@ from .decimal_to_bcd import *
from .circumference import * from .circumference import *
from .combine_like_terms import * from .combine_like_terms import *
from .conditional_probability import * from .conditional_probability import *
from .stationary_points import *

View File

@@ -0,0 +1,21 @@
from .__init__ import *
import sympy
def stationaryPointsFunc(maxExp=3, maxCoef=10):
while True:
x = sympy.symbols('x')
problem = 0
for exp in range(maxExp+1):
coefficient = random.randint(0, maxCoef)
problem += coefficient*pow(x,exp)
solution = sympy.stationary_points(problem, x)
if len(solution) != 0:
solution = ','.join('({},{})'.format(
str(p),
sympy.sympify(problem.replace(x,p))
) for p in solution)
problem = 'f(x)=' + str(problem).replace('**', '^')
return problem, solution
stationary_points = Generator("Stationary Points", 106, "f(x)=x^3-3x", "(-1,2),(1,-2)", stationaryPointsFunc)