当前位置: 首页 > 面试题库 >

在Python中集成离散点

澹台景辉
2023-03-14
问题内容

我有两个numpy数组(x,y)-

import numpy as np
import scipy 
from scipy.integrate import simps

y=np.array([1,1,2,1,-2])
x=np.array([0,1,2,3,4])

绘制时看起来像这样-(在蓝线中)
在此处输入图片说明
黑线突出显示实际点。我希望在x轴上不在原始数据集中的两个点(标记为红线)之间进行积分。目标是在上图中找到灰色阴影区域(两条红线之间)。

我该如何在python中做呢?使用python SciPy库,我可以像这样集成

scipy.integrate.trapz(y,x)

这给了我灰色区域阴影区域-
在此处输入图片说明

但是,如果我在x轴上的1.5和2.2的点之间进行积分,则陷印会给出以下灰色阴影区域:
在此处输入图片说明

我该如何正确。

PS-折线图不能表示为函数,因为原始数组中有许多随机点。

正确方向的任何见解都会有所帮助


问题答案:

scipy内插器(例如InterpolatedUnivariateSpline)具有一种integral方法。例如,

In [23]: from scipy.interpolate import InterpolatedUnivariateSpline

In [24]: x = np.array([0, 1, 2, 3, 4])

In [25]: y = np.array([1, 1, 2, 1, -2])

In [26]: f = InterpolatedUnivariateSpline(x, y, k=1)  # k=1 gives linear interpolation

In [27]: f.integral(1.5, 2.2)
Out[27]: 1.2550000000000003


 类似资料:
  • 问题内容: 我有一组X,Y数据点(约10k),很容易将其绘制为散点图,但我想将其表示为热图。 我浏览了MatPlotLib中的示例,它们似乎都已经从热图单元格值开始以生成图像。 有没有一种方法可以将所有不同的x,y转换为热图(其中x,y的频率较高的区域会“变暖”)? 问题答案: 如果你不想要六角形,可以使用的函数: 这将产生的热图。如果你想要,则可以拨打。

  • 离散流或者DStreams是Spark Streaming提供的基本的抽象,它代表一个连续的数据流。它要么是从源中获取的输入流,要么是输入流通过转换算子生成的处理后的数据流。在内部,DStreams由一系列连续的 RDD组成。DStreams中的每个RDD都包含确定时间间隔内的数据,如下图所示: 任何对DStreams的操作都转换成了对DStreams隐含的RDD的操作。在前面的例子中,flatM

  • 这是一个非常特殊的绘图请求,但我有数据要以非常特殊的方式查看。情况如下: 1) 我拥有的数据分为25个数据箱,每个数据箱包含不同数量的数据点。仓位值越大,粗略地说,仓位中的数据点数量就越少(这只是数据处理的结果)。 2)我可以访问bin值。 我可以在matplotlib中轻松生成“errorbar”类型的绘图(y轴从半径缩放到以下度数): 但是,对于我想研究的内容来说,这并不是特别有见地。我真的很

  • 散点图基于基本折线图,x 轴更改为线性轴。要使用散点图,数据必须作为包含 X 和 Y 属性的对象传递。下面的例子创建了一个 3 点的散点图。 var scatterChart = new Chart(ctx, { type: "scatter", data: { datasets: [ { label: "Sc

  • 代码示例 const interpolant = new THREE.DiscreteInterpolant( new Float32Array( 2 ), new Float32Array( 2 ), 1, new Float32Array( 1 ) ); interpolant.evaluate( 0.5 ); Constructor DiscreteInterpolant( paramete

  • 我们已经看到,在非常一般的条件下,离散信道中可出现信号数的对数随时间线性增加。如果能给出这一增长速率,也就是每秒需要多少比特来表示所使用的特定信号,每秒钟所需要的比特数,就能给出信息传输容量。 我们现在考虑信源。如何用数学描述一个信源呢?一个给定信源每秒生成多少比特的信息呢?问题的要点在于,如何利用信源的相关统计知识,通过信息的正确编码,减少所需要的信道容量。比如,在电报通信中,要传送的消息由字符

  • 我对hibernate有点陌生,所以我从一些简单的东西开始。 根据F.I.R.S.T测试原则,单元测试必须是I-隔离的。我试图使用注释将其应用于存储库层(Hibernate\JPA)的集成测试: 但是,只要在一个事务中执行两个方法,hibernate实际上并不执行它们(据我所知)--至少日志中没有行。 我看到了一个自带并调用其方法的解决方案。但我不喜欢它,因为我试图在不绑定Hibernate\JP

  • # 给ISO离线集成补丁 大家是否厌倦了每次安装补丁后又要打一堆补丁的感觉?使用微软的Dism打补丁又需要自己收集补丁,而且每个月有新补丁,还有老补丁被取代。现在Dism++重建了Windows Update,直接从WSUS服务器中导出补丁数据库,全自动获取最新更新,自动剔除过期老补丁,在通过CBS判断系统是否需要此更新。下面来看看怎么使用吧。 解压ISO 为了处理ISO里面的install.w