sympy解符号方程

19 篇文章 0 订阅
1 篇文章 0 订阅
y1=np.arange(0.1,1,0.1)#竖直方向的点,包气带
y2=np.arange(-4,0,0.1)#竖直方向的点,饱和带
for i,j in zip(y1,y2):
    print(i,j)
0.1 -4.0
0.2 -3.9
0.30000000000000004 -3.8
0.4 -3.6999999999999997
0.5 -3.5999999999999996
0.6 -3.4999999999999996
0.7000000000000001 -3.3999999999999995
0.8 -3.2999999999999994
0.9 -3.1999999999999993
from sympy import *
x = symbols('x')
a = Integral(cos(x)*exp(x), x)
Eq(a, a.doit())

∫ e x cos ⁡ ( x )   d x = e x sin ⁡ ( x ) 2 + e x cos ⁡ ( x ) 2 \displaystyle \int e^{x} \cos{\left(x \right)}\, dx = \frac{e^{x} \sin{\left(x \right)}}{2} + \frac{e^{x} \cos{\left(x \right)}}{2} excos(x)dx=2exsin(x)+2excos(x)

import numpy as np
infiltration=np.random.randn(100)
np.savetxt(r'C:\Users\Administrator\Desktop\infiltrate.txt',infiltration)

解方程组

from sympy import *

# 将变量符号化
x = Symbol('x')
y = Symbol('y')
z = Symbol('z')
# 解三元一次方程
f1 = x+y+z-2
f2 = 2*x-y+z+1
f3 = x+2*y+2*z-3
r3 = solve([f1, f2, f3], [x, y, z])
print("r3:", r3)
r3: {x: 1, y: 2, z: -1}
"""
    x+y+z-2=0
    2x-y+z+1=0
    x+2y+2z-3=0
"""
from sympy import *


x, y, z = symbols("x y z")

# 默认等式为0的形式
print("======默认等式为0的形式 =======")
eq = [x+y+z-2, 2*x-y+z+1, x+2*y+2*z-3]
result = linsolve(eq, [x, y, z])
print(result)
print(latex(result))

# 矩阵形式
print("======矩阵形式 =======")
eq = Matrix(([1, 1, 1, 2], [2, -1, 1, -1], [1, 2, 2, 3]))
result = linsolve(eq, [x, y, z])
print(result)
print(latex(result))

# 增广矩阵形式
print("======增广矩阵形式 =======")
A = Matrix([[1, 1, 1], [2, -1, 1], [1, 2, 2]])
b = Matrix([[2], [-1], [3]])
system = A, b
result = linsolve(system, x, y, z)
# print(result)
# print(latex(result))
result
======默认等式为0的形式 =======
{(1, 2, -1)}
\left\{\left( 1, \  2, \  -1\right)\right\}
======矩阵形式 =======
{(1, 2, -1)}
\left\{\left( 1, \  2, \  -1\right)\right\}
======增广矩阵形式 =======

{ ( 1 ,   2 ,   − 1 ) } \displaystyle \left\{\left( 1, \ 2, \ -1\right)\right\} {(1, 2, 1)}

from sympy import *
V, ak, A, B,C,D,Aa,Ba,Ca,Da,E,Δ,Λ,λ,Φ,c,S,F \
= symbols('V a_k A B C D Aa Ba Ca Da E Δ Λ λ Φ c S F')
C1,C2,C3,C4=symbols('C1 C2 C3 C4')
eq1=Eq(Λ*E*((2*ak*A-λ*Φ*B)*C1+(2*ak*C-λ*Φ*D)*C2)-C4)
eq1
C:\ProgramData\Anaconda3\lib\site-packages\sympy\core\relational.py:495: SymPyDeprecationWarning: 

Eq(expr) with rhs default to 0 has been deprecated since SymPy 1.5.
Use Eq(expr, 0) instead. See
https://github.com/sympy/sympy/issues/16587 for more info.

  SymPyDeprecationWarning(

− C 4 + E Λ ( C 1 ( 2 A a k − B Φ λ ) + C 2 ( 2 C a k − D Φ λ ) ) = 0 \displaystyle - C_{4} + E Λ \left(C_{1} \left(2 A a_{k} - B Φ λ\right) + C_{2} \left(2 C a_{k} - D Φ λ\right)\right) = 0 C4+EΛ(C1(2AakBΦλ)+C2(2CakDΦλ))=0

from sympy import *
V, ak, A, B,C,D,Aa,Ba,Ca,Da,E,Δ,Λ,λ,Φ,c,S,F \
= symbols("V a_k \\bar{A} \\bar{B} \\bar{C} \\bar{D} A' B' C' D' E Δ Λ λ Φ c S F")
C1,C2,C3,C4=symbols('C1 C2 C3 C4')
result = solve([Λ*E*((2*ak*A-λ*Φ*B)*C1+(2*ak*C-λ*Φ*D)*C2)-C4,
                Δ*(C1*(A)+C2*(C))-C4,
                V*((2*ak*Aa-S*Ba)*C1+(2*ak*Ca-S*Da)*C2)-F],[C1,C2,C4])
result

{ C 1 : 2 E F C ˉ a k Λ − E F D ˉ Λ Φ λ − F C ˉ Δ 4 A ′ E V C ˉ a k 2 Λ − 2 A ′ E V D ˉ a k Λ Φ λ − 2 A ′ V C ˉ a k Δ − 2 B ′ E S V C ˉ a k Λ + B ′ E S V D ˉ Λ Φ λ + B ′ S V C ˉ Δ − 4 C ′ E V A ˉ a k 2 Λ + 2 C ′ E V B ˉ a k Λ Φ λ + 2 C ′ V A ˉ a k Δ + 2 D ′ E S V A ˉ a k Λ − D ′ E S V B ˉ Λ Φ λ − D ′ S V A ˉ Δ ,   C 2 : − 2 E F A ˉ a k Λ + E F B ˉ Λ Φ λ + F A ˉ Δ 4 A ′ E V C ˉ a k 2 Λ − 2 A ′ E V D ˉ a k Λ Φ λ − 2 A ′ V C ˉ a k Δ − 2 B ′ E S V C ˉ a k Λ + B ′ E S V D ˉ Λ Φ λ + B ′ S V C ˉ Δ − 4 C ′ E V A ˉ a k 2 Λ + 2 C ′ E V B ˉ a k Λ Φ λ + 2 C ′ V A ˉ a k Δ + 2 D ′ E S V A ˉ a k Λ − D ′ E S V B ˉ Λ Φ λ − D ′ S V A ˉ Δ ,   C 4 : − E F A ˉ D ˉ Δ Λ Φ λ + E F B ˉ C ˉ Δ Λ Φ λ 4 A ′ E V C ˉ a k 2 Λ − 2 A ′ E V D ˉ a k Λ Φ λ − 2 A ′ V C ˉ a k Δ − 2 B ′ E S V C ˉ a k Λ + B ′ E S V D ˉ Λ Φ λ + B ′ S V C ˉ Δ − 4 C ′ E V A ˉ a k 2 Λ + 2 C ′ E V B ˉ a k Λ Φ λ + 2 C ′ V A ˉ a k Δ + 2 D ′ E S V A ˉ a k Λ − D ′ E S V B ˉ Λ Φ λ − D ′ S V A ˉ Δ } \displaystyle \left\{ C_{1} : \frac{2 E F \bar{C} a_{k} Λ - E F \bar{D} Λ Φ λ - F \bar{C} Δ}{4 A' E V \bar{C} a_{k}^{2} Λ - 2 A' E V \bar{D} a_{k} Λ Φ λ - 2 A' V \bar{C} a_{k} Δ - 2 B' E S V \bar{C} a_{k} Λ + B' E S V \bar{D} Λ Φ λ + B' S V \bar{C} Δ - 4 C' E V \bar{A} a_{k}^{2} Λ + 2 C' E V \bar{B} a_{k} Λ Φ λ + 2 C' V \bar{A} a_{k} Δ + 2 D' E S V \bar{A} a_{k} Λ - D' E S V \bar{B} Λ Φ λ - D' S V \bar{A} Δ}, \ C_{2} : \frac{- 2 E F \bar{A} a_{k} Λ + E F \bar{B} Λ Φ λ + F \bar{A} Δ}{4 A' E V \bar{C} a_{k}^{2} Λ - 2 A' E V \bar{D} a_{k} Λ Φ λ - 2 A' V \bar{C} a_{k} Δ - 2 B' E S V \bar{C} a_{k} Λ + B' E S V \bar{D} Λ Φ λ + B' S V \bar{C} Δ - 4 C' E V \bar{A} a_{k}^{2} Λ + 2 C' E V \bar{B} a_{k} Λ Φ λ + 2 C' V \bar{A} a_{k} Δ + 2 D' E S V \bar{A} a_{k} Λ - D' E S V \bar{B} Λ Φ λ - D' S V \bar{A} Δ}, \ C_{4} : \frac{- E F \bar{A} \bar{D} Δ Λ Φ λ + E F \bar{B} \bar{C} Δ Λ Φ λ}{4 A' E V \bar{C} a_{k}^{2} Λ - 2 A' E V \bar{D} a_{k} Λ Φ λ - 2 A' V \bar{C} a_{k} Δ - 2 B' E S V \bar{C} a_{k} Λ + B' E S V \bar{D} Λ Φ λ + B' S V \bar{C} Δ - 4 C' E V \bar{A} a_{k}^{2} Λ + 2 C' E V \bar{B} a_{k} Λ Φ λ + 2 C' V \bar{A} a_{k} Δ + 2 D' E S V \bar{A} a_{k} Λ - D' E S V \bar{B} Λ Φ λ - D' S V \bar{A} Δ}\right\} {C1:4AEVCˉak2Λ2AEVDˉakΛΦλ2AVCˉakΔ2BESVCˉakΛ+BESVDˉΛΦλ+BSVCˉΔ4CEVAˉak2Λ+2CEVBˉakΛΦλ+2CVAˉakΔ+2DESVAˉakΛDESVBˉΛΦλDSVAˉΔ2EFCˉakΛEFDˉΛΦλFCˉΔ, C2:4AEVCˉak2Λ2AEVDˉakΛΦλ2AVCˉakΔ2BESVCˉakΛ+BESVDˉΛΦλ+BSVCˉΔ4CEVAˉak2Λ+2CEVBˉakΛΦλ+2CVAˉakΔ+2DESVAˉakΛDESVBˉΛΦλDSVAˉΔ2EFAˉakΛ+EFBˉΛΦλ+FAˉΔ, C4:4AEVCˉak2Λ2AEVDˉakΛΦλ2AVCˉakΔ2BESVCˉakΛ+BESVDˉΛΦλ+BSVCˉΔ4CEVAˉak2Λ+2CEVBˉakΛΦλ+2CVAˉakΔ+2DESVAˉakΛDESVBˉΛΦλDSVAˉΔEFAˉDˉΔΛΦλ+EFBˉCˉΔΛΦλ}

result2=linsolve([Λ*E*((2*ak*A-λ*Φ*B)*C1+(2*ak*C-λ*Φ*D)*C2)-C4,
                Δ*(C1*(A)+C2*(C))-C4,
                V*((2*ak*Aa-S*Ba)*C1+(2*ak*Ca-S*Da)*C2)-F],[C1,C2,C4])
result2

{ ( − 2 C E F a k Λ + C F Δ + D E F Λ Φ λ 4 A C ′ E V a k 2 Λ − 2 A C ′ V a k Δ − 2 A D ′ E S V a k Λ + A D ′ S V Δ − 4 A ′ C E V a k 2 Λ + 2 A ′ C V a k Δ + 2 A ′ D E V a k Λ Φ λ − 2 B C ′ E V a k Λ Φ λ + B D ′ E S V Λ Φ λ + 2 B ′ C E S V a k Λ − B ′ C S V Δ − B ′ D E S V Λ Φ λ ,   2 A E F a k Λ − A F Δ − B E F Λ Φ λ 4 A C ′ E V a k 2 Λ − 2 A C ′ V a k Δ − 2 A D ′ E S V a k Λ + A D ′ S V Δ − 4 A ′ C E V a k 2 Λ + 2 A ′ C V a k Δ + 2 A ′ D E V a k Λ Φ λ − 2 B C ′ E V a k Λ Φ λ + B D ′ E S V Λ Φ λ + 2 B ′ C E S V a k Λ − B ′ C S V Δ − B ′ D E S V Λ Φ λ ,   A D E F Δ Λ Φ λ − B C E F Δ Λ Φ λ 4 A C ′ E V a k 2 Λ − 2 A C ′ V a k Δ − 2 A D ′ E S V a k Λ + A D ′ S V Δ − 4 A ′ C E V a k 2 Λ + 2 A ′ C V a k Δ + 2 A ′ D E V a k Λ Φ λ − 2 B C ′ E V a k Λ Φ λ + B D ′ E S V Λ Φ λ + 2 B ′ C E S V a k Λ − B ′ C S V Δ − B ′ D E S V Λ Φ λ ) } \displaystyle \left\{\left( \frac{- 2 C E F a_{k} Λ + C F Δ + D E F Λ Φ λ}{4 A C' E V a_{k}^{2} Λ - 2 A C' V a_{k} Δ - 2 A D' E S V a_{k} Λ + A D' S V Δ - 4 A' C E V a_{k}^{2} Λ + 2 A' C V a_{k} Δ + 2 A' D E V a_{k} Λ Φ λ - 2 B C' E V a_{k} Λ Φ λ + B D' E S V Λ Φ λ + 2 B' C E S V a_{k} Λ - B' C S V Δ - B' D E S V Λ Φ λ}, \ \frac{2 A E F a_{k} Λ - A F Δ - B E F Λ Φ λ}{4 A C' E V a_{k}^{2} Λ - 2 A C' V a_{k} Δ - 2 A D' E S V a_{k} Λ + A D' S V Δ - 4 A' C E V a_{k}^{2} Λ + 2 A' C V a_{k} Δ + 2 A' D E V a_{k} Λ Φ λ - 2 B C' E V a_{k} Λ Φ λ + B D' E S V Λ Φ λ + 2 B' C E S V a_{k} Λ - B' C S V Δ - B' D E S V Λ Φ λ}, \ \frac{A D E F Δ Λ Φ λ - B C E F Δ Λ Φ λ}{4 A C' E V a_{k}^{2} Λ - 2 A C' V a_{k} Δ - 2 A D' E S V a_{k} Λ + A D' S V Δ - 4 A' C E V a_{k}^{2} Λ + 2 A' C V a_{k} Δ + 2 A' D E V a_{k} Λ Φ λ - 2 B C' E V a_{k} Λ Φ λ + B D' E S V Λ Φ λ + 2 B' C E S V a_{k} Λ - B' C S V Δ - B' D E S V Λ Φ λ}\right)\right\} {(4ACEVak2Λ2ACVakΔ2ADESVakΛ+ADSVΔ4ACEVak2Λ+2ACVakΔ+2ADEVakΛΦλ2BCEVakΛΦλ+BDESVΛΦλ+2BCESVakΛBCSVΔBDESVΛΦλ2CEFakΛ+CFΔ+DEFΛΦλ, 4ACEVak2Λ2ACVakΔ2ADESVakΛ+ADSVΔ4ACEVak2Λ+2ACVakΔ+2ADEVakΛΦλ2BCEVakΛΦλ+BDESVΛΦλ+2BCESVakΛBCSVΔBDESVΛΦλ2AEFakΛAFΔBEFΛΦλ, 4ACEVak2Λ2ACVakΔ2ADESVakΛ+ADSVΔ4ACEVak2Λ+2ACVakΔ+2ADEVakΛΦλ2BCEVakΛΦλ+BDESVΛΦλ+2BCESVakΛBCSVΔBDESVΛΦλADEFΔΛΦλBCEFΔΛΦλ)}

from sympy import *
V, ak, A, B,C,D,Aa,Ba,Ca,Da,E,Δ,Λ,λ,Φ,c,S,F \
= symbols("V a_k \\bar{A} \\bar{B} \\bar{C} \\bar{D} A' B' C' D' E Δ Λ λ Φ c S F")
C1,C2,C3,C4=symbols('C1 C2 C3 C4')
result = solve([Λ*E*((2*ak*A-λ*Φ*B)*C1+(2*ak*C-λ*Φ*D)*C2)-C4,
                Δ*(C1*(A)+C2*(C))-C4,
                V*((2*ak*Aa-S*Ba)*C1+(2*ak*Ca-S*Da)*C2)-F],[C1,C2,C4])
print(result)
{C1: (2*E*F*\bar{C}*a_k*Λ - E*F*\bar{D}*Λ*Φ*λ - F*\bar{C}*Δ)/(4*A'*E*V*\bar{C}*a_k**2*Λ - 2*A'*E*V*\bar{D}*a_k*Λ*Φ*λ - 2*A'*V*\bar{C}*a_k*Δ - 2*B'*E*S*V*\bar{C}*a_k*Λ + B'*E*S*V*\bar{D}*Λ*Φ*λ + B'*S*V*\bar{C}*Δ - 4*C'*E*V*\bar{A}*a_k**2*Λ + 2*C'*E*V*\bar{B}*a_k*Λ*Φ*λ + 2*C'*V*\bar{A}*a_k*Δ + 2*D'*E*S*V*\bar{A}*a_k*Λ - D'*E*S*V*\bar{B}*Λ*Φ*λ - D'*S*V*\bar{A}*Δ), C2: (-2*E*F*\bar{A}*a_k*Λ + E*F*\bar{B}*Λ*Φ*λ + F*\bar{A}*Δ)/(4*A'*E*V*\bar{C}*a_k**2*Λ - 2*A'*E*V*\bar{D}*a_k*Λ*Φ*λ - 2*A'*V*\bar{C}*a_k*Δ - 2*B'*E*S*V*\bar{C}*a_k*Λ + B'*E*S*V*\bar{D}*Λ*Φ*λ + B'*S*V*\bar{C}*Δ - 4*C'*E*V*\bar{A}*a_k**2*Λ + 2*C'*E*V*\bar{B}*a_k*Λ*Φ*λ + 2*C'*V*\bar{A}*a_k*Δ + 2*D'*E*S*V*\bar{A}*a_k*Λ - D'*E*S*V*\bar{B}*Λ*Φ*λ - D'*S*V*\bar{A}*Δ), C4: (-E*F*\bar{A}*\bar{D}*Δ*Λ*Φ*λ + E*F*\bar{B}*\bar{C}*Δ*Λ*Φ*λ)/(4*A'*E*V*\bar{C}*a_k**2*Λ - 2*A'*E*V*\bar{D}*a_k*Λ*Φ*λ - 2*A'*V*\bar{C}*a_k*Δ - 2*B'*E*S*V*\bar{C}*a_k*Λ + B'*E*S*V*\bar{D}*Λ*Φ*λ + B'*S*V*\bar{C}*Δ - 4*C'*E*V*\bar{A}*a_k**2*Λ + 2*C'*E*V*\bar{B}*a_k*Λ*Φ*λ + 2*C'*V*\bar{A}*a_k*Δ + 2*D'*E*S*V*\bar{A}*a_k*Λ - D'*E*S*V*\bar{B}*Λ*Φ*λ - D'*S*V*\bar{A}*Δ)}
from sympy import collect
from sympy.abc import *
from sympy import symbols
a_k,γ,δ,ε,η,ζ,α,β,θ=symbols('a_k γ δ ε η ζ α β θ')
# V, ak, A, B,C,D,Aa,Ba,Ca,Da,E,Δ,Λ,λ,Φ,c,S,F \
# = symbols("V a_k \\bar{A} \\bar{B} \\bar{C} \\bar{D} A' B' C' D' E Δ Λ λ Φ c S F")
eq1=(2*E*F*γ*a_k*Λ - E*F*δ*Λ*Φ*λ - F*γ*Δ)/(4*ε*E*V*γ*a_k**2*Λ - 2*ε*E*V*δ*a_k*Λ*Φ*λ - 2*ε*V*γ*a_k*Δ - 2*ζ*E*S*V*γ*a_k*Λ + ζ*E*S*V*δ*Λ*Φ*λ + ζ*S*V*γ*Δ - 4*η*E*V*α*a_k**2*Λ + 2*η*E*V*β*a_k*Λ*Φ*λ + 2*η*V*α*a_k*Δ + 2*θ*E*S*V*α*a_k*Λ - θ*E*S*V*β*Λ*Φ*λ - θ*S*V*α*Δ)
collect(eq1,[F,V,E])

F ( 2 E a k Λ γ − E Λ Φ δ λ − Δ γ ) V ( 2 E S a k Λ α θ − 2 E S a k Λ γ ζ − E S Λ Φ β θ λ + E S Λ Φ δ ζ λ − 4 E a k 2 Λ α η + 4 E a k 2 Λ γ ε + 2 E a k Λ Φ β η λ − 2 E a k Λ Φ δ ε λ − S Δ α θ + S Δ γ ζ + 2 a k Δ α η − 2 a k Δ γ ε ) \displaystyle \frac{F \left(2 E a_{k} Λ γ - E Λ Φ δ λ - Δ γ\right)}{V \left(2 E S a_{k} Λ α θ - 2 E S a_{k} Λ γ ζ - E S Λ Φ β θ λ + E S Λ Φ δ ζ λ - 4 E a_{k}^{2} Λ α η + 4 E a_{k}^{2} Λ γ ε + 2 E a_{k} Λ Φ β η λ - 2 E a_{k} Λ Φ δ ε λ - S Δ α θ + S Δ γ ζ + 2 a_{k} Δ α η - 2 a_{k} Δ γ ε\right)} V(2ESakΛαθ2ESakΛγζESΛΦβθλ+ESΛΦδζλ4Eak2Λαη+4Eak2Λγε+2EakΛΦβηλ2EakΛΦδελSΔαθ+SΔγζ+2akΔαη2akΔγε)F(2EakΛγEΛΦδλΔγ)

from sympy import *
init_printing()
c1, c2, c3, c4, c5, c6, D1, D2, D3, D4 = symbols('c1, c2, c3, c4, c5, c6, D1, D2, D3, D4')
x1, x2, x3, x4 = symbols('x1 x2 x3 x4 ')
 
result = solve([c1*x1 + c2*x2 - c5*x4 - D1,
           c4*x1 - c1*x2 - c5*x3 - D2,
           c3*x2 + c1*x3 + c6*x4 - D3,
           c3*x1 + c6*x3 - c1*x4 - D4],[x1, x2, x3, x4])
result
C:\ProgramData\Anaconda3\lib\site-packages\IPython\lib\latextools.py:126: MatplotlibDeprecationWarning: 
The to_png function was deprecated in Matplotlib 3.4 and will be removed two minor releases later. Use mathtext.math_to_image instead.
  mt.to_png(f, s, fontsize=12, dpi=dpi, color=color)
C:\ProgramData\Anaconda3\lib\site-packages\IPython\lib\latextools.py:126: MatplotlibDeprecationWarning: 
The to_rgba function was deprecated in Matplotlib 3.4 and will be removed two minor releases later. Use mathtext.math_to_image instead.
  mt.to_png(f, s, fontsize=12, dpi=dpi, color=color)
C:\ProgramData\Anaconda3\lib\site-packages\IPython\lib\latextools.py:126: MatplotlibDeprecationWarning: 
The to_mask function was deprecated in Matplotlib 3.4 and will be removed two minor releases later. Use mathtext.math_to_image instead.
  mt.to_png(f, s, fontsize=12, dpi=dpi, color=color)
C:\ProgramData\Anaconda3\lib\site-packages\IPython\lib\latextools.py:126: MatplotlibDeprecationWarning: 
The MathtextBackendBitmap class was deprecated in Matplotlib 3.4 and will be removed two minor releases later. Use mathtext.math_to_image instead.
  mt.to_png(f, s, fontsize=12, dpi=dpi, color=color)

{ x 1 : D 1 c 1 3 − D 1 c 1 c 3 c 5 + D 1 c 1 c 6 2 + D 2 c 1 2 c 2 + D 2 c 2 c 6 2 + D 2 c 3 c 5 c 6 + D 3 c 1 c 2 c 5 + D 3 c 1 c 5 c 6 − D 4 c 1 2 c 5 + D 4 c 2 c 5 c 6 + D 4 c 3 c 5 2 c 1 4 + c 1 2 c 2 c 4 − 2 c 1 2 c 3 c 5 + c 1 2 c 6 2 + c 2 c 3 c 5 c 6 + c 2 c 4 c 6 2 + c 3 2 c 5 2 + c 3 c 4 c 5 c 6 ,   x 2 : D 1 c 1 2 c 4 + D 1 c 3 c 5 c 6 + D 1 c 4 c 6 2 − D 2 c 1 3 + D 2 c 1 c 3 c 5 − D 2 c 1 c 6 2 − D 3 c 1 2 c 5 + D 3 c 3 c 5 2 + D 3 c 4 c 5 c 6 − D 4 c 1 c 4 c 5 − D 4 c 1 c 5 c 6 c 1 4 + c 1 2 c 2 c 4 − 2 c 1 2 c 3 c 5 + c 1 2 c 6 2 + c 2 c 3 c 5 c 6 + c 2 c 4 c 6 2 + c 3 2 c 5 2 + c 3 c 4 c 5 c 6 ,   x 3 : − D 1 c 1 c 3 c 4 − D 1 c 1 c 3 c 6 + D 2 c 1 2 c 3 − D 2 c 2 c 3 c 6 − D 2 c 3 2 c 5 + D 3 c 1 3 + D 3 c 1 c 2 c 4 − D 3 c 1 c 3 c 5 + D 4 c 1 2 c 6 + D 4 c 2 c 4 c 6 + D 4 c 3 c 4 c 5 c 1 4 + c 1 2 c 2 c 4 − 2 c 1 2 c 3 c 5 + c 1 2 c 6 2 + c 2 c 3 c 5 c 6 + c 2 c 4 c 6 2 + c 3 2 c 5 2 + c 3 c 4 c 5 c 6 ,   x 4 : D 1 c 1 2 c 3 − D 1 c 3 2 c 5 − D 1 c 3 c 4 c 6 + D 2 c 1 c 2 c 3 + D 2 c 1 c 3 c 6 + D 3 c 1 2 c 6 + D 3 c 2 c 3 c 5 + D 3 c 2 c 4 c 6 − D 4 c 1 3 − D 4 c 1 c 2 c 4 + D 4 c 1 c 3 c 5 c 1 4 + c 1 2 c 2 c 4 − 2 c 1 2 c 3 c 5 + c 1 2 c 6 2 + c 2 c 3 c 5 c 6 + c 2 c 4 c 6 2 + c 3 2 c 5 2 + c 3 c 4 c 5 c 6 } \displaystyle \left\{ x_{1} : \frac{D_{1} c_{1}^{3} - D_{1} c_{1} c_{3} c_{5} + D_{1} c_{1} c_{6}^{2} + D_{2} c_{1}^{2} c_{2} + D_{2} c_{2} c_{6}^{2} + D_{2} c_{3} c_{5} c_{6} + D_{3} c_{1} c_{2} c_{5} + D_{3} c_{1} c_{5} c_{6} - D_{4} c_{1}^{2} c_{5} + D_{4} c_{2} c_{5} c_{6} + D_{4} c_{3} c_{5}^{2}}{c_{1}^{4} + c_{1}^{2} c_{2} c_{4} - 2 c_{1}^{2} c_{3} c_{5} + c_{1}^{2} c_{6}^{2} + c_{2} c_{3} c_{5} c_{6} + c_{2} c_{4} c_{6}^{2} + c_{3}^{2} c_{5}^{2} + c_{3} c_{4} c_{5} c_{6}}, \ x_{2} : \frac{D_{1} c_{1}^{2} c_{4} + D_{1} c_{3} c_{5} c_{6} + D_{1} c_{4} c_{6}^{2} - D_{2} c_{1}^{3} + D_{2} c_{1} c_{3} c_{5} - D_{2} c_{1} c_{6}^{2} - D_{3} c_{1}^{2} c_{5} + D_{3} c_{3} c_{5}^{2} + D_{3} c_{4} c_{5} c_{6} - D_{4} c_{1} c_{4} c_{5} - D_{4} c_{1} c_{5} c_{6}}{c_{1}^{4} + c_{1}^{2} c_{2} c_{4} - 2 c_{1}^{2} c_{3} c_{5} + c_{1}^{2} c_{6}^{2} + c_{2} c_{3} c_{5} c_{6} + c_{2} c_{4} c_{6}^{2} + c_{3}^{2} c_{5}^{2} + c_{3} c_{4} c_{5} c_{6}}, \ x_{3} : \frac{- D_{1} c_{1} c_{3} c_{4} - D_{1} c_{1} c_{3} c_{6} + D_{2} c_{1}^{2} c_{3} - D_{2} c_{2} c_{3} c_{6} - D_{2} c_{3}^{2} c_{5} + D_{3} c_{1}^{3} + D_{3} c_{1} c_{2} c_{4} - D_{3} c_{1} c_{3} c_{5} + D_{4} c_{1}^{2} c_{6} + D_{4} c_{2} c_{4} c_{6} + D_{4} c_{3} c_{4} c_{5}}{c_{1}^{4} + c_{1}^{2} c_{2} c_{4} - 2 c_{1}^{2} c_{3} c_{5} + c_{1}^{2} c_{6}^{2} + c_{2} c_{3} c_{5} c_{6} + c_{2} c_{4} c_{6}^{2} + c_{3}^{2} c_{5}^{2} + c_{3} c_{4} c_{5} c_{6}}, \ x_{4} : \frac{D_{1} c_{1}^{2} c_{3} - D_{1} c_{3}^{2} c_{5} - D_{1} c_{3} c_{4} c_{6} + D_{2} c_{1} c_{2} c_{3} + D_{2} c_{1} c_{3} c_{6} + D_{3} c_{1}^{2} c_{6} + D_{3} c_{2} c_{3} c_{5} + D_{3} c_{2} c_{4} c_{6} - D_{4} c_{1}^{3} - D_{4} c_{1} c_{2} c_{4} + D_{4} c_{1} c_{3} c_{5}}{c_{1}^{4} + c_{1}^{2} c_{2} c_{4} - 2 c_{1}^{2} c_{3} c_{5} + c_{1}^{2} c_{6}^{2} + c_{2} c_{3} c_{5} c_{6} + c_{2} c_{4} c_{6}^{2} + c_{3}^{2} c_{5}^{2} + c_{3} c_{4} c_{5} c_{6}}\right\} {x1:c14+c12c2c42c12c3c5+c12c62+c2c3c5c6+c2c4c62+c32c52+c3c4c5c6D1c13D1c1c3c5+D1c1c62+D2c12c2+D2c2c62+D2c3c5c6+D3c1c2c5+D3c1c5c6D4c12c5+D4c2c5c6+D4c3c52, x2:c14+c12c2c42c12c3c5+c12c62+c2c3c5c6+c2c4c62+c32c52+c3c4c5c6D1c12c4+D1c3c5c6+D1c4c62D2c13+D2c1c3c5D2c1c62D3c12c5+D3c3c52+D3c4c5c6D4c1c4c5D4c1c5c6, x3:c14+c12c2c42c12c3c5+c12c62+c2c3c5c6+c2c4c62+c32c52+c3c4c5c6D1c1c3c4D1c1c3c6+D2c12c3D2c2c3c6D2c32c5+D3c13+D3c1c2c4D3c1c3c5+D4c12c6+D4c2c4c6+D4c3c4c5, x4:c14+c12c2c42c12c3c5+c12c62+c2c3c5c6+c2c4c62+c32c52+c3c4c5c6D1c12c3D1c32c5D1c3c4c6+D2c1c2c3+D2c1c3c6+D3c12c6+D3c2c3c5+D3c2c4c6D4c13D4c1c2c4+D4c1c3c5}

from sympy.abc import *
expr = x*y + x - 3 + 2*x**2 - z*x**2 + x**3
expr
x**3 - x**2*z + 2*x**2 + x*y + x - 3
collected_expr = collect(expr, x)
collected_expr
x**3 + x**2*(-z + 2) + x*(y + 1) - 3

x 3 + x 2 ( 2 − z ) + x ( y + 1 ) − 3 \displaystyle x^{3} + x^{2} \left(2 - z\right) + x \left(y + 1\right) - 3 x3+x2(2z)+x(y+1)3

# -- coding:utf-8 --
from sympy import *
# init_printing()
#用sympy符号运算解方程
t=symbols('t',real = True) # real 保证全是实数,自变量
# h=symbols('h',function = True) # 全部为函数变量
# r=symbols('r',function = True) # 全部为函数变量
h = Function('h')
r = Function('r')
S,a= symbols('S a')
ode=S*h(t).diff(t)+a*h(t)-r(t)
eq=Eq(ode)
eq

S d d t h ( t ) + a h ( t ) − r ( t ) = 0 \displaystyle S \frac{d}{d t} h{\left(t \right)} + a h{\left(t \right)} - r{\left(t \right)} = 0 Sdtdh(t)+ah(t)r(t)=0

# eq
dsolve(eq,h(t))

∫ ( a h ( t ) − r ( t ) ) e a t S   d t = C 1 \displaystyle \int \left(a h{\left(t \right)} - r{\left(t \right)}\right) e^{\frac{a t}{S}}\, dt = C_{1} (ah(t)r(t))eSatdt=C1

from sympy import *
f = symbols('f', cls=Function)
x = symbols('x')
eq = Eq(f(x).diff(x,2) - 2*f(x).diff(x,1) + f(x), sin(x))
eq
# print(dsolve(eq, f(x)))

f ( x ) − 2 d d x f ( x ) + d 2 d x 2 f ( x ) = sin ⁡ ( x ) \displaystyle f{\left(x \right)} - 2 \frac{d}{d x} f{\left(x \right)} + \frac{d^{2}}{d x^{2}} f{\left(x \right)} = \sin{\left(x \right)} f(x)2dxdf(x)+dx2d2f(x)=sin(x)

使用scipy求解数值解

import numpy as np
from scipy import integrate
import matplotlib.pyplot as plt
import sympy

def plot_direction_field(x, y_x, f_xy, x_lim=(-5, 5), y_lim=(-5, 5), ax=None):
    f_np = sympy.lambdify((x, y_x), f_xy, 'numpy')
    x_vec = np.linspace(x_lim[0], x_lim[1], 20)
    y_vec = np.linspace(y_lim[0], y_lim[1], 20)

    if ax is None:
        _, ax = plt.subplots(figsize=(4, 4))

    dx = x_vec[1] - x_vec[0]
    dy = y_vec[1] - y_vec[0]

    for m, xx in enumerate(x_vec):
        for n, yy in enumerate(y_vec):
            Dy = f_np(xx, yy) * dx
            Dx = 0.8 * dx**2 / np.sqrt(dx**2 + Dy**2)
            Dy = 0.8 * Dy*dy / np.sqrt(dx**2 + Dy**2)
            ax.plot([xx - Dx/2, xx + Dx/2], [yy - Dy/2, yy + Dy/2], 'b', lw=0.5)

    ax.axis('tight')
    ax.set_title(r"$%s$" %(sympy.latex(sympy.Eq(y_x.diff(x), f_xy))), fontsize=18)

    return ax

x = sympy.symbols('x')
y = sympy.Function('y')
f = x-y(x)**2

f_np = sympy.lambdify((y(x), x), f)
## put variables (y(x), x) into lambda function f.
y0 = 1
xp = np.linspace(0, 5, 100)
yp = integrate.odeint(f_np, y0, xp)
## solve f_np with initial conditons y0, and x ranges as xp.
xn = np.linspace(0, -5, 100)
yn = integrate.odeint(f_np, y0, xn)

fig, ax = plt.subplots(1, 1, figsize=(4, 4))
plot_direction_field(x, y(x), f, ax=ax)
## plot direction field of function f
ax.plot(xn, yn, 'b', lw=2)
ax.plot(xp, yp, 'r', lw=2)
plt.show()
C:\ProgramData\Anaconda3\lib\site-packages\scipy\integrate\odepack.py:247: ODEintWarning: Excess work done on this call (perhaps wrong Dfun type). Run with full_output = 1 to get quantitative information.
  warnings.warn(warning_msg, ODEintWarning)

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小孟的CDN

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值