import numpy as np from sympy import var, plot_implicit, Eq beta1 = 0.04 beta2 = 0.3 ksi1 = 0.15 ksi2 = 1.2 ksi3 = 2.5 alfa = 0.4 h = 0.15 k = 2.5 def F23(x, b11, b12, b21, b22): return (((x - b11)/2) * (np.sign(x - b11) + 1)) + (((x + b21)/2) * (1 - np.sign(x + b21))) - (((x - b12)/2) * (np.sign(x - b12) + 1)) - (((x + b22)/2) * (1 - np.sign(x + b22))) def F24(x, b11, b12, b13, b21, b22, b23): return F23(x, b11, b12, b21, b22) - ((b12 - b11)/2 * (np.sign(x - b13) + 1)) - ((b22 - b21)/2 * (np.sign(x + b23) - 1)) var('x y') plot_implicit(Eq(F24(x, ksi1, ksi2, ksi3, ksi1, ksi2, ksi3)+k*F23(y, beta1, beta2, beta1, beta2), alfa))
Видимо, implicit совсем не воспринимает sign.
D:\Python\python.exe D:/PyProjects/Lamer.py Traceback (most recent call last): File "D:/PyProjects/Lamer.py", line 22, in <module> plot_implicit(Eq(F24(x, ksi1, ksi2, ksi3, ksi1, ksi2, ksi3)+k*F23(y, beta1, beta2, beta1, beta2), alfa)) File "D:/PyProjects/Lamer.py", line 18, in F24 return F23(x, b11, b12, b21, b22) - ((b12 - b11)/2 * (np.sign(x - b13) + 1)) - ((b22 - b21)/2 * (np.sign(x + b23) - 1)) File "D:/PyProjects/Lamer.py", line 14, in F23 return (((x - b11)/2) * (np.sign(x - b11) + 1)) + (((x + b21)/2) * (1 - np.sign(x + b21))) - (((x - b12)/2) * (np.sign(x - b12) + 1)) - (((x + b22)/2) * (1 - np.sign(x + b22))) File "D:\Python\lib\site-packages\sympy\core\relational.py", line 229, in __nonzero__ raise TypeError("cannot determine truth value of Relational") TypeError: cannot determine truth value of Relational Process finished with exit code 1
Подскажите, с помощью чего можно построить подобную функцию?