您好,我需要一些帮助!
我是Gnuplot的新手,对脚本有困难。
实际上我的等式要复杂得多。它是一个参数方程,由7个部分组成,每个部分定义为一个特定的间隔,带有一堆参数。
我只需要领先。所以让我简化问题。
假设我具有如下定义的函数f(x)= a * x + cos(x):对于0 <= x <= 3;
并且f(x)= b * 1 / cos(x):对于3&lt; x <= 10
我的问题是如何指导GNUPLOT:
1-)将“a”和“b”视为参数
2-)将“我的用户定义”方程绘制成f(x)定义的区间
到目前为止,我已经使用了“ set parametric ”命令,但问题总是在“ PLOT f(x)”命令的最后,我真的不知道知道如何处理间隔。
我正在使用Windows 7和最新的 gnuplot 。
请帮忙
答案 0 :(得分:1)
您可以将f(x)
定义为(有条件的)分段函数:
f(x) = 0 <= x && x <= 3 ? a*x+cos(x) : 3 < x && x <= 10 ? b/cos(x) : 1/0
上面的1/0
确保函数未在给定的时间间隔之外定义。参数a
和b
已被gnuplot隐式视为参数。更改其值后,f(x)
会自动更新。例如:
set xrange [-2:12]
a = 1.; b = 1.
plot f(x)
如果您想要更多灵活性,可以将a
和b
作为变量并执行以下操作:
f(x,a,b) = 0 <= x && x <= 3 ? a*x+cos(x) : 3 < x && x <= 10 ? b/cos(x) : 1/0
set xrange [-2:12]
plot f(x,1,1), f(x,2,3)