GNUPLOT:绘制一个用户定义的方程式,它在不同的时间间隔内运行

GNUPLOT : Plotting a user defined equations which operates indifferent intervals

您好,我需要一些帮助! 我是 Gnuplot 的新手,对脚本有困难。 实际上我的等式要复杂得多。它是一个参数方程,由 7 个部分组成,每个部分定义为一个特定的区间,带有一堆参数。 我只需要一个线索。因此,让我简化问题。 假设我有一个定义如下的函数 f(x)= a*x+cos(x) : for 0 <= x <= 3; 和 f(x)= b*1/cos(x) :对于 3 < x <=10
我的问题是如何指示 GNUPLOT: 1-) 将 "a" 和 "b" 视为参数 2-) 将 "my user-defined" 方程绘制到 f(x) 定义的区间中 到目前为止,我已经使用了“set parametric”命令,但问题总是出现在“PLOT f(x)”命令的最后我真的不知道如何处理间隔。 我正在使用 Windows 7 和最新的 gnuplot。 请帮助

您可以将 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)

如果你想要更大的灵活性,你可以将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)