2014 dxdy logo

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

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




 
 Gnuplot - данные из файла в массив
Сообщение24.12.2019, 15:20 
Рисую графика по экспериментальным данным из файла командой

plot "SSH.dat" using 2:3

Хочется доступ к данным как элементам массива. Но читая хелп и примеры, не понимаю как это сделать.
Неужели невозможно?
Массивы в gnuplot-e есть, команда stats как-то данные как массив обрабатывает.

 
 
 
 Re: Gnuplot - данные из файла в массив
Сообщение24.12.2019, 15:32 
Мне кажется, это невозможно. Команда stats работает с массивами языка C, а не языка gnuplot. В gnuplot 5.2 добавили массивы (страница 46 официальной документации), но не дали возможность заполнять их из файлов.

 
 
 
 Re: Gnuplot - данные из файла в массив
Сообщение24.12.2019, 17:20 
А пользователь не может к массиву языка С добраться? Очень заинтересовала ссылка на исходник. Можно где-нибудь поподробнее почитать, что это за "массивы языка С" в gnuplot?
Может можно прочитать файл как массив С?

 
 
 
 Re: Gnuplot - данные из файла в массив
Сообщение24.12.2019, 18:46 
adax в сообщении #1431801 писал(а):
Можно где-нибудь поподробнее почитать, что это за "массивы языка С" в gnuplot?

Возможно, я неудачно выразился. Сам gnuplot написан на языке C, и внутри себя программа использует динамически выделяемые массивы для того, чтобы считывать файлы произвольного размера в память. Пользователю языка gnuplot доступ к этим массивам не предоставляют, возможно, потому, что одним неловким движением при работе с таким массивом программу можно уронить, либо повредить данные в оперативной памяти.

В языке gnuplot есть свои массивы, но они имеют фиксированный в исходном коде gnuplot-программы размер, и я не вижу для них возможности считать или записать данные в файл. Также есть set table (с. 176) и datablocks (с. 38), но последние ведут себя как единое целое и доступа к отдельным элементам, похоже, не предоставляют. (Я могу ошибаться, и более опытные пользователи / читатели документации gnuplot могут меня поправить.)

Если хочется писать сложные программы, возможно, стоит воспользоваться более общим языком программирования вроде R или Python? Для чего именно нужен такой поэлементный доступ к набору данных в gnuplot-программе?

 
 
 
 Re: Gnuplot - данные из файла в массив
Сообщение25.12.2019, 16:25 
Аватара пользователя
adax в сообщении #1431796 писал(а):
Рисую графика по экспериментальным данным из файла командой

Как вариант можно попробовать читать массив из файла программой на каком-либо ЯП, и на нем же делать обработку данных, а gnuplot использовать только для построения. Такой вариант не подходит?

 
 
 
 Re: Gnuplot - данные из файла в массив
Сообщение25.12.2019, 16:30 
aitap в сообщении #1431806 писал(а):
Для чего именно нужен такой поэлементный доступ к набору данных в gnuplot-программе?

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

 
 
 [ Сообщений: 6 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group