python - 如何使用 if-else 语句来求解使用 odeint 的微分方程组?
问题描述
我正在尝试使用 odeint 来求解状态空间形式的方程组。odeint
当我运行此代码时,我只得到一个条件的图。
import numpy as np
from scipy.integrate import odeint
import matplotlib.pyplot as plt
from numpy import zeros
X=np.array([[0],[0],[0],[0]])
X1=np.array([[0],[0],[0],[0]])
U= np.array([[vin],[vdon]])
定义 A1,A0,B1,B0
def conv(X,t):
sw=0
if condition
statement
else:
statement
return xdot
X0=np.array([0,0,0,0])
t=np.arange(0,.0005,10**-8)
t1=np.arange(.0005,.001,10**-8)
for i in range(1,2):
vin=12
X=odeint(conv,X0,t)
vin=-12
X1=odeint(conv,X[-1],t1)
Xplot=np.concatenate((X,X1))
tplot=np.concatenate((t,t1))
plt.plot(tplot,Xplot)
解决方案
推荐阅读
- excel - 为什么使用“Debug.Print”会导致“溢出”错误?
- swift - 如何在页脚上的 uitable 视图上向我的初始视图添加另一个视图?
- react-native - can I make the array containing 5 names display Vertically Using the stylesheet in react native??
- javascript - 如何模拟 JSON 导入 Jest TypeScript
- python - 我将如何制作一个程序,从 txt 文档中删除所有字母和逗号?
- javascript - react中定义方法的两种方式,有什么不同?
- python - Python中与Pub-Sub的模块间通信
- python - 带 2 位小数的舍入方法的错误结果
- c - 虚拟页面权限位和区域结构权限位的区别
- racket - making vars accessible across phases