我有一个简单的二阶ODE的同类解决方案,当我尝试使用Sympy求解初始值时,返回相同的解决方案.它应该替代y(0)和y'(0)并产生没有常数的解,但不能.这是设置方程的代码(它是弹簧平衡方程,k =弹簧常数,m =质量).我在其他地方使用的一些冗余符号,抱歉.
%matplotlib inline
from sympy import *
m,k, x,t,s,T, omega,A,B = symbols('m k x t s T omega A B',float=True)
a = symbols('a', positive=True)
f,y,g,H,delta,S=symbols('f y g H delta S',cls=Function)
Eq1 = Eq(m*diff(y(t),t,2)+k*y(t))
Eq1
Run Code Online (Sandbox Code Playgroud)
结果是(正确):$ y {\ left(t\right)} = C_ {1} e ^ { - t\sqrt { - \frac {k} {m}}} + C_ {2} e ^ { t\sqrt { - \frac {k} {m}}} $
y(t)= C1e ^( - t√( - k/m))+ C2e ^(t√( - km)),也有y_n = c1.cos(√( - …
下面的代码有效,但我认为每个重复周期都会过度绘制原始点。我希望它从原点开始,每个重复循环,有一个清晰的情节。在许多解决此问题的方法中,我尝试在 init 和 update 函数中插入 ax.clear();没有效果。我在代码中留下了我认为会重置 ln,艺术家的内容;同样,这不是我正在寻找的解决方案。我会很感激在这个玩具示例中重新启动每个循环的正确方法是什么的一些指导,以便在应用于我更复杂的问题时,我不会招致累积处罚。如果传递数组,这在刷新方面效果很好......感谢您的帮助。
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.animation import FuncAnimation, writers
#from basic_units import radians
# # Set up formatting for the movie files
# Writer = writers['ffmpeg']
# writer = Writer(fps=20, metadata=dict(artist='Llew'), bitrate=1800)
#Polar stuff
fig = plt.figure(figsize=(10,8))
ax = plt.subplot(111,polar=True)
ax.set_title("A line plot on a polar axis", va='bottom')
ax.set_rticks([0.5, 1, 1.5, 2]) # fewer radial ticks
ax.set_facecolor(plt.cm.gray(.95))
ax.grid(True)
xT=plt.xticks()[0]
xL=['0',r'$\frac{\pi}{4}$',r'$\frac{\pi}{2}$',r'$\frac{3\pi}{4}$',\
r'$\pi$',r'$\frac{5\pi}{4}$',r'$\frac{3\pi}{2}$',r'$\frac{7\pi}{4}$']
plt.xticks(xT, xL)
r = []
theta = [] …Run Code Online (Sandbox Code Playgroud) 我不使用或进行太多文本搜索,但无法找到关于正则表达式是什么的答案,该正则表达式是从文本文件中查找以 T 开头并以 T 结尾的所有单词,其中每个单词都位于换行符上。尝试了一些搜索建议;以下查找以 T 开头且接下来出现 T 的所有单词。但是,我想找到最后一个字母是 T 的位置,无论之间有多少个 T。抱歉,如果这实际上是微不足道的,但在每次组合之后我发现我没有结果。我不确定为什么r'^T.*T$'不起作用。
with open('/Users/../words.txt') as f:
passage = f.read()
words = re.findall(r'T.+T', passage)
print(words)
Run Code Online (Sandbox Code Playgroud)