Подтвердить что ты не робот

Если контрольная последовательность под Gnuplot

Как выполнить контрольные последовательности под Gnuplot, пожалуйста? Мне нужно сделать что-то вроде

if (x == nan)
  set xrange[]

else
  set xrange[10:30]

Я пробовал что-то вроде

( x > 100000 ) ?  (set xrange[]) : (set xrange[10:30])

... но безуспешно! Я потратил часы, пытаясь решить это! Любая помощь, пожалуйста? В худшем случае я могу создать оболочку script для управления этим, но я думаю, что для ее исправления должны быть некоторые контрольные последовательности.

4b9b3361

Ответ 1

Для gnuplot 4.4.4 оператор if должен находиться в одной строке:

if (x > 10000) set autoscale x; else set xrange [10:30]

или используйте \ для продолжения на следующей строке.

if (x > 10000) \
    set autoscale x; \
else \
    set xrange [10:30]

Так как 4.6.0 gnuplot может использовать скобки для разграничения ветвей:

if (x > 10000) {
    set autoscale x
} else {
    set xrange [10:30]
}