имеется экспериментальный спектр возбуждения люминесценции на который накладывается след от лампы. Так же есть спектр самой лампы в этой области. Собственно возникает вопрос: как из спектра возбуждения в gnuplot во время построения вычесть спектр лампы?
спектр возбуждения в файле
А почему бы не вычесть одно из другого ДО построения графика? Если нужна в результате именно разность?
Не говоря уж о том, а какой смысл имеет из величин порядка 10**4-10**5 ВЫЧИТАТЬ величины порядка 10**(-3)-10**(-4)?
А почему бы не вычесть одно из другого ДО построения графика? Если нужна в результате именно разность?
Не говоря уж о том, а какой смысл имеет из величин порядка 10**4-10**5 ВЫЧИТАТЬ величины порядка 10**(-3)-10**(-4)?
в силу чистоты надо хранить данные в том виде, в каком они получены. значения такие по одной просто причине - в этом участке нет сигнала от лампы, считайте, что это нулевой фон.
как в гнуплоте вычесть одно из второго до построения?
gnuplot - программа для построения графиков, а не обработки экспериментальных данных.
Топикстартеру - если нужен комплексный монстр по обработке данных, рисованию и оформлению графиков (навроде Origin-а), то, может, присмотритесь к QtiPlot и SciDaVis?
для вычитания в гнуплоте хорошо, если все данные у вас будут в одном файле, то есть чтоб был текстовый файл с содержимым строчек "х-координата", "первый спектр", "второй спектр". ваши данные к такому виду приводятся элементарно, например, с помощью стандартной утилиты past... (или paste? в общем, смотрим man) .
далее, рисуем в гнуплоте разность спектров чем-нибудь типа такой команды:
plot "file.dat" using 1:($2)-($3) ...
(здесь из второго столбца вычитается третий). кстати, аналогично можно умножать, делить и пр.
для вычитания в гнуплоте хорошо, если все данные у вас будут в одном файле, то есть чтоб был текстовый файл с содержимым строчек "х-координата", "первый спектр", "второй спектр". ваши данные к такому виду приводятся элементарно, например, с помощью стандартной утилиты past... (или paste? в общем, смотрим man) .
далее, рисуем в гнуплоте разность спектров чем-нибудь типа такой команды:
plot "file.dat" using 1:($2)-($3) ...
(здесь из второго столбца вычитается третий). кстати, аналогично можно умножать, делить и пр.
да, такое знаю и пользуюсь. скорее интересовало, возможно ли сделать что-то типа
a = file1.txt($2);
b = file2.txt($2);
dif = a-b;
plot "file1.txt" u ($1):(dif)
самонадеянно конеш, но мот возможно что-то типа этого?
Пайпы спасут человечество.
К сожалению, как мне показалось, об этом не так часто говорят, но в гнуплоте можно довольно легко нарисовать выхлоп любой программы, хотя способ далеко не очевидный. Зато он в хелпе находится быстро.
Соль в том, что если в системе есть пайпы, то файл нужно назвать "< command" и в качестве данных будет использован результат работы этой команды.
В данном случае конструкция будет типа:
Естественно нужно чтобы первые столбцы были идентичны.
Как-то так. P.S. но гнуплот всё равно не очень для обработки. Я для скриптованной обработки данных взял бы GNU R
Пайпы спасут человечество.
К сожалению, как мне показалось, об этом не так часто говорят, но в гнуплоте можно довольно легко нарисовать выхлоп любой программы, хотя способ далеко не очевидный. Зато он в хелпе находится быстро.
Соль в том, что если в системе есть пайпы, то файл нужно назвать "< command" и в качестве данных будет использован результат работы этой команды.
В данном случае конструкция будет типа:
Естественно нужно чтобы первые столбцы были идентичны.
Как-то так. P.S. но гнуплот всё равно не очень для обработки. Я для скриптованной обработки данных взял бы GNU R
есть бумажный вариант справки. что-то около 200 листов текста. справка весьма посредственная и часто требует догугливания или ковыряния. выхлоп попробую попользовать.