Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vector Gnuplot:如何从向量场中移除低于某个量级的向量?_Vector_Field_Gnuplot - Fatal编程技术网

Vector Gnuplot:如何从向量场中移除低于某个量级的向量?

Vector Gnuplot:如何从向量场中移除低于某个量级的向量?,vector,field,gnuplot,Vector,Field,Gnuplot,我有一个二维CFD代码,它给出了网格上每个点的x和y流速。我目前正在使用gnuplot中的向量场可视化数据。我的目标是观察火山喷发的烟羽延伸多远,因此,如果我能阻止向量在低于某个量级的情况下出现在野外,那就更干净了。有人知道怎么做吗?下面是我当前的gnuplot脚本。我还可以根据需要修改输入文件 reset set nokey set term png set xrange [0:5.1] set yrange [0:10.1] do for [i=0:10] { set title '

我有一个二维CFD代码,它给出了网格上每个点的x和y流速。我目前正在使用gnuplot中的向量场可视化数据。我的目标是观察火山喷发的烟羽延伸多远,因此,如果我能阻止向量在低于某个量级的情况下出现在野外,那就更干净了。有人知道怎么做吗?下面是我当前的gnuplot脚本。我还可以根据需要修改输入文件

reset
set nokey
set term png
set xrange [0:5.1]
set yrange [0:10.1]
do for [i=0:10] {
    set title 'Eruption simulation: Timestep '.i
    set output 'path/FlowVel'.sprintf('%04.0f',i).'.png'
    plot 'path/Flow'.sprintf('%04.0f',i).'.dat' using 1:2:3:4 with vec
}

我猜您需要一种过滤,gnuplot实际上没有,但可以通过以下技巧实现(摘自gnuplot中的“使用示例的帮助”):

所以我想你会想要这样的东西在你的情况下

plot "data.dat" u 1:2:($3**2+$4**2>mag_sq?$3:NaN):($3**2+$4**2>mag_sq?$4:NaN) w vector
其中mag_sq是所需大小的平方

plot "data.dat" u 1:2:($3**2+$4**2>mag_sq?$3:NaN):($3**2+$4**2>mag_sq?$4:NaN) w vector