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(2Aak−BΦλ)+C2(2Cak−DΦλ))=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:4A′EVCˉak2Λ−2A′EVDˉakΛΦλ−2A′VCˉakΔ−2B′ESVCˉakΛ+B′ESVDˉΛΦλ+B′SVCˉΔ−4C′EVAˉak2Λ+2C′EVBˉakΛΦλ+2C′VAˉakΔ+2D′ESVAˉakΛ−D′ESVBˉΛΦλ−D′SVAˉΔ2EFCˉakΛ−EFDˉΛΦλ−FCˉΔ, C2:4A′EVCˉak2Λ−2A′EVDˉakΛΦλ−2A′VCˉakΔ−2B′ESVCˉakΛ+B′ESVDˉΛΦλ+B′SVCˉΔ−4C′EVAˉak2Λ+2C′EVBˉakΛΦλ+2C′VAˉakΔ+2D′ESVAˉakΛ−D′ESVBˉΛΦλ−D′SVAˉΔ−2EFAˉakΛ+EFBˉΛΦλ+FAˉΔ, C4:4A′EVCˉak2Λ−2A′EVDˉakΛΦλ−2A′VCˉakΔ−2B′ESVCˉakΛ+B′ESVDˉΛΦλ+B′SVCˉΔ−4C′EVAˉak2Λ+2C′EVBˉakΛΦλ+2C′VAˉakΔ+2D′ESVAˉakΛ−D′ESVBˉΛΦλ−D′SVAˉΔ−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\} {(4AC′EVak2Λ−2AC′VakΔ−2AD′ESVakΛ+AD′SVΔ−4A′CEVak2Λ+2A′CVakΔ+2A′DEVakΛΦλ−2BC′EVakΛΦλ+BD′ESVΛΦλ+2B′CESVakΛ−B′CSVΔ−B′DESVΛΦλ−2CEFakΛ+CFΔ+DEFΛΦλ, 4AC′EVak2Λ−2AC′VakΔ−2AD′ESVakΛ+AD′SVΔ−4A′CEVak2Λ+2A′CVakΔ+2A′DEVakΛΦλ−2BC′EVakΛΦλ+BD′ESVΛΦλ+2B′CESVakΛ−B′CSVΔ−B′DESVΛΦλ2AEFakΛ−AFΔ−BEFΛΦλ, 4AC′EVak2Λ−2AC′VakΔ−2AD′ESVakΛ+AD′SVΔ−4A′CEVak2Λ+2A′CVakΔ+2A′DEVakΛΦλ−2BC′EVakΛΦλ+BD′ESVΛΦλ+2B′CESVakΛ−B′CSVΔ−B′DESVΛΦλ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+c12c2c4−2c12c3c5+c12c62+c2c3c5c6+c2c4c62+c32c52+c3c4c5c6D1c13−D1c1c3c5+D1c1c62+D2c12c2+D2c2c62+D2c3c5c6+D3c1c2c5+D3c1c5c6−D4c12c5+D4c2c5c6+D4c3c52, x2:c14+c12c2c4−2c12c3c5+c12c62+c2c3c5c6+c2c4c62+c32c52+c3c4c5c6D1c12c4+D1c3c5c6+D1c4c62−D2c13+D2c1c3c5−D2c1c62−D3c12c5+D3c3c52+D3c4c5c6−D4c1c4c5−D4c1c5c6, x3:c14+c12c2c4−2c12c3c5+c12c62+c2c3c5c6+c2c4c62+c32c52+c3c4c5c6−D1c1c3c4−D1c1c3c6+D2c12c3−D2c2c3c6−D2c32c5+D3c13+D3c1c2c4−D3c1c3c5+D4c12c6+D4c2c4c6+D4c3c4c5, x4:c14+c12c2c4−2c12c3c5+c12c62+c2c3c5c6+c2c4c62+c32c52+c3c4c5c6D1c12c3−D1c32c5−D1c3c4c6+D2c1c2c3+D2c1c3c6+D3c12c6+D3c2c3c5+D3c2c4c6−D4c13−D4c1c2c4+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(2−z)+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)