- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
首先,如果这个问题已经被问到,我深表歉意,但是在对谷歌为我提供的每个短语提供的每个链接进行了大约 10 小时的深入研究后,我找不到任何可以帮助的东西我的问题。
我想做的是:
我检索了两张 Excel 表格,其中包含来自两种不同科学测量的数据。每张纸包含的信息可以很容易地分别与另一张纸进行比较。两张表之间的唯一区别是它们包含的数据点数量。例如:第一个工作表包含时间跨度为 200 秒的数据,一个点代表 1 秒。第二张表也包含相同时间跨度的数据,但一个点代表 0.5 秒。
我要解决的问题是用较少的数据点“缩放”工作表,以便在单个图表中轻松比较它们,以便图表中的每条线都使用相同的空间X 轴。
我在执行此任务时遇到的问题是我缺乏足够的数学背景来创建算法。
我已经使用 GUI 创建了整个应用程序,导入 Excel 工作表并使用移动平均线进行平滑处理(仅当数据集长度相等时才有用)。
欢迎任何想法或链接到任何可以解释这一点的地方。
我还想说,我目前拥有的任何代码都与这个问题完全无关,它只是一个具有上述功能的附加方法。
提前致谢,马福克
最佳答案
如果两个集合的数据点之间存在直接相关性 - 即两者的时间匹配 - 那么对较小的集合进行线性插值可能足以生成缺失点。
例如,假设您的第一组数据是:
Time Value
12:00:00.0 100.0
12:00:01.0 120.0
12:00:02.0 117.5
...你的第二组看起来像:
Time Value
12:00:00.0 2.5
12:00:00.5 3.0
12:00:01.0 2.6
12:00:01.5 2.9
12:00:02.0 2.8
我们可以通过多种方式填补第一个列表中的空白,具体取决于您之后尝试对数据执行的操作。
最简单的方法是对值进行线性插值。如果你的点与你正在寻找的值等距(即:你在中间点找到值)那么只需在缺失点处将它们平均在一起:
Time Value Lerp
12:00:00.0 100.0
12:00:00.5 110.0
12:00:01.0 120.0
12:00:01.5 118.75
12:00:02.0 117.5
如果采样率相对于输入变化的速率足够高,这就可以了。我见过很多使用这种计算来加倍采样率的音频处理算法。当您的高频数据采样率太低而无法很好地捕获转换时,效果就不太好。
第二种选择是使用样条函数根据一系列点拟合曲线,然后将缺失的点合成为曲线上的偏移量。这将为您提供更平滑、更自然的插值,数据中的驼峰看起来更真实。如果时间在数据集之间没有很好地对齐,这也将为您提供一种相当好的方法来偏移数据 - 将每个点计算为沿曲线的偏移量,距离等于时间偏移量。有很多样条实现可供您使用。我建议将 Catmull-Rom 作为起始算法。
警告:如果您正在对输出进行某种统计分析,那么无论您如何做,都不会得到好的结果它。如果分析是您的目标,则将较大的组缩减,而不是将数据捏造到较小的组中。
关于c# - 在 C# 中缩放/插值测量数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24949738/
#include using namespace std; class C{ private: int value; public: C(){ value = 0;
这个问题已经有答案了: What is the difference between char a[] = ?string?; and char *p = ?string?;? (8 个回答) 已关闭
关闭。此题需要details or clarity 。目前不接受答案。 想要改进这个问题吗?通过 editing this post 添加详细信息并澄清问题. 已关闭 7 年前。 此帖子已于 8 个月
除了调试之外,是否有任何针对 c、c++ 或 c# 的测试工具,其工作原理类似于将独立函数复制粘贴到某个文本框,然后在其他文本框中输入参数? 最佳答案 也许您会考虑单元测试。我推荐你谷歌测试和谷歌模拟
我想在第二台显示器中移动一个窗口 (HWND)。问题是我尝试了很多方法,例如将分辨率加倍或输入负值,但它永远无法将窗口放在我的第二台显示器上。 关于如何在 C/C++/c# 中执行此操作的任何线索 最
我正在寻找 C/C++/C## 中不同类型 DES 的现有实现。我的运行平台是Windows XP/Vista/7。 我正在尝试编写一个 C# 程序,它将使用 DES 算法进行加密和解密。我需要一些实
很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visit the help center . 关闭 1
有没有办法强制将另一个 窗口置于顶部? 不是应用程序的窗口,而是另一个已经在系统上运行的窗口。 (Windows, C/C++/C#) 最佳答案 SetWindowPos(that_window_ha
假设您可以在 C/C++ 或 Csharp 之间做出选择,并且您打算在 Windows 和 Linux 服务器上运行同一服务器的多个实例,那么构建套接字服务器应用程序的最明智选择是什么? 最佳答案 如
你们能告诉我它们之间的区别吗? 顺便问一下,有什么叫C++库或C库的吗? 最佳答案 C++ 标准库 和 C 标准库 是 C++ 和 C 标准定义的库,提供给 C++ 和 C 程序使用。那是那些词的共同
下面的测试代码,我将输出信息放在注释中。我使用的是 gcc 4.8.5 和 Centos 7.2。 #include #include class C { public:
很难说出这里问的是什么。这个问题是含糊的、模糊的、不完整的、过于宽泛的或修辞性的,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开它,visit the help center 。 已关
我的客户将使用名为 annoucement 的结构/类与客户通信。我想我会用 C++ 编写服务器。会有很多不同的类继承annoucement。我的问题是通过网络将这些类发送给客户端 我想也许我应该使用
我在 C# 中有以下函数: public Matrix ConcatDescriptors(IList> descriptors) { int cols = descriptors[0].Co
我有一个项目要编写一个函数来对某些数据执行某些操作。我可以用 C/C++ 编写代码,但我不想与雇主共享该函数的代码。相反,我只想让他有权在他自己的代码中调用该函数。是否可以?我想到了这两种方法 - 在
我使用的是编写糟糕的第 3 方 (C/C++) Api。我从托管代码(C++/CLI)中使用它。有时会出现“访问冲突错误”。这使整个应用程序崩溃。我知道我无法处理这些错误[如果指针访问非法内存位置等,
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 7 年前。
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于 Stack Overflow 来说是偏离主题的,因为
我有一些 C 代码,将使用 P/Invoke 从 C# 调用。我正在尝试为这个 C 函数定义一个 C# 等效项。 SomeData* DoSomething(); struct SomeData {
这个问题已经有答案了: Why are these constructs using pre and post-increment undefined behavior? (14 个回答) 已关闭 6
我是一名优秀的程序员,十分优秀!