数据文件的线性插值示例

2023-12-25

我有一个数据文件example.dat例如,使用 xy 值

0 10
1 40
5 20

我如何对这些点的线性插值进行采样gnuplot?我想将该采样存储在另一个文件中output.dat using set table。通过三次样条平滑我可以做到

set table "output.dat"
set samples 10
plot "example.dat" smooth csplines

这会产生 10 个点的三次样条插值的等距采样。但我发现没有办法用线性插值进行这样的等距采样:采样率被忽略(gnuplot 5.0)。

我尝试在没有任何选项的情况下使用线性插值“平滑”,例如smooth unique,希望这能让 gnuplot 将数据集视为可以采样的函数,但无济于事。

我的应用程序正在公共网格中对不同的数据文件进行采样,以供以后比较。我知道这正在突破 gnuplot 的用途界限,但由于已经有一个采样机制,我想知道我是否只是错过了一些东西。


如果您仍然对此感兴趣,以下是“仅 gnuplot”解决方案。不是很优雅,但似乎可行。

### "gnuplot only" linear interpolation of data
reset session

$Data <<EOD
0   10
1   40
5   20
EOD

stats $Data u 1 nooutput
min = STATS_min
max = STATS_max
Samples=10

Interpolate(x0,y0,x1,y1,xi) = y0 + (y1-y0)/(x1-x0)*(xi-x0) 

set print $Interpol
set table $Nowhere
do for [i=1:Samples] {
    xi = min + (i-1)*(max-min)/(Samples-1)
    do for [j=0:STATS_records-1] {
        plot $Data u (a=$1,$1):(b=$2,$2) every ::j::j with table
        plot $Data u (c=$1,$1):(d=$2,$2) every ::j+1::j+1 with table
        if ( xi>=a && xi<=c) {
            print sprintf("%g\t%g",xi,Interpolate(a,b,c,d,xi))
            break
        }
    }
}
unset table
set print
set colorsequence classic 
plot $Data u 1:2 w lp t "original data",\
    $Data u 1:2 w lp smooth cspline t "smooth cspline",\
    $Interpol u 1:2 w p pt 6 t "linear interpolation"
### end code
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

数据文件的线性插值示例 的相关文章

  • 如何在调用 gnuplot 时保持 PyQt5 响应?

    我正在尝试使用 Python GUI 和 gnuplot 创建绘图 我正在用 Python 生成代码并将其发送到 gnuplot 这基本上适用于将数据传输到 gnuplot 但是 缺点 Python 程序将被阻止 直到您关闭 gnuplot
  • 使用循环在 Gnuplot 中生成绘图

    我想使用 Gnuplot 生成几个图 这就是我需要使用循环的原因 数据从文件 sort i dat 加载 代码如下所示 但不起作用 我的主循环有一些问题 我不知道为什么它不起作用 也许它与我的 Gnuplot 版本有关 谢谢 do for
  • gnuplot 与 iOS

    这里有人有在 iOS 上使用 gnuplot 的经验吗 我想在 iOS 设备上开发一个科学计算应用程序 并想使用 gnuplot 作为绘图引擎 有什么好的教程可以让我开始学习吗 我有同样的一般问题 快速的谷歌搜索让我找到了以下应用程序 它似
  • Gnuplot:将按行和命名的数据绘制为不同颜色和标题的线束

    我正在尝试绘制当前存储的一组图表 我的文件 txt ID01 1 2 3 4 5 ID02 3 4 5 6 7 8 9 ID03 4 3 1 2 3 4 例如 有一行标题为 ID01 仅显示第一行 另一行标题为 ID02 依此类推 如果线条
  • 在 jupyter 上安装 gnuplot

    我想用 gnuplot 绘制条形图 但我安装时遇到问题 我正在使用 jupyter anaconda 以下代码不适用于安装 conda install gnuplot py pip install gnuplot py pip instal
  • Gnuplot - 使用带有 png 终端的 replot

    我正在尝试在 Gnuplot 中使用带有 png 终端的 replot 如果我执行以下操作 我会在一张图表上绘制两个图 没有任何问题 plot sin x x replot sin x 现在 如果对 png 终端类型执行相同操作 则生成的
  • 如何通过指定 Gnuplot 脚本内的所有点来绘制数据而无需单独的文件?

    我的程序生成调用 gnuplot 的 bash 脚本 我不想创建额外的文件来存储数据 有什么方法可以显式调用所有值吗 或者可能让 bash 创建一个临时文件 就像是 plot 1 5 2 10 3 1 就是我正在寻找的 您可以使用内联数据的
  • 递归地更改绘图类型(带线、带点)

    我正在尝试为基于 Julia 的 gnuplot 创建一个包装器来自动化我的绘图 我的目标是为 Julia 提供要绘制的文件名 要使用的线条样式类型以及要绘制的列 例如 如果我有文件test1 and test2 都有 3 列和标题 tim
  • gnuplot任意标注x轴

    我有以下 gnuplot 数据文件 1 0 5 0 9 2 0 1 0 5 3 0 7 0 4 其中第一列是 x 轴 第 2 3 列是两个不同的图表 x 轴坐标始终为自然数 它们代表单词在句子中的位置 第 2 列和第 3 列只是对句子中单词
  • 如何在 gnuplot 中设置时区?

    我有一个简单的 gnuplot 命令文件 set xdata time set timefmt s set format x H M 其中 x 时间戳列 结果 UTC 格式的时间 我可以更改 x 轴的本地时区吗 今天刚刚在文档中发现了这一点
  • 如何在gnuplot中绘制带有彩色边框的矩形

    我想在我的图中画一个空矩形 到目前为止我有 set style rect back fs empty border lt 3 set object 1 rect from 1 1 to 2 2 我有一个带有虚线的矩形 如何更改线条的颜色 l
  • gnuplot 中的 output.png 不如提示 shell 中的图好

    我经常绘制图表gnuplot提示 shell 如下所示 gunuplot gt plot sin x with linespoints pointtype 3 出现的数字很棒 今天 我将图表保存在 png文件 像这样 gnuplot gt
  • Gnuplot:如何在轴和 pm3d 地图之间有一些空间

    这是我的代码 f x y sin 1 3 x cos 9 y cos 8 x sin 1 9 y cos y 2 x set size square set xrange 5 5 set yrange 5 5 set contour bas
  • 更改 gnuplot 中 tics 之间的实际空间

    x 轴示例 Before 10 20 30 40 After 10 20 30 40 我已经搜索了一段时间 只找到了如何尽可能简单地缩放除抽动之间的大小之外的其他所有内容 我不想改变画布大小 终端大小 抽动大小 抽动数量等 我想拉伸 x 轴
  • 以不同的采样率绘制两个函数

    我想绘制两个函数 sin x 和采样并量化的 sin x 脚本很简单 set xtic 1 set ytic 1 f1 x sin x 16 2 pi 8 round x x floor x lt 0 5 floor x ceil x pl
  • 如何在 gnuplot 中绘制导入数据的函数?

    如果我有一个包含多个数据点的文件 我怎样才能绘制它们的函数 例如 假设我有一个 to columns 的文件x and y我想绘制sin y 作为一个函数1 x 尝试这个 plot u 1 1 sin 2 w l 2 00000 0 161
  • 在 gnuplot 中使用 multiplot 时如何确保我的图共享同一轴?

    我使用以下脚本绘制矩阵文件file dat以及同一个图上的两个点 问题是我的 x 轴和 y 轴对于两个不同的图不重叠 set multiplot set pm3d map splot file dat matrix unset pm3d p
  • 如何在gnuplot中将字符串转换为数字

    有没有办法将表示数字 以科学格式 的字符串转换为 gnuplot 中的数字 IE stringnumber 1 0e0 number myconvert stringnumber plot 1 1 number 我可能使用 shell 命令
  • 字符串的 gnuplot 图

    是否可以传递字符串中的绘图数据 我的意思是做这样的事情 plot 09 13 2010 2263 80 09 14 2010 2500 using 1 2 with lines 可以做类似的事情 set xdata time set tim
  • 将数据从 C++ 传递到 gnuplot 示例(使用 Gnuplot-iostream 接口)

    我刚刚遇到 Dan Stahlke gnuplot C I O 接口 它使我免于 自己动手 不幸的是 没有太多的例子 并且 ios 没有真正的文档 我的 C 项目中有以下数据类型 struct Data std string datestr

随机推荐

  • 如何启用映射实体的私有属性

    一开始我不得不对我的英语说抱歉 我正在使用实体框架和代码优先的方式 我脑子里有一个想法 但我不知道如何实现它 我不是编程初学者 但我一直在使用流利的 NHibernate 我有一个实体 public class User Key publi
  • Excel 互操作:Range.FormatConditions.Add 抛出 MissingMethodException

    我正在编写一个应用程序 它使用 Microsoft Office Interop Excel 程序集从 Excel 电子表格导出 导入数据 一切都很顺利 除了基于 1 的索引和所有这些可选参数 直到我尝试使用条件格式 当我调用 Range
  • 什么是有效的 HTML5 自定义标签?

    最近 我一直在阅读有关如何通过在名称中添加破折号来使自定义标签在 HTML5 中有效的内容 因此我一直想知道自定义标签的实际规则 指南是什么 custom tag custom X custom custom 我想知道的是最后两个是否有效
  • Apache 和 Node.js 在同一服务器上

    我想使用 Node 因为它速度很快 使用与我在客户端使用的语言相同的语言 并且根据定义它是非阻塞的 但是我雇来编写文件处理程序 保存 编辑 重命名 下载 上传文件等 的人 他想使用 apache 所以 我必须 说服他使用 Node 他对此几
  • 从 groovy 中访问 java 类

    我有一个简单的java类 package test class Hello public static void main String args System out println Hi 我在上面做了一个 javac Hello jav
  • 无法解决联合选择中的排序规则冲突

    我有两个疑问 首先不起作用 select hotels TargetCode as TargetCode from hotels union all select DuplicatedObjects duplicatetargetCode
  • Google Scripts - 在不同的工作表中触发和运行

    我需要 创建一个新工作表 调用主函数 设置一个将调用 main 函数的触发器 基本上是这样的 function new campaign var sheet name new sheet main function sheet name t
  • SQL 左连接将多行合并为一行

    基本上 我有两个表 表 A 包含我想要取出的实际项目 表 B 用于语言翻译 例如 表 A 包含实际内容 每当在表中使用文本时 都会存储与表 B 中存储的文本相关的 id 而不是存储实际的 varchar 值 这使我可以通过向表 B 中添加
  • Laravel Guzzle GET 请求

    client new Client base uri gt http api tvmaze com res client gt request GET schedule country US date 2014 12 01 return r
  • 为什么空数组引用的数组访问表达式不会抛出 NullPointerException?

    考虑以下代码 int r null r 0 1 0 我本以为这会引发NullPointerException 根据JLS 第 15 7 1 节 https docs oracle com javase specs jls se8 html
  • 如何在自己的 shell 中实现自己的 cd 命令[重复]

    这个问题在这里已经有答案了 我正在一个小型项目中工作 我自己的命令解释器 SHELL 例如 Bash shell 或 Sh shell 到目前为止 它可以执行所有预定义的命令 如 ls ps pwd date 除此之外 我还实现了一些其他操
  • 在不配置 Amazon Cognito 的情况下使用 Amazon Mobile Analytics

    与竞争的分析服务相比 Amazon Mobile Analytics 似乎需要更多的配置和集成步骤 例如 在 Flurry Analytics 中 设置非常简单 Flurry startSession
  • 输入格式是否负责在 Hadoop 的 MapReduce 中实现数据局部性?

    我试图了解数据局部性 因为它与 Hadoop 的 Map Reduce 框架相关 特别是我想了解哪个组件处理数据局部性 即它是输入格式吗 雅虎的开发者网络页面 http developer yahoo com hadoop tutorial
  • 如何使用斯坦福解析器

    我下载了Stanford parser 2 0 5 并使用包中的Demo2 java源代码 但编译并运行该程序后 出现很多错误 我的程序的一部分是 public class testStanfordParser Usage ParserDe
  • 如何消除颤振上文本上方和下方的间隙[关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 我试图将文本 Hello 放在 123 的正下方 但是文本越大 间隙就越大 怎样消除间隙 下面添加了颤振图像 到目前为止
  • 如何提取terraform中的敏感输出变量?

    我有一个 terraform 配置 它创建一个带有访问密钥的 AWS IAM 用户 并将 id 和 Secret 分配给输出变量 resource aws iam access key brand new user user aws iam
  • 用数学方法将两个字符串相加?

    我正在浏览论坛 但仍然找不到问题的答案 我有两个字符串 它们实际上是一个数字数组 例如 我只是选择随机数 string input1 12345678909876543212 string input2 12345 我想将这两个字符串加在一
  • 如何让 MSTest 找到我的测试数据文件?

    我有一些测试需要使用 Excel 文件中的外部数据 这些文件包含在测试项目中 并且在 Visual Studio 中 我编辑了测试设置文件 Local testsettings 来部署数据文件 这使得它在 VS 中工作得很好 然而 我们也在
  • QTableWidget 与 QTableView

    我是 Qt 模型 视图框架的新手 在我的应用程序中 我想要有 1000 X 1000 个单元格 应该有最低的内存要求并且应该很快 我不知道这个模型术语的用途是什么 但我有自己的类 它知道如何处理表中存储的双变量 目前我正在使用带有验证器的
  • 数据文件的线性插值示例

    我有一个数据文件example dat例如 使用 xy 值 0 10 1 40 5 20 我如何对这些点的线性插值进行采样gnuplot 我想将该采样存储在另一个文件中output dat using set table 通过三次样条平滑我