Gnuplot:能否用向量绘制函数图形?

3

gnuplot可以绘制带有向量的数据文件。

我想设置类似isosamples=40这样的内容,并为2D函数绘制梯度向量。

我知道我可以编写Python程序来生成向量的数据文件,但我更喜欢在gnuplot内完成整个操作。

有什么建议吗?

如果还没有实现,这是否是gnuplot的一个值得改进的地方?

1个回答

4
你可以使用向量样式,并在gnuplot中使用特殊文件名 ++ 进行计算。
假设我想为微分方程 y'=y*sin(x) 绘制方向场,我可以使用以下命令:
set xrange[-2:2]
set yrange[-2:2]
set samples 30
set isosamples 30
unset key
f(x,y) = y*sin(x)
lf(x,y) = sqrt(1+f(x,y)**2)
lyf(x,y) = f(x,y)/lf(x,y)
plot '++' u 1:2:(0.1/lf($1,$2)):(0.1*lyf($1,$2)) with vectors

enter image description here

我所有的计算都在gnuplot中完成。我计算向量的方向并在绘图命令中将它们缩放为长度为0.1。
我使用特殊文件名“++”,该文件名生成在x和y绘图范围内等间隔分布的一组点。
有关更多详细信息,请参见“help special-filenames”。

所以4列向量的格式为x y xdelta ydelta,根据微分方程我们有ydelta=xdelta*f,然后应用勾股定理得到xdelta(然后应用缩放因子)。 - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接