【问题标题】:gnuplot vector arrow length and streamlinesgnuplot 矢量箭头长度和流线
【发布时间】:2019-03-08 06:26:46
【问题描述】:

我已经在这里asked 了解矢量场。现在我想知道更多关于它的信息。

如何使每个箭头具有相同的固定长度并通过颜色定义值的大小?

在 gnuplot 中仍然无法绘制流线吗?如果可能,我该怎么做?

现在我有这个,需要升级它。

set term pngcairo
set title 'Navier-Stokes Equation'
set terminal png size 1280,720
set output 'vec.png'
plot 'vec' u 1:2:($3/$5):($4/$5) w vec t 'Vector Field'

更新

感谢@theozh,我得到了我想要的。我想分享我的结果,因为它可能对其他人有用。 现在我使用这些指令来绘制我的向量场。

reset session
set size square
set palette rgb 33, 15, 10
set term pngcairo
set title 'Navier-Stokes Equation'
set terminal png size 1280, 720
set output 'vec.png'
plot 'vec.dat' u 1:2:(0.08*$3):(0.08*$4):(sqrt($3**2+$4**2)) w vec lw 2 lc palette notitle

【问题讨论】:

  • 对于流线,您需要一个 ODE 积分器。 gnuplot 已经从袖珍计算器功能发展到一些编程结构,但还没有达到像 matlab 这样的数字系统的水平(反过来,它包含了有限的 CAS 功能,而 Mathematica CAS 包含了全面的数字功能)。我不认为 gnuplot 的制造者会努力重新发明 octave、mupad 等。
  • 很高兴我能提供帮助。好吧,你还没有标准化你的箭头。故意?大小已经用颜色表示,所以不需要另外用箭头的长度表示。在您的情况下,标准化将是 Scaling=0.08...(Scaling*$3/sqrt($3**2+$4**2)):(Scaling*$4/sqrt($3**2+$4**2)):(sqrt($3**2+$4**2))...
  • @theozh 再次感谢。这将是一个很好的补充

标签: vector plot gnuplot numerical-methods


【解决方案1】:

大约相同的长度:只需标准化你的向量。

关于颜色: 您可以添加一个“列”并结束。最后一列将根据调色板定义颜色。

我不了解流线(它们到底是什么以及如何实现它们)。

使用示例代码:

### plot with vectors
reset session
set size square

set samples 25
set palette rgb 33,13,10

Scaling = 0.5
plot [-5:5] '++' u 1:2:\
    (Scaling*$1/sqrt($1**2+$2**2)):(Scaling*$2/sqrt($1**2+$2**2)): \
    (sqrt($1**2+$2**2)) with vectors lc palette notitle
### end of code

你会得到:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-20
    • 1970-01-01
    相关资源
    最近更新 更多