Gnu图:如何在不是矩形的域上绘制2d曲面?

时间:2014-01-16 23:40:14

标签: gnuplot

我是gnu的新手。

我转向gnu,因为我无法通过matlab绘制表面。

如何在非矩形值域上绘制2d曲面?

例如,我想绘制以下集合

S = {z | x * y ^ 2 = z使得x + y <1且x> 1。 0和y> 0}。

我认为一种解决方案是定义一个函数

每当x + y <1,x> 0且y> 0时,

f(x,y):= x * y ^ 2

f(x,y):= 100 else。

然后我可以简单地将图片限制在我感兴趣的部分。 但是如何定义两个变量的分段函数?

帮助永远赞赏。 干杯

2 个答案:

答案 0 :(得分:1)

您必须使用parametric模式。这会为您提供矩形(u, v)域,您必须对其进行适当转换才能获得所需的(x, y)域:

set parametric
set urange [0:1]
set vrange [0:1]
set xlabel 'x'
set ylabel 'y'
set view 62,24
set ticslevel 0
splot u, v*(1-u), u*v**2

4.6.3的结果是:

enter image description here

答案 1 :(得分:0)

我自己想出来了!

这是解决方案

f(x,y)= x + y <= 1? 1:1/0 splot [0:1] [0:1] [0:4] \ f(x,y)*(我的功能)。

所以,基本上,我定义了一个步进函数,然后乘以它。

干杯