Python - 如何从 np.array 获取积分值?

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

我正在尝试从 np.array(值列表)获取积分值。不是函数下的表面,而是值。我有加速度值并且想要获得速度值。 假设我有一个像这样的 arry:

a_x = np.array([111.2, 323.2, 123.3, 99.38, 65.23, -0.19, -34.67])

我尝试从该数组中获取积分值以获取速度值。

如果我使用 simps、quad、trapz,我会得到一个数字(表面)。

那么如何整合 np.array 值并获得可以存储在列表中的整合值?

python arrays numpy numerical-integration acceleration
1个回答
0
投票

你无法按照你想要的方式去做,因为你不了解其背后的流程。如果给定加速度,则使用以下等式:

你只能求不定积分,你知道加速度,但你不知道起始条件,因此你的解不能为空。

由于每个问题的解决方案是:“计算给定加速度的速度”,那么解决方案将是 v(t)=a(t)dt+c 的积分,其中加速度是恒定的,因此它不会依赖 t,它可以写成 v(t)=at+c,但是我们仍然不知道加速持续了多长时间以及起始条件是什么。

但是回答有关获取可以存储在列表中的值的问题 - 您可以通过索引 np.array 的值来做到这一点:

import numpy as np
a_x = np.array([111.2,323.2,123.3])
#Gets first value
print(a_x[0])

如果我使用 simps、quad、trapz,我会得到一个数字(表面)。

因为quad、simps或trapz是针对给定点的方法,它们用相应的方法返回与给定点的积分值,例如:

numpy.trapz(y, x=None, dx=1.0, axis=- 1)

如果未指定 x (如您的情况),则假定您要使用梯形来估计给定点的值 y 下的场,其中 x 等于 x 的分布。它必须给出一个值。

© www.soinside.com 2019 - 2024. All rights reserved.