기호를 포함하는 Sympy 식을 강제 :(다음 계산 2 차원 동적 시스템의 <a href="https://en.wikipedia.org/wiki/Nullcline" rel="nofollow noreferrer">nullclines</a> 그릴 의도로) 내가 python3에 다음 코드를 작성
import sympy as sm
x1, x2 = sm.symbols('x1 x2')
x = [x1, x2]
sys = sm.Matrix([(x1 - sm.log(x2))*(x2-x1*x1),
x2**2 - 4])
solutions = list(map(lambda dx: sm.solve(sm.Eq(dx, 0)), sys))
print(solutions)
내가 무엇을보고하는 것은
입니다[[{x1: -sqrt(x2)}, {x1: sqrt(x2)}, {x1: log(x2)}], [-2, 2]]
다음은 솔루션을 그리기 위해이 [-2,2]가 큰 문제가됩니다. 각 요소에 두 변수가 모두 포함되어 있는지 여부를 sys
과 함께 작업하고 싶습니다. 나는 사전을 반복하고 sm.Eq(list(solutions[i][j].keys())[0], list(solutions[i][j].values())[0])
을 플롯하고 싶지만 난 내가 sys[1]
에 + x1 - sm.log(sm.exp(x1))
를 추가하는 경우가 나에게 일관성있는 사전 양식을 줄 것이다 것을보고이
같은 사전을 보장 할 수 없습니다,하지만 방법에 대한이있다 나를 sys
'요소를보다 우아한 방식으로 모두 포함하도록 강제 하시겠습니까? 두 요소 모두에서 좌표를 찾고 싶지 않습니다. 이중 표현식을 추가 할 수없는 경우
'목록 (지도 (람다 DX : sm.solve (sm.Eq (DX, 0)), SYS))와 함께 작동 방법은 다음과
는'동일합니다 sys [dx에 대한 sm.solve (sm.Eq (dx, 0))]에'. 당신은 방정식의 체계를 풀지 않고 있습니다, 당신은 두 방정식을 풀고 있습니다. 미안, 이것이 분명하다면, 널 클러치를 그릴 때 방정식 시스템을 푸는 것이 상상되지만, 나는 당신의 목표를 오해 할 수도 있습니다. – winerd
좀더 우아 해 보이지만, 여전히 어떤 시스템에서는 하나의 방정식이 좌표에서 독립적이며'solve()'의 출력이 사전 형식이 아닌 문제와 관련하여 도움이되지 않습니다. –
sys는 자주 사용됩니다 중고 모듈. 변수로 사용하지 않는 것이 가장 좋습니다 – ShpielMeister