Бесплатный софт для лаборатории: обработка данных, численные расчеты и научная графика

Продолжаю серию постов о бесплатных программах. Я убежденный сторонник того, чтобы не использовать "паленый" софт в работе и образовательном процессе, т.к. это создает слишком большие риски. За последние 5-7 лет бесплатное ПО сделало большой шаг, многие программы по функционалу и удобству даже превосходят свои коммерческие аналоги.

Ранее писал о бесплатных программах "общего назначения" (офис, работа с файлами). В этом посте хочу рассказать о бесплатных программах для обработки данных, численных расчетов и "научной графике", которые использую в своей работе. Подойдут научной лаборатории или небольшой проектной команде.

Содержание

Таблицы WPS Office

Электронные таблицы, полный аналог базовой версии MS Excel. Используем в рутиной практике как основной инструмент для проведения расчетов при анализе (хроматография, спектрофотометрия, титриметрия).

Строим градуировочные зависимости, пересчитываем аналитический сигнал, который дает прибор (площадь хроматографического пика, интенсивность поглощения) в измеряемую величину (концентрацию, массовую долю)

Построение градуировочной зависимости на формальдегид: линейная регрессия, график остатков и "обратный расчет"

Рассчитываем метрологические характеристики методик (прецизионность, правильность), оцениваем неопределенность, обрабатываем данные при валидации методик.

Кроме непосредственных расчетов по алгебраическим формулам и построения простых регрессионных моделей, электронные таблицы WPS Office содержат ряд "встроенных" статистических и вычислительных функций, позволяющих решать довольно сложные вычислительные задачи (см. Васильев А.Н. Числовые расчеты в Excel)

Maxima

Maxima - бесплатная система компьютерной математика (CMS). С точки зрения пользователя представлять собой "окно", в котором можно проводить символьные и численные вычисления с помощью команд, и в этом же окне строить графики и смотреть результат. Можно менять исходные данные, или параметры модели и тут же посмотреть как меняется результат.

Возможности Maxima: символьное дифференцирование, решение системы нелинейных уравнений методом Ньютона, построение 3D-графика

Моделирование химической кинетики в Maxima

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

Скорость работы Maxima на порядки уступает Фортрану и Python, поэтому для "больших" численных расчетов используют другие инструменты.

Литература

Fityk

Бесплатная программа для деконволюции перекрывающихся сигналов

Сайт: https://fityk.nieto.pl

Fortran 90

Т.н. "современный фортран", или Fortran 90 - международный стандарт синтаксиса языка, ориентированного на численные вычисления. Основной "объект" - многомерные массивы действительных чисел.

Участок кода Fortran-программы в SublimeText: подпрограмма F вычисляет сумму квадратов невязок

Программа-компилятор преобразует исходный Fortran-код (файл с расширением .f90) в исполняемый файл .exe, который непосредственно "проводит" вычисления на процессоре. В качестве бесплатного компилятора я использую gfortran из пакета gcc.

Структура Fortran-проекта в DoubleCommander (слева) и bat-скрипт, запускающий компиляцию Fortran-кода с помощью компилятора gfortran (справа)

Преимущество Фортрана - большое количество бесплатных, проверенных библиотек, реализующих численные методы: Библиотека численного анализа НИВЦ МГУ , библиотека JINRLIB, Source Codes in Fortran 90 and Fortran 77 by J. Burkardt, Numerical Recipes in Fortran и др.

Большая подборка бесплатных Fortran-библиотек.

Статья о том, почему Fortran до сих пор жив и умирать не собирается.

Лучшие учебники по фортрану:

GLE

GLE (Graphics Layout Engine) - "скриптовая" программа для создания "publication quality" научной графики (графиков, диграмм). На входе - файл с цифровыми данными, на выходе - красивый график в векторном формате

Построение графика с помощью GLE: слева - "код" в SublimeText, который говорит взять данные из файла exp.dat и построить по ним график (d1), вместе с кривой, заданной аналитически (d2); справа - построенный график в векторном формате

Команды для программы пишутся в файле с расширением .gle - в данном случае, с помощью SublimeText. Программа запускается с помощю команды "gle filename.gle" (в командной строке, или bat-скриптом) и выдает векторный файл filename.eps. Этот файл можно напрямую вставить в LaTeX-документ, или конвертировать в jpg или pdf.

Вся работа ведется в связке SublimeText + DoubleCommander (как и для Fortran, LaTeX, html)

На сайте программы есть раздел с примерами, включающий сложные 2d-графики, диаграммы, 3d-поверхности.

Inkscape

Бесплатный векторный графический редактор. Используем его чтобы делать красивые "graphical abstract" и иллюстрации для научных статей.

Готовим иллюстрацию к статье: подписываем пики на хроматограммах

ACD/ChemSketch

Редактор химических формул. Программа бесплатна "for personal and academic use" https://www.acdlabs.com/resources/freeware/chemsketch/