当只知道数组的行数时,如何访问数组中的元素?

问题描述 投票:0回答:1

我正在用python解决一个微分方程系统,以找到 Z.

sol = solve_ivp(conv, tspan, Z0,method='BDF')
aa=sol.t
bb=sol.y

然后我发现 X 作为

X=v1.dot(bb) where `v1`is a transformation matrix.

我需要找到第二行的值。X在每一个集成步骤中,都要执行程序,因为

X[:,0]=[0,0,0,0]
def conv(t,Z):
   if  (second element of 4*1 X )> .7
   Zdot=A*Z+B*U
sol = solve_ivp(conv, tspan, Z0,method='BDF')
aa=sol.t
bb=sol.y
X=v1.dot(bb)

我希望每一步都能检查if条件,然后再进行 Zdot=A*Z+B*U我只知道每一步积分时X的行数,所以不能使用for循环,我该怎么做?

python numpy
1个回答
0
投票

你可以用以下方法检查 np.all 以检查所有元素。

def conv(t,Z):
   if np.all(X[1, :]> .7):
       Zdot=A*Z+B*U
© www.soinside.com 2019 - 2024. All rights reserved.