GNUPLOT:绘制用户定义的方程式,这些方程式以不同的间隔运行

时间:2016-04-05 10:40:53

标签: function plot gnuplot intervals

您好,我需要一些帮助! 我是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 。 请帮忙

1 个答案:

答案 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确保函数未在给定的时间间隔之外定义。参数ab已被gnuplot隐式视为参数。更改其值后,f(x)会自动更新。例如:

set xrange [-2:12]
a = 1.; b = 1.
plot f(x)

enter image description here

如果您想要更多灵活性,可以将ab作为变量并执行以下操作:

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)

enter image description here