在gnuplot中绘制一些分段函数。

3

请问如何绘制类似于以下函数的图形:

f(x)=(x-1)^2 for 0 < x < 1 
f(x)=(x-8)^2 for 1<=x<=7
f(x)=x for x>7

在gnuplot中。 (如果您能告诉我如何用英语调用这种类型的函数,我会尝试将话题更改为更恰当的)。

它们被称为分段函数。 - Dan
1个回答

3
你可以用这种方式来完成:
f(x)=x<=1 ? -(x-1)**2+1 :  x>7 ? (-48)*sin(240)+1+0.5*x : (-(x-1)**2+1)*sin(30*x)+1
plot f(x)

请注意,您还可以将其拆分为多个函数(f(x)g(x)h(x) ...),例如 f(x)=(x<=1)?-(x-1)**2+1:1/0。这种方法的区别在于,您绘制的函数将出现不连续的情况(在某些情况下可能是可取的)。 - mgilson

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