LINUX.ORG.RU

Сглаживание графика функции

 , ,


2

1

Доброго времени суток! Имеются в довольно большом количестве данные рентгенофазового анализа, приходят они в виде массивов чисел (2theta - I). Их надо красиво построить в виде графика, чтобы потом было удобно работать. В этих целях предыдущими сотрудниками была установлена программа WinScaler (да, она под Windows). У неё есть полезная функция, которая позволяет сгладить экспериментальную кривую, сделать пики более выделенными, убрать фон (выглядит это так http://storage9.static.itmages.ru/i/14/0609/h_1402313655_4124490_87780f253f.png).

Функция хорошая, но остальная программа выглядит и работается так, словно её писал психопат, обиженный на весь мир, который таким образом решил всем отомстить. Кроме того, обрабатывать вручную весь тот объем данных, который у меня накопился, довольно утомительно.

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

★★★★★

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

[latex]a_i=\frac 1 {N+1} \sum_{j=i-N}^i a_j[/latex]

dikiy ★★☆☆☆
()
Последнее исправление: dikiy (всего исправлений: 1)

гугли фильтр Калмана

gavlig ★★★
()

Например так. А вообще гуголь peak detection, тыщи их!

ebantrop
()
Ответ на: комментарий от dikiy

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

Ок, спасибо, попробую, посмотрю.

gavlig

гугли фильтр Калмана

Тоже посмотрю, спасибо.

ZERG

Mathematica?

Слишком много всякого, опять же надо знать, что искать.

ebantrop

Например так. А вообще гуголь peak detection, тыщи их!

Не совсем то, что я спрашивал, но за ссылку спасибо, почитаю на будущее.

hippi90 ★★★★★
() автор топика
Ответ на: комментарий от anonymous

Тред не читай, на винфак посылай?

hippi90 ★★★★★
() автор топика
Ответ на: комментарий от hippi90

Гугл никто не отменял. Хороший поиск и дело в шляпе.

ZERG ★★★★★
()

Похоже на low-pass фильтр, это может быть обычное усреднение, как ниже предложили, либо более лучший вариант - усреднение с помощью ф-ии Гаусса.

mashina ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.