soft


Строим графики: Microlab Origin 7.5

Важным средством визуализации данных в научных работах, отчетах и презентациях являются графики. В большинстве случаев для их построения многие пользователи применяют популярную программу Excel из пакета Microsoft Office. Однако это далеко не всегда оптимальное решение, особенно если исходных данных действительно много, и требуются некоторые возможности для их анализа. В таком случае на помощь может прийти Microlab Origin, о котором я хочу сегодня рассказать.

Общие сведения


Программное обеспечение Microlab Origin представляет собой универсальное средство обработки математических и статистических функций, построения графиков этих функций, а также инструмент разработки узкоспециализированных математических программ и средств визуализации графических данных на языке Microsoft Visual C++. Таким образом Microlab Origin может составлять конкуренцию таким известным программным пакетам, как MathCAD и Mathematica. При этом важным преимуществом при внедрении Microlab Origin в разработке специализированного ПО будет использование хорошо известного программистам языка Visual C++, что позволяет сэкономить время на изучении специализированных математических языков программирования, как это приходится делать при работе с аналогичными программными пакетами, а следовательно, сразу перейти к процессу написания необходимых программ. К примеру, поддержка LaTeX в последних версиях Origin позволяет отображать в легендах диаграмм заданные в традиционном для С++ виде функции как нормальные математические функции без ввода вручную лишних данных. Еще одним достоинством программы является то, что Microlab Origin по сути своей является интерпретируемо-компилируемым ПО наподобие кросс-платформенных Java-приложений. Таким образом, с одной стороны, пользователь получает высокую переносимость программного кода, легкость миграции на другие программные платформы (в частности, существует достаточно простой способ использования приложений, выполненных с применением Microlab Origin на операционных системах Linux и FreeBSD), а с другой — возможность изменять исходную среду разработки под свои нужды, что приближает Origin к свободным средам разработки наподобие JDeveloper. Только в данном случае используется специализированный С++ компилятор, на выходе которого получается высокооптимизированный нативный код, собранный с учетом некоторых особенностей данной аппаратной платформы. В частности, в некоторых модулях, для которых критично конечное быстродействие, можно задавать директивы компилятору, позволяющие использовать дополнительные наборы процессорных инструкций — такие, как Intel SSE2, SSE3, MMX и AMD Now. C другой стороны, для математика, который ранее не имел навыков практического программирования, Microlab Origin станет средством, которое позволит быстро достигнуть требуемых результатов и постепенно освоить создание математического ПО на языке C++. В частности, для построения графика сложной функции знания программирования не потребуется вообще — интуитивно понятный интерфейс Origin позволит буквально в несколько движений запрограммировать функцию на языке, приближенном к обычной математической записи, и выбрать тип нужного графика. Удобный механизм добавления компонентов, основанный на технологии drag and drop, позволяет быстро расширить набор используемых компонентов и данных с той же легкостью, с которой перемещаются файлы в Windows Explorer. Широкий набор встроенных функций анализа данных — таких, как описательная статистика, гипотетическое испытание, однопроходный и двухпроходный ANOVA-анализ, анализ выживания, основной и пиковый анализ, FFT, фильтрование, линейный регресс, нелинейное приспособление кривой и многие другие, — позволяют проводить сложный анализ исходных и промежуточных данных. К тому же, с сайта производителя и сторонних форумов можно загрузить разнообразные дополнительные аналитические модули, которые легко интегрируются в уже созданный проект. Немаловажной характеристикой математического пакета является используемая подсистема алгебры, ведь именно от нее больше всего зависит точность получаемых расчетов и быстродействие. В Microlab Origin используется библиотека алгебры Numerical Algorithms Group, Inc С (NAG C), компоненты которой используются и в пакете Mathematica. Она применяется при работе со статистическими функциями, обработке линейной алгебры, преобразованиях Фурье, регрессии и мультивариативном анализе.

Здесь же хочется упомянуть возможность прямого использования функций NAG C из программ, разрабатываемых с помощью Origin. Учитывая, что основной упор при разработке Origin был сделан на визуализацию данных, вполне естественно, что встроенные средства построения графиков поддерживают самые разнообразные виды двухмерных и трехмерных графиков, далеко превосходя по своим возможностям Microsoft Excel и стандартные программные компоненты вроде Borland Delphi Chart. Импорт данных — еще одна сильная сторона Microlab Origin. Доступны не только импорт из ASCII-файлов, но и поддержка формата xls (формат популярного табличного редактора Microsoft Excel), а также возможность взаимодействия с реляционными системами управления базами данных по протоколу ODBC, что позволяет Origin использовать данные, хранящиеся не только на локальной машине, но и на удаленных хостингах. При этом спектр движков СУБД, которые можно использовать совместно с Origin, очень широк — это Microsoft SQL Server, MySQL, Postgress SQL, Visual FoxPro, Microsoft Access и, что наиболее актуально для наукоемких экспериментов, Oracle. Благодаря функции Graph Publication графические данные, полученные в Microlab Origin, можно легко перенести или вставить как OLE-объект в документы Microsoft Word, CorelDRAW и PowerPoint, а также преобразовать в растровые и векторные графические форматы: BMP, EPS, JPG, PDF, TIFF, WMF и многие другие.

Запуск Origin

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

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

Рабочий лист (worksheet)

При запуске Microcal Origin автоматически создает новый рабочий лист. Если нужно создать новый рабочий лист в уже существующем проекте, необходимо использовать команду File/New/Worksheet или нажать кнопку NewWorksheet (новый рабочий лист). Рабочий лист представляет собой таблицу, данные которой располагаются в ячейках. В этом отношении Origin очень похож на привычный большинству пользователей Microsoft Excel. Чтобы ввести в таблицу данные, необходимо выделить ячейку. Если вводимый в ячейку текст не помещается по ширине столбца, он будет смещаться влево и становиться невидимым. По окончании ввода данных с клавиатуры нажимаются клавиши Еnter, Tab или клавиши управления курсором. Информация будет занесена в таблицу, а курсор переместится в соседнюю ячейку. Вводимые в таблицу числа могут включать в себя цифры от 0 до 9 и специальные символы: Е и е. Символы Е и е используются для ввода чисел в экспоненциальной форме. При ширине столбца, недостаточной для показа всех цифр числа, оно может быть представлено на экране в экспоненциальной форме. Если ширина столбца не позволяет представить число таким образом, то оно отображается в виде последовательности символов ###. Конец десятичной дроби округляется. Для отображения всех цифр числа увеличьте ширину столбца (см. далее). При вводе отрицательного числа перед ним ставится знак минуса. Для того, чтобы добавить новый столбец, используется команда Column/Add New Columns, а в появляющемся окне указывается число необходимых столбцов. Ширину, название и формат представляемых в столбце данных можно изменить. Для этого нужно выделить столбец, поставив курсор в ячейку с именем столбца (самая верхняя строка столбца), затем нажать правую кнопку мыши и выбрать команду Properties. В появившемся окне имя столбца задается в строке Column Name, ширина (в единицах отображаемых символов) — Column Width, а формат представляемых данных — Format.

Программа Microcal Origin позволяет совершать различные операции над столбцами. Для этого нужно выделить столбец, поставив курсор в ячейку с именем столбца (самая верхняя строка столбца), затем нажать правую кнопку мыши и выбрать команду Set Column Values. В появившемся окне можно выбрать различные операции над столбцами из списка в строке Add Function. При этом сначала задается операция, потом имя столбца, а совершаемая операция отображается в окне “Col(C) =”. В большинстве случаев, данные различных экспериментов записывают в выходные файлы формата ASCII в силу его простоты и универсальности. Данные в этих файлах представлены в виде нескольких колонок с заголовками. Для того, чтобы поместить данные из выходного файла на рабочий лист, нужно выбрать команду File/Import/Single ASCII или нажать кнопку Import ASCII (вставить данные в формате ASCII) и в появившемся окне выбрать нужный файл выходных данных, выделив его курсором и нажав Open. После этого данные из файла выходных данных будут перенесены на рабочий лист с сохранением заголовков колонок, строк и столбцов. Программа Microcal Origin позволяет графически отображать данные, представленные на рабочем листе.

Графическая страница (“graph”)

Для построения двухмерных графиков в Microcal Origin используются команды меню Plot или же дублирующие их кнопки, отображенные на панели инструментов для построения нового графика. График строится на новой графической странице (graph). Наиболее часто используются команды line — на графике представлена только линия, соединяющая точки (x,y), scatter — на графике представлены только точки (x,y), line+symbol — на графике представлены как точки (x,y), так и соединяющая их линия. После выбора соответствующей команды в появившемся окне нужно задать данные, необходимые для построения искомого графика. Для этого нужно в строке worksheet выбрать из списка название рабочего листа, содержащего необходимые данные, затем из списка столбцов рабочего листа выделить курсором столбец, содержащий координаты X, и нажать кнопку “< — >x”, после чего из списка столбцов рабочего листа выделить курсором столбец, содержащий координаты Y, и нажать кнопку “< — >y”, завершить задание координат (x,y), нажав кнопку Add, и, наконец, нажать кнопку OK. После выполнения перечисленных шагов на новой графической странице по заданным точкам будет построен график. Microcal Origin позволяет построить несколько графиков в одних и тех же осях. Для этого нужно повторить указанные выше шаги для каждого графика и только после этого нажать кнопку OK. Внешний вид построенного графика можно изменить. Для этого нужно навести курсор на изменяемый элемент, два раза нажать на левую кнопку мыши и затем в появившемся окне ввести необходимые изменения.

Оформление графиков

В пакете Origin существует много возможностей оформления построенных графиков. Двойной щелчок левой кнопкой мыши на графике вызывает диалоговое окно Plot Details. В данном окне существует возможность выбора стиля (Style), толщины линии (Width) а также цвета (Color) графика. Выбор функции Plot_Type открывает диалоговое окно, которое позволит создать изображение графика в виде различных символов, вид, размер, цвет и форму которых можно изменять в соответствии с пожеланиями пользователя. Для просмотра произведенных изменений достаточно щелкнуть по кнопке Apply, чтобы увидеть результат произведенных действий, не закрывая диалогового окна. Если полученный результат неудовлетворителен, можно продолжить работу в диалоговом окне до получения нужного вида графика, после чего щелкнуть на кнопке ОК.

Для редактирования осей достаточно дважды щелкнуть на оси графика левой кнопкой мыши. Появится диалоговое окно позволяющее задавать различные параметры. Вызов диалогового окна возможен на любой из существующих осей. В дальнейшем в окне Selection можно выбрать любую из четырех осей, для которой будут устанавливаться параметры. Выбрав вкладку Scale, можно задать начальное (From) и конечное (To) значение шкалы, а также шаг (Increment), с которым на данной шкале будут отображаться численные значения. Выбрав вкладку Title&Format, можно отобразить на графике невидимые по умолчанию верхнюю и правую шкалы. Для этого достаточно выбрать необходимую шкалу в окне Selection, затем установить флажок в окошке Show Axis&Ticks и далее определять для выбранной шкалы желаемые параметры. В этом же окне существует возможность создания заголовка для каждой оси Title, а также задания параметров выбранной оси — таких, как толщина, длина и направление рисок и т.д. Изменение шрифта, размера, цвета и стиля заголовка оси возможно при двойном щелчке на одной из стандартных подписей (например, X Axis Title). Кроме заголовков осей, часто возникает необходимость внесения различных текстовых вставок, подписей, графиков и т.д. Выбор функции Text Tool на панели инструментов позволит создать нужный текст на поле графика. Для этого необходимо щелчком мыши выделить кнопку с символом Т на панели инструментов, установить появившийся курсор на место создаваемой надписи и щелчком левой кнопки мыши вызвать диалоговое окно.

Математический анализ функций

Origin позволяет проводить различные виды математического анализа исследуемых данных. Простейшие действия над графиками производятся путем выбора в главном меню функции Analysis?Simple Math при активном окне Graph. В результате данной команды в рабочей области появляется диалоговое окно Math on/between Data set. В окне Available Data выбираем название кривой, над которой необходимо произвести действие, и символом ? направляем его в окно Y1. Затем на клавиатуре набирается необходимый оператор (+, -, *, /, ^) и в окне Y2 указывается численное значение, на которое нужно изменить выбранную колонку данных. Следует заметить, что в окне Available Data отражаются названия только тех колонок, которые идентифицированы как функция Y. Чтобы произвести действие над колонкой из дочернего окна Data1_A, необходимо переобозначить ее как А(Y). Для этого в окне Data1 необходимо два раза щелкнуть на колонке А. Появится диалоговое окно, где далее в окне Plot Designation выберите необходимую функцию. Здесь же можно поменять и название колонки, ее ширину, обозначение.

Также одной из необходимых математических операций может являться разложение графика на кривые Гаусса или Лоренца. Для этого необходимо, сделав активным окно Graph, выбрать в меню Analysis?Fit Multi-Peaks?Gaussian. Появится диалоговое окно Number of Peaks, в котором нужно указать количество пиков, для которых будет произведено разложение. Появившийся курсор устанавливается как можно более точно на одном из пиков и фиксируется двойным щелчком мыши, в результате чего появляется вертикальная линия, обозначающая положение первого пика. Аналогичная процедура производится над вторым пиком. Таким же образом можно воспользоваться функциями линейного и полиномиального приближения Fit Linear и Fit Polinomial.

Определение координат в любой точке графика функции

Чтобы определить координаты в любой точке графика, необходимо выбрать на панели инструментов функцию Screen Reader, подвести видоизменившийся курсор к интересующей точке графика и кликнуть. Выделенная точка будет отмечена красным крестом, а в появившемся диалоговом окне будут отражены координаты данной точки.

Описанные возможности — лишь малая часть имеющихся в Origin функций, однако большинство из них доступны лишь при использовании компонента Code Builder, представляющего собой упрощенную среду разработки языка Visual C++. Более подробно используемая в Origin версия С++ описана в файлах помощи Origin в разделе Programming. При этом следует отметить, что использовать для разработки сам Code Builder несколько неудобно. Несмотря на наличие хорошей подсветки синтаксиса и возможность пошаговой отладки с неограниченным числом точек останова, Origin Code Builder все же уступает IDE от Microsoft, так что имеет смысл использовать Origin в комплекте с Microsoft Visual Studio, если ведется действительно серьезная разработка. Впрочем, для маленьких программ возможностей Origin Code Builder вполне достаточно.

Недостатки

Из обнаруженных недостатков программного пакета хочется отметить следующие. Во-первых, недоступна 64-разрядная версия программы, что довольно странно, учитывая, что на рынке уже несколько лет присутствуют 64-разрядные версии MathCAD и MathLab. Такое невнимание со стороны разработчиков к возможностям современных процессоров просто удивляет, учитывая общую оптимизацию Origin и распространение 64-разрядных процессоров среди обычных пользователей. Вдобавок программа в упор игнорирует наличие в системе второго и последующих процессоров, предпочитая стопроцентно загружать первый процессор, когда остальные находятся в состоянии простоя. Для серьезного ПО, используемого в наукоемких экспериментах, где быстродействие является критичным параметрам, такое отношение к системным ресурсам недопустимо.

Заключение

OriginLab Origin 7.5 представляет собой достаточно интересный математический пакет с широкими возможностями расширения. Из достоинств данного программного продукта хочется отметить отличные средства визуализации с настраиваемым уровнем детализации, высокое общее быстродействие даже на старых компьютерах, возможность взаимодействия с различными БД, язык программирования С++ в качестве основного, возможность тонкой настройки среды под нужды пользователя путем изменения исходных кодов компонентов. Недостаток, по большому счету, один — малый набор изначально доступных математических функций — для серьезных научных исследований многое придется писать самому. В целом Origin ориентирован скорее на программиста, которому нужно обрабатывать и визуализировать большие объемы информации (к примеру, данные, получаемые с различных датчиков и систем автоматизации), чем на использование в серьезной научной деятельности. Несмотря на заверения разработчиков, Origin не является конкурентом MathCAD, Mathematica и MathLab — скорее это продукт, который может удачно дополнить один из них. Основной козырь Origin — средства вывода данных в графической форме, и в задачах типа «Изобразить график функции по 30000 точек» ему нет равных.

Сайт производителя Origin: www.microlab.com



Sanik, mowchana@list.ru

© компьютерная газета