Визуализация алгоритма Нелдера-Мида в gnuplot - PullRequest
1 голос
/ 27 марта 2010

Кто-нибудь знает, как мне добиться рисования треугольника на наборах уровней некоторой 3d-функции (что-то вроде этого image в gnuplot?

gnuplot> set border 15 front linetype -1 linewidth 1.000
gnuplot> set logscale z 10
gnuplot> set view map
gnuplot> set isosamples 60, 60
gnuplot> unset surface
gnuplot> set contour base
gnuplot> unset clabel
gnuplot> set style data lines
gnuplot> set ticslevel 0
gnuplot> set noztics
gnuplot> set title "Trwa symulacja"
gnuplot> set xlabel "x"
gnuplot> set xrange [ * : * ] noreverse nowriteback
gnuplot> set ylabel "y"
gnuplot> set zlabel ""
gnuplot> set yrange [ * : * ] noreverse nowriteback
gnuplot> set zrange [ * : * ] noreverse nowriteback
gnuplot> splot [-10.5:10.5] [-10.5:10.5] x**2 +y**2 with lines lc rgb "#000000"
notitle,\
>'-' with lines notitle
input data ('e' ends) > 5.39703780733842 0.424994542694183 29.3086374551602
input data ('e' ends) > -4.80045950473308 -8.66307635892326 98.0933034571172
input data ('e' ends) > -3.56740563691939 3.31903046267993 23.7423461905216
input data ('e' ends) > 5.39703780733842 0.424994542694183 29.3086374551602
input data ('e' ends) > e

Но я все еще получаю предупреждение: "Не удается создать контур без данных сетки. Пожалуйста, используйте" set dgrid3d ".".

1 Ответ

1 голос
/ 27 марта 2010

Вам нужно включить surface для всего splot и отключить его для тех частей, где вы его не хотите. (Вы не можете сделать это наоборот; синтаксис splot позволяет только подавлять поверхности и не включать их снова.)

# All the other settings you were using...
set surface
splot [-10.5:10.5] [-10.5:10.5] \
      x**2 +y**2 with lines lc rgb "#000000" notitle nosurface, \
      '-' with lines notitle
5.39703780733842 0.424994542694183 29.3086374551602
-4.80045950473308 -8.66307635892326 98.0933034571172
-3.56740563691939 3.31903046267993 23.7423461905216
5.39703780733842 0.424994542694183 29.3086374551602
e
...