2017-01-20 1 views
2

J'essaie de trouver l'intersection entre les deux fonctions. P_g pour l'instant est une constante mais je veux que cela soit flexible afin que je puisse la faire varier pour devenir un péché, ou une augmentation linéaire.Point d'intersection Python pour deux fonctions

import numpy as np 
import matplotlib.pyplot as plt 


d = 100. # price at 0 catch sales local market 
b1 = 0.05 # slope of price curve for species1 
p = 50. # # price for species1 global 

P_g = p # constant for price species1 global 
P_l = d * np.exp(-b1*x) # price species1 local market 

La solution la plus appropriée me semblait:

P_g = ImplicitRegion[{y == p}, {x, y}] 
P_l = ImplicitRegion[{y == d* np.exp(-b1*x)}, {x, y}] 

solve[{k /[Element] P_g, k /[Element] P_l}, {k}] 

Ce qui me donne: SyntaxError: syntaxe non valide

+0

Votre appel à 'solve' soulève l'erreur de syntaxe. Pourriez-vous clarifier ce que vous essayez de résoudre? –

+0

Cela ne devrait-il pas être balisé avec Mathematica? –

Répondre

0

Vous pouvez le trouver en scipy.optimize.fsolve(lambda x : d * np.exp(-b1*x) -P_g,0)

ou résoudre analyticalally: x=-np.log(P_g/d)/b1.

dans les deux ca vous trouvez: x=13.862943611198906