2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 gnuplot: несколько графиков в одном окне с заданием диапазон
Сообщение09.12.2009, 23:20 
Супермодератор
Аватара пользователя


29/07/05
8248
Москва
Подскажите, кто знает: как в gnuplot нарисовать в одном окне несколько графиков функций, так чтобы для каждой задавать свой интересующий диапазон изменения переменной (более узкий, чем диапазон окна). Пока что у меня при задании диапазона графика он меняет масштаб окна.

 Профиль  
                  
 
 Re: gnuplot: несколько графиков в одном окне с заданием диапазон
Сообщение10.12.2009, 10:01 
Супермодератор
Аватара пользователя


29/07/05
8248
Москва
Проблему можно решить, если с помощью индикаторов принадлежности к множеству вручную задавать функции, определенные одним способом на одной части графика и другим способом - на другой. Странно однако, что в параметрах рисования графиков нет возможности явно указать желаемый диапазон изменения переменной, отличный от видимого на графике интервала.

 Профиль  
                  
 
 Re: gnuplot: несколько графиков в одном окне с заданием диапазон
Сообщение10.12.2009, 23:44 
Модератор
Аватара пользователя


11/01/06
5710
Для окна вроде бы есть:
set xrange [0:100]
при рисовании графиков диапазон тоже можно указывать:
plot [20:30] f(x)

 Профиль  
                  
 
 Re: gnuplot: несколько графиков в одном окне с заданием диапазон
Сообщение11.12.2009, 00:03 
Супермодератор
Аватара пользователя


29/07/05
8248
Москва
Это я знаю, но эта команда установит диапазон на оси х от 20 до 30 и нарисует на нем функцию f(x).
А хотелось бы следующего: чтобы в этом окне график функции f(x) был бы нарисован только от 20 до 25, а от 25 до 30 был бы нарисован график g(x). Такой возможности в собственно команде рисования я не нашел, что мне немного странно, так как такая возможность кажется достаточно естественной.

Сделать это, конечно, можно, если определить свою функцию:
Код:
h(x) = (x<25? f(x) : g(x))
plot [20:30] h(x)

но хотелось бы как-то попроще. Если требуемая функция состоит из более двух кусков, то самый простой способ, который я вижу - это определить свою функцию, равную индикатору попадания точки в интервал, и составить целевую функцию, равную сумме слагаемых, которые с помощью умножения на такие индикаторы делаются равными нулю, где требуется.

Если же хочется, чтобы график был бы только до 25, а после ничего бы не было, то этого можно добиться, составив функцию, равную 1 в одном месте и неопределенную в другом (скажем, корень из $\pm 1$). Но все это как-то не очень естественно смотрится.

 Профиль  
                  
 
 Re: gnuplot: несколько графиков в одном окне с заданием диапазон
Сообщение11.12.2009, 10:54 
Заслуженный участник


11/05/08
32166
PAV в сообщении #270088 писал(а):
Если требуемая функция состоит из более двух кусков, то самый простой способ, который я вижу - это определить свою функцию, равную индикатору попадания точки в интервал, и составить целевую функцию, равную сумме слагаемых, которые с помощью умножения на такие индикаторы делаются равными нулю, где требуется.

Ну так это вроде как наиболее стандартный способ и есть. Более того: такую функцию можно не только выводить на график, но ещё и работать с ней.

 Профиль  
                  
 
 Re: gnuplot: несколько графиков в одном окне с заданием диапазон
Сообщение11.12.2009, 11:20 
Супермодератор
Аватара пользователя


29/07/05
8248
Москва
С этим можно согласиться, но все-таки было бы удобно иметь возможность явно указывать желаемый диапазон изменения. Потому что в последнем моем примере приходится искусственно делать функцию неопределенной на некоторой области, что выглядит явным извращением.

Но в общем я так понимаю, что естественного способа, предусмотренного интерфейсом функции, нет. Хотя по-прежнему считаю, что это странно. Можно было бы сделать необязательный параметр.

 Профиль  
                  
 
 Re: gnuplot: несколько графиков в одном окне с заданием диапазон
Сообщение09.01.2010, 15:39 


03/12/08
111
Можно так.

Изображение Изображение

Изображение Изображение

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 7 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group