gpt4 book ai didi

gnuplot - 通过在水平轴上选择范围来拟合图形和绘制线条

转载 作者:行者123 更新时间:2023-12-05 09:22:09 25 4
gpt4 key购买 nike

我正在尝试绘制图形并使用直线对其进行拟合。

f1(x)=a1+b1*x
fit [0:80] f1(x) 'diff-xy-bcmLyo25perS.dat' via a1,b1

f2(x)=a2+b2*x
fit [100:220] f2(x) 'diff-xy-bcmLyo25perS.dat' via a2,b2

我尝试使用命令将这两个图绘制到同一个图中:

f(x) = x < 60 ? f1(x) : f2(x)

plot 'diff-xy-bcmLyo25perS.dat' using 1:2 with lines linestyle 1 title "{/Symbol b}BCMal-C_{12}C_{8}", f(x) lw 3.0 lc rgb 'black'

here

我得到了上面的情节。

在该图中,可以看到两条线以 80(水平比例)相交,并且它的形状像“v”。

我想消除那个“v”形交叉点,我想得到两条单独的线,一条从 0 到 80,另一条从 100 到 220 .

我怎么能得到这个?

感谢任何帮助。

提前致谢。

最佳答案

您可以利用 gnuplot 不绘制 infinityNaN 值(如 1.0/0)

使用

plot_if_in_range(y,x,lower,upper) = (x>=lower && x<=upper)?(y):(1.0/0)

您可以轻松地绘制给定域中的任何函数:

plot  plot_if_in_range(exp(x)  , x, -5, 2), \
plot_if_in_range(sin(x)+x, x, -2, 5)

关于gnuplot - 通过在水平轴上选择范围来拟合图形和绘制线条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28380645/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com