2015-06-10 3 views
0

Я хочу разделить функцию exp (- (x² + y²)) самостоятельно и при ограничении x + y-1 = 0. Результатом должна быть только поверхность, а также линия с максимумом при x = y = 0,5. Или, другими словами, это пересечение функции с (110) -плоскостью.Gnuplot: условный splot функции

То, что я придумал до сих пор что-то вроде

f(x,y)=exp(-(x**2+y**2)) 
g(x,y)=((x+y-1==0)? f(x,y) : (1/0)) 
splot f(x,y), g(x,y) 

с и без с линиями для г (х, у), но я не мог получить г (х, у) отображается - Я вижу только Р (х, у). Кроме того, я получаю очень информативные сообщения об ошибках:

Error: Key "<META>" added to modifier map for multiple modifiers; Using Mod4, ignoring Mod1 

Error: Symbol "Meta_L" added to modifier map for multiple modifiers; Using Mod4, ignoring Mod1 

Любые идеи?

ответ

1

Это не 3-мерный сюжет, потому что у вас есть только одна независимая переменная. Значение y фиксируется x+y-1=0. Таким образом, вы должны построить f(x,y)=exp(-(x**2+y**2)) оцененную в f(x,1-x):

f(x,y)=exp(-(x**2+y**2)) 
plot f(x,1-x) w l 

enter image description here

Теперь, конечно, выше график является проекцией вашей кривой на плоскость XZ. Если вы хотите, 3-мерный вид, то я рекомендовал бы численную оценку функции, используя специальное имя файла "+":

f(x,y)=exp(-(x**2+y**2)) 
set xrange [-10:10] 
set yrange [-10:10] 
splot "++" u ($1):(1.-$1):(f($1,1.-$1)) w l 

enter image description here

Вы можете визуализировать пересечение с поверхностью:

set isosamples 50 
splot f(x,y), "++" u ($1):(1.-$1):(f($1,1.-$1)) w l 

enter image description here

Смежные вопросы