Использование свободных программ в научных исследованиях



Скачать 259.2 Kb.
Pdf просмотр
Дата24.11.2016
Размер259.2 Kb.
Просмотров256
Скачиваний0

Алексеев Е.Р. Использование свободных программ в научных исследованиях
ИСПОЛЬЗОВАНИЕ СВОБОДНЫХ ПРОГРАММ В НАУЧНЫХ
ИССЛЕДОВАНИЯХ
Алексеев Е.Р.
Донецкий национальный технический университет, г. Донецк e-mail:
Ealekseev@gmail.com
В данной статье проведен анализ свободного программного обеспечения, которое
может заменить проприетарные программы в университетах и исследовательских
лабораториях. Особое внимание уделено офисным и математическим приложениям.
Представлены ссылки на официальные сайты всех упоминаемых в статье программ, а
также на известные автору русско- и англоязычные описания упоминаемых свободных
программ.
Широкое проникновение компьютеров во все отрасли науки в последние десятилетия привело к тому, что перед любым научным сотрудником стоит проблема выбора программного обеспечения для проведения исследований. Проприетарные пакеты в виду их высокой стоимости недоступны для большинства учёных и инженеров, работающих в университетах и исследовательских организациях. Поэтому значительный интерес представляют свободно распространяемые пакеты, которые бурно развиваются в последние годы и составляют реальную конкуренцию проприетарным программам. В таких отраслях, как Интернет-технологии, проектирование операционных систем, офисные программы именно свободное программное обеспечение определяет перспективы развития.
Современные свободно распространяемые программы разрабатываются, как для свободных операционных систем (ОС), так и для ОС Windows. Очень часто разработчики подобных программ на этапе проектирования планируют, что программный продукт будет кроссплатформенным
1
Ученые и исследователи в своей деятельности, кроме операционной системы, наиболее часто используют следующие классы
2
программного обеспечения:
1.
Программы для работы в Интернете.
1 Кроссплатформенное программное обеспечение предназначено для работы в различных операционных системах, например в ОС Windows и Linux.
2 Конечно, деление на классы программ довольно условно, ведь многие офисные программы (например, такие как электронные таблицы MS Office Excel, Open Office.org Calc) содержат средства разработки программ
(Visual Basic for Application, OpenOffice.org Basic) и средства для проведения математических расчетов и обработки данных.
1

Алексеев Е.Р. Использование свободных программ в научных исследованиях
2.
Офисные программы.
3.
Математические программы.
4.
Программы моделирования, обработки и визуализации данных.
5.
Средства разработки программ (компиляторы).
Сегодня в качестве альтернативы проприетарной операционной системы MS Windows можно предложить использовать следующие свободные unix-подобные операционные системы: операционные семейства Linux Ubuntu, такие, как Ubuntu [
66
,
114
], Kubuntu [
44
,
89
],
Xubuntu [
120
], Runtu [
59
], Linux Mint [
47
,
93
]; ОС Mandriva Linux [
48
,
94
]; операционные системы семейства ALTLinux [
32
,
33
], ОС ASPLinux [
31
] и ряд других.
К преимуществам операционных систем семейства Linux можно отнести:
1. Простоту установки, современные дистрибутивы Linux устанавливаются проще и быстрее [11], чем привычная всем ОС Windows. К тому же многие дистрибутивы поставляются в виде LiveCD (LiveDVD), что позволит пользователю предварительно познакомиться с операционной системой, не устанавливая ее на компьютер.
2. Удобный и не требовательный к ресурсам компьютерам графический интерфейс (см. рис. 1) операционной системы. Существуют дистрибутивы ориентированные на очень слабые машины (процессор 300-400 МГц, память от 128 Мб), но самому современному дистрибутиву Linux хватит компьютера со следующими характеристиками: процессор — от 1 ГГц, память 512-1024 Мб, жесткий диск от 20
Гб.
3. Отсутствие платы за использование большинства дистрибутивов Linux. Большинство дистрибутивов семейства ОС Linux являются свободно распространяемыми и содержат свободные или бесплатные программы.
4. Более логичная организация файловой системы, что позволяет разделить права доступа к файлам и сделать компьютер более защищенным к атакам из Сети и практически неуязвимым к вирусам.
5. Наличие огромного количества дистрибутивов, что позволяет практически каждому пользователю выбрать дистрибутив для своих нужд.
6. Использование в дистрибутивах Linux самых передовых технологий в области программного обеспечения ПО.
7. Возможность исправления ошибок в ОС семейства Linux значительно быстрее, чем в
MS Windows.
8. Большой набор программного обеспечения (репозитарий современного дистрибутива составляет 20-30 Гб программ).
2

Алексеев Е.Р. Использование свободных программ в научных исследованиях
Рис. 1. Рабочий стол операционной системы Linux Mint 7
Освоение современных дистрибутивов Linux не займет много времени, но позволит получить очень надежную и удобную для пользователя операционную систему.
Современные научные исследования невозможны без использования всемирной сети
Интернет. Среди свободных кроссплатформенных свободных программ для работы во всемирной сети можно выделить web-браузер Mozilla FireFox [
50
], почтовые клиенты Mozilla
Thunderbird [
51
] и Claws-mail [
70
], мультипротокольная программа для обмена мгновенными сообщениями
Pidgin
[
100
]. Данные программы являются стабильными, полнофункциональными, и более защищенными, чем входящие в состав ОС Windows приложения. Имеет смысл пользоваться свободными программами для работы в сети
Интернет независимо от используемой операционной системы.
1
Свободно распространяемые офисные программы
Научная деятельность без офисных программ (написание статей, книг, монографий, оформление отчетов и т.д.) Кроме того, электронные таблицы, входящие в состав многих
3

Алексеев Е.Р. Использование свободных программ в научных исследованиях офисных пакетов можно использовать не только для оформления документов, но и для проведения исследований.
Какие же альтернативы есть у всем известного проприетарного пакета MS Office? Это в первую очередь кроссплатформенные свободные офисные пакеты OpenOffice.org [
5
,
13
,
58
],
GNOME Office [
82
]. Кроме того, для оформления документов можно использовать TeX
(LaTeX) [
110
].
В состав кроссплатформенного офисного пакета OpenOffice.org входят следующие приложения:
1.
Текстовый процессор OpenOffice.org Writer.
2.
Редактор математических формул OpenOffice.org Math.
3.
Графический редактор OpenOffice.org Draw.
4.
Программа работы с презентациями OpenOffice.org Impress.
5.
Система управления базами данных OpenOffice.org Base.
6.
Электронные таблицы OpenOffice.org Calc.
В состав OpenOffice.org входит полноценный векторный графический редактор, чего нет у его конкурента из MS Office. Программы из пакета OpenOffice.org умеют сохранять файлы в формате MS Office 95-2003, а открывают документы, даже созданные в MS Office
2007. Такие возможности свободно распространяемого офисного пакета OpenOffice.org, как экспорт в форматы Pdf и TEX, не имеют аналогов у конкурента из компании Microsoft. Кроме того, документы в формате OpenOffice.org занимают намного меньше места, чем в формате
MS Office. Это достигается путем использования собственного открытого формата хранения данных со встроенной архивацией на ходу (при сохранении и открытии файлов).
Использование механизма архивации приводит к несколько большему времени открытия и сохранения файлов на слабых машинах.
К достоинствам пакета также стоит отнести его кроссплатформенность и наличие его в репозитариях большинства современных дистрибутивов Linux.
OpenOffice.org Writer (см. рис. 2) является достойным конкурентом MS Office Word
3
Возможности текстового процессора OpenOffice.org Writer [
53
] ничем не уступают MS Office
Word. Несколько различается расположение и название основных пунктов меню, но к этому можно быстро привыкнуть, поработав с пакетом некоторое время. После этого становится очевидным, что расположение команд и пунктов меню в OpenOffice.org более логичное и удобное. OpenOffice.org Writer намного удобнее MS Word при создании и вёрстке документов большого объема сложной структуры [
5
] (учебные пособия, книги, монографии, отчёты и
3 А может на сегодняшний день и наоборот «MS Office Word — достойный конкурент OpenOffice.org Writer »?
4

Алексеев Е.Р. Использование свободных программ в научных исследованиях т.д.), что достигается очень гибким и удобным механизмом перекрестных ссылок [
53
].
Рис. 2. Окно текстового процессора OpenOffice.org Writer
Редактор математических формул OpenOffice.org Math [
56
] имеет средства не только визуального создания формул (как и в Microsoft Equation), но и язык разметки формул, который позволяет создавать формулы любой сложности (см. рис. 3).
Векторный графический редактор OpenOffice.org Draw [
55
] функционально сравним с
CorelDRAW. Однако для рисования таких объектов, как блок-схемы и электрические схемы, лучше использовать, свободный графический редактор Dia [
41
] из состава Gnome Office.
Программа работы с презентациями OpenOffice.org Impress [
56
] — добротный продукт, не уступающий своему конкуренту Microsoft Office PowerPoint.
Единственным компонентом, значительно уступающим своему конкуренту из Microsoft, является система управления базами данных OpenOffice.org Base [
54
]. Но, судя по темпам развития OpenOffice, создание мощной СУБД — это вопрос времени.
Электронные таблицы на компьютере ученого служат не только для оформления документов, но и для проведения расчетов. Рассмотрим основные возможности, представляемые OpenOffice.org Calc для обработки и визуализации данных. Как и в любых электронных таблицах, в OpenCalc есть возможность расчета по формулам.
5

Алексеев Е.Р. Использование свободных программ в научных исследованиях
Для обработки больших объемов данных служит пункт главного меню Данные (см. рис. 4). С его помощью можно отсортировать и отфильтровать данные, построить сводную таблицу и диаграмму.
Рис. 3. Текстовый процессор OpenOffice.org Writer и редактор формул OpenOffice.org Math
Рис. 4. Пункт меню Данные в OpenOffice.org Calc
6

Алексеев Е.Р. Использование свободных программ в научных исследованиях
Многие инженерные, экономические задачи сводятся к таким матричным операциям, как умножение, сложение, вычитание, обращение, транспонирование матриц; вычисление определителя матрицы; решение систем линейных алгебраических уравнений. Подобные задачи хорошо решаются в OpenCalc, для выполнения операций над матрицами существуют функции MDETERM (вычисление определителя), MINVERSE (вычисление обратной матрицы), MMULT (умножение матриц), MUNIT (формирование единичной матрицы). Кроме того, с помощью операций +, -, * в OpenCalc намного проще, чем MS Excel, реализуется сложение, вычитание и умножение матриц.
С помощью команды Сервис — Подбор параметра можно решать различные уравнения с одной переменной.
Отдельную группу задач составляют оптимизационные и сводящиеся к ним (например такие, как обработка экспериментальных данных методом наименьших квадратов). Для решения подобных задач в MS Excel есть специальный мощный оптимизационный модуль, вызываемый командой Сервис — Поиск решения. Какие альтернативы есть в свободном пакете OpenOffice.org Calc? В состав OpenOffice.org Calc ранних версий (2.4.2 и более ранних) модуль решения задач оптимизации не входит. Для решения линейных и нелинейных задач оптимизации можно использовать очень удачное расширение (с русским интерфейсом) японского программиста Kohei Yoshida [
102
]. В состав OpenCalc версии 3.0 и выше входит модуль решения задач линейного программирования (линейных оптимизационных задач).
Для решения нелинейных задач оптимизации есть расширение Solver for Nonlinear
Programming [
106
] (на момент написания статьи
4
была доступна бета версия расширения, у которой были проблемы при использовании в Ubuntu 9.04, в MS Windows все работало без проблем, но автор статьи надеется, что на момент выхода статьи эти шероховатости уже будут устранены). Наличие блоков решения оптимизационных задач (особенно нелинейной оптимизации) позволяет уже сегодня в OpenOffice.org Calc решать задачи (системы нелинейных уравнений, задачи обработки экспериментальных данных методом наименьших квадратов и др.), которые раньше можно было решать только в прориетарных электронных таблицах MS Excel.
В составе OpenCalc присутствует большое количество статистических и финансовых функций. При решении задач этого класса OpenCalc не уступает своему проприетарному конкуренту.
Пользователи
Openoffice.org Calc могут использовать визуальный язык программирования OpenOffice.org Basic. Это полноценный объектно-ориентированный язык
4 Август 2009 года
7

Алексеев Е.Р. Использование свободных программ в научных исследованиях программирования, позволяющий создавать программы для решения сложных задач, которые возникают в практической деятельности. Русскоязычные руководства OpenOffice.org Basic
доступны по адресу http://authors.i-rs.ru/Basic.
Отдельная тема — использование электронных таблиц для графического представлениях данных (построение диаграмм и графиков). Серьезно переработанный в последних версиях OpenOffice.org (3.0, 3.1) модуль построения графиков еще не имеет такого огромного количества типов диаграмм, как в MS Excel 2007, но их более, чем достаточно для использования для отображения исследуемых данных при решении инженерных или научных задач. На рис. 5 показан график двух функций в Open Calc.
Можно сделать однозначный вывод, что свободно распространяемый OpenOffice.org
Calc можно рекомендовать для использовать инженерам и научным работникам.
Офисный пакет OpenOffice.org должен занять достойное место на компьютере научного работника.
Однако, как и MS Office, OpenOffice.org сложно будет использовать на компьютерах с малым количеством оперативной памяти (< 256 Мб).
В качестве альтернативы можно рекомендовать текстовый процессор AbiWord (см. рис.
6) и электронные таблицы Gnumeric (см. рис. 7) из пакета Gnome Office.
-3,14 -2,6
-2
-1,4
-0,8
-0,2 0,4 1
1,6 2,2 2,8
-1,5
-1
-0,5 0
0,5 1
1,5
График функций sin(x), cos(x^3)
y z
X
Y
=
si n(
x)
, c os
(x
^3
)
Рис. 5. Графики двух функций в OpenCalc
Текстовый процессор AbiWord [
67
] не обладает такими возможностями, как MS Word и
OpenWriter. В частности в нем нет возможности работы с формулами. Также AbiWord не
8

Алексеев Е.Р. Использование свободных программ в научных исследованиях предназначен для вёрстки сложных документов. Однако, для создания большинства документов, возможностей AbiWord достаточно, и он является текстовым процессором, который можно использовать на слабых машинах.
Рис. 6. Окно текстового процессора AbiWord
Рис. 7. Окно электронных таблиц Gnumeric
9

Алексеев Е.Р. Использование свободных программ в научных исследованиях
В Gnumeric [
83
] есть возможность расчета по формулам, сортировки, фильтрации данных [
27
] , выполнения стандартных матричных операций, и использования матричных функций mdeterm (вычисление определителя), minverse (вычисление обратной матрицы),
mmult (умножение матриц), решения уравнений с помощью команды подбора параметра.
Оптимизационные задачи ограничены задачами линейного программирования [28], что затрудняет решение систем нелинейных уравнений и сложных задач обработки экспериментальных данных. А вот большое количество статистических и финансовых функций делают Gnumeric серьезным конкурентом MS Excel и OpenCalc при решении экономических задач [
27
,
28
,
29
].
Еще один существенный плюс Gnumeric — мощный модуль построения графиков и диаграмм
[
27
]. На субъективный взгляд автора, он даже помощнее, чем в OpenOffice.org Calc.
Из проведенного анализа напрашивается вывод, что свободно распространяемый пакет
Gnumeric должен занять достойное место на слабых машинах, которые еще сохранились в научных лабораториях.
Для построения специализированных схем (например, блок-схемы, электрические схемы и т.п.) свободно распространяемый кроссплатформенный графический редактор Dia
[
41
] (см. рис. 8) может заменить проприетарный пакет MS Visio [
9
].
Рис. 8. Графический редактор Dia
1

Алексеев Е.Р. Использование свободных программ в научных исследованиях
В качестве же полноценного точечного графического редактора можно рекомендовать свободно распространяемый редактор GIMP [
22
,
39
,
80
,
84
].
Для качественной подготовки документа к изданию можно использовать систему компьютерного набора LaTeX [3, 20,
45
,
65
,
110
]. При ее использовании возникает проблема выбора специализированного текстового редактора. В ОС семейства Linux можно использовать текстовые редакторы Tea [
109
], Gedit [
79
], Kile [
88
] или Kate [
43
,
87
], которые есть в репозитариях большинства современных дистрибутивов. В качестве текстового редактора для операционной системы Windows во многих книгах и руководствах по LaTeX
(TeX) рекомендуют проприетарный и платный редактор WinEdt [
118
]. Но ему есть прекрасные свободные альтернативы — редакторы Led [
90
], TeXnicCenter [
111
].
Кроме того, для качественного набора текста следует обратить внимание на специализированные текстовые процессоры Lyx [
92
] и Texmacs [
117
]. Lyx представляет из себя визуальную оболочку над LaTeX. А Texmacs — это мощный специализированный текстовый процессор, который ориентирован именно на научных работников. Он может работать с документами в формате LaTeX. В Texmacs могут встраиваться интегрироваться внешние математическими пакеты (Maxima, Scilab, Octave и др.), что делает свободные приложения реальным конкурентом такому пакету, как MathCad.
Традиционно к офисным программам относят словари и переводчики. Среди свободных программ на сегодняшний день сложно найти достойные конкуренты проприетарным переводчикам ПРОМТ [
16
,
52
] и Pragma [
14
,
25
]. Поэтому есть смысл использовать online версии переводчиков на официальных сайтах программ [
14
,
52
]. А вот у электронного словаря Lingvo появился достойный конкурент — это свободно распространяемый кросплатформенный словарь StarDict [
63
,
64
,
107
,
108
]. Существуют версии словаря для большинства операционных систем (Windows, Linux). Как известно, качество электронного словаря определяется в первую очередь не столько оболочкой (см. рис. 9), а количеством подключаемых файлов со словарями. Для StarDict на сегодняшний день существует огромная база словарей различных языков [
64
]. Так, что можно рекомендовать использовать этот электронный словарь, независимо от операционной системы, в которой Вы работаете.
Кроме рассмотренных офисных приложений следует обратить внимание на online офисные пакеты, такие как Google Office [2,
8
], электронная таблица Numsum [2,
97
] и чертежная программа Gliffy [2,
81
].
1

Алексеев Е.Р. Использование свободных программ в научных исследованиях
2
Свободно распространяемые математические программы
В практической деятельности научные работники различных направлений используют математические программы для своих целей.
Рис. 9. Окно словаря StarDict
На компьютерах под управлением ОС Windows используются такие проприетарные программные продуты, как MathCad [
49
], Matlab [
96
], Maple [
95
], Mathematica [
119
]. Однако стоимость их такова, что очень немногие образовательные и исследовательские учреждения могут позволить закупать эти программы. Кроме того, при проведении исследований зачастую не требуются такие многофункциональные системы.
Рассмотрим, какие свободно распространяемые программы можно использовать для решения математических задач, обработки, моделирования и визуализации данных.
Среди многофункциональных свободных математических программ можно выделить следующие пакеты.
Scilab [1,
21
,
35
,
61
,
62
,
103
,
104
] — система компьютерной математики, которая предназначена для выполнения инженерных и научных вычислений. По возможностям пакет
Scilab практически не уступает Mathcad, а по интерфейсу близок к Matlab. В Scilab
реализованы численные методы решения следующих задач вычислительной математики [1,
21
,
35
], среди которых можно выделить следующие:

задачи линейной алгебры (см. рис. 10);

нелинейные уравнения и систем, на рис. 11 представлено решение в Scilab уравнения
1

Алексеев Е.Р. Использование свободных программ в научных исследованиях
e
x
5

2  x−1
2
=
0
, а на рис. 12 – решение системы нелинейных уравнений
{
x
1 2

x
2 2
=
1
x
3 2

x
2
=
0
;

задачи оптимизации, при решении которых следует обратить внимание на несколько нестандартный синтаксис [1,
35
];

дифференцирование и интегрирование, на рис. 13 представлено решение задачи вычисление интеграла

0 1
t
2

3sin  t
dt
;

обработка экспериментальных данных (интерполяция и метод наименьших квадратов)
[1,
21
,
35
];

обыкновенные дифференциальные уравнения и системы [1,
21
,
35
].
1

Алексеев Е.Р. Использование свободных программ в научных исследованиях
Рис. 10. Решение некоторых задач линейной алгебры в Scilab
Рис. 11. Решение уравнения
e
x
5

2  x−1
2
=
0
в Scilab
Рис. 12. Решение системы уравнений
{
x
1 2

x
2 2
=
1
x
3 2

x
2
=
0
в Scilab
В Scilab есть встроенные функции для численного решения большинства стандартных математических задач. Для решения нестандартных задач в Scilab есть довольно мощный объектно-ориентированный язык программирования (sci-язык), с помощью которого пользователь может создавать свои визуальные приложения (с использованием встроенных функций), которые могут выполняться, как отдельные программы в среде Scilab. Sci-язык на
1

Алексеев Е.Р. Использование свободных программ в научных исследованиях русском языке описан в книге [1].
Графические возможности Scilab не уступают проприетарным математическим пакетам. На рис. 14 представлены различные графики, выполненные в Scilab.
Рис. 13. Численное интегрирование в Scilab
1

Алексеев Е.Р. Использование свободных программ в научных исследованиях
Рис. 14. Графики в Scilab
Следует обратить внимание на то, что в состав Scilab входит Scicos [
103
] — система компьютерного моделирования, аналогичная Simulink.
Из проведенного анализа можно сделать вывод, что свободно распространяемый пакет
Scilab должен занять достойное место на компьютере специалиста, чья деятельность связана с решением задач вычислительной математики.
Maxima [
7
,
10
,
23
,
30
] — математическая система символьных и численных вычислений. Программа работает в консольном режиме (см. рис. 15) и виде оконного (см. рис. 16) приложения. При проведении вычислений, Maxima использует точные дроби, целые числа и числа с плавающей точкой произвольной точности, что позволяет проводить вычисления с очень высокой точностью (см. рис. 15). Maxima может заменить при решении некоторых задач Maple и Mathematica.
С ее помощью можно проводить операции:

с векторами, матрицами (см. рис. 16) и тензорами;

дифференцирования (см. рис.17), интегрирования, вычисления пределов (см. рис. 18);

разложения в ряд (см. рис. 19), преобразования Лапласа;
решать:

обыкновенные дифференциальные уравнения (см. рис. 20);

задачи обработки экспериментальных данных;

нелинейные уравнений и системы.
1

Алексеев Е.Р. Использование свободных программ в научных исследованиях
Рис. 15. Простейшие расчеты высокой точности в Maxima в консольном режиме
Maxima может быть использована при проведении аналитических расчетов и построении двух и трехмерных графиков [
7
,
30
]. На рис. 20-21 приведены графики, построенные в Maxima.
Этим перечнем возможности пакета не ограничиваются. Подробно с пакетом можно ознакомиться в [
30
].
Следует обратить внимание, что в Maxima присутствует встроенный макроязык, благодаря чему программа становится практически неограниченно расширяемым инструментом для проведения как численных, так и символьных вычислений. А совместно с текстовым редактором Texmacs и рассмотренным ранее пакетом Scilab может быть более мощной средой в ОС семейства Linux для проведения расчетов и оформления документов, чем всем известный MathCad в среде Windows.
На сегодняшний день Maxima — незаменимый инструмент не только на компьютере ученого, но и уникальная программа для использования в учебном процессе при изучении классического курса высшей математики в университетах [
30
].
1

Алексеев Е.Р. Использование свободных программ в научных исследованиях
Рис. 16. Простейшие операции с символьными матрицами
Рис. 17. Символьное вычисление второй производной
Рис. 18. Вычисление первого и второго замечательных пределов
Рис. 19. Разложение функций вряд Тейлора
1

Алексеев Е.Р. Использование свободных программ в научных исследованиях
Рис. 20. Решение дифференциального уравнения
8 y
' '

2y= x cos x
Рис. 21. График функции
y=sin  cos  2x 
на интервале
[−
; 4π ]
1

Алексеев Е.Р. Использование свободных программ в научных исследованиях
Рис. 22. График функции
z u,v =3u
2

0 . 7v
Для решения математических задач можно использовать Octave [
40
,
98
,
115
] — высокоуровневый язык программирования, совместимый с MATLAB, предназначенный проведения численных расчётов [
96
]. Полное описание его можно найти в [
115
]. Существует удобная графическая среда QtOctave для работы Octave. На рис. 23 представлено решение задачи обработки экспериментальных данных методом сплайн-интерполяции в Octave.
Функции Octave реализуют большинство алгоритмов вычислительной математики.
Средствами Octave можно проводить численное дифференцирование и интегрирование, решать задачи линейной алгебры, нелинейные уравнения и системы, обыкновенные дифференциальные уравнения и системы, задачи обработки экспериментальных данных, и многие другие задачи.
В связи с тем, что это еще и язык программирования, Octave является одной из самых мощных систем для численного решения инженерных и математических задач. Octave можно рассматривать, как серьезный конкурент Matlabа. Как и для Matlab, для Octave можно разрабатывать пакеты расширений [
115
].
Рассмотренные три универсальных математических пакета позволяют решать
2

Алексеев Е.Р. Использование свободных программ в научных исследованиях математические задачи различной сложности, благодаря реализации во встроенных функциях большого количества алгоритмов вычислительной математики и встроенному языку программирования. Обращает на себя внимание близкий синтаксис этих и рассмотренных далее свободных математических программ.
Рис. 23. Реализация сплайн интерполяции с помощью Octave в среде QtOctave
Кроме этих трех широко известных математических пакетов для решения задач вычислительной математики и проведения аналитических расчетов модно использовать следующие свободные программы:
FreeMat [
72
] — система компьютерной математики, аналогичная Scilab, но с меньшими возможностями.
Euler Math Toolbox [
68
] – система численных и аналитических расчетов, по синтаксису. подобная Matlab.
Sage [
60
] — программа для математических расчетов, объединяющая множество существующих свободных пакетов единой среде, написанной на Python.
2

Алексеев Е.Р. Использование свободных программ в научных исследованиях
Для визуализации данных Octave и Maxima пакет используют программу Gnuplot [
38
], которую можно рассматривать, как самостоятельное приложение. Gnuplot работает в консольном режиме, графическое окно появляется только при выводе графика. Это мощная программа для построения графиков, позволяющая строить двух и трехмерных графики любой сложности, полное англоязычное описание встроенного языка Gnuplot представлено на странице http://gnuplot.sourceforge.net/docs/gnuplot.html. На рис. 24 представлен график, построенный с помощью пакета Gnuplot.
Рис. 24. Графики двух функций в Gnuplot
Для построения графиков и обработки данных, кроме gnuplot существует большое количество свободных программ [
12
,
24
,
26
]: Extrema [
75
], RLPlot [
101
], Fityk [
71
], Gretl [
86
],
MayaVi [
112
] , Zhu3D [
121
], OpenDX [
99
], Veusz [
116
].
Однако, на взгляд автора наиболее удачной программой для построения двух и трехмерных графиков, а также для анализа данных является кроссплатформенный пакет научной графики Scidavis [
105
]. Его возможности можно сравнить с хорошо известной проприетарной программой Origin. К преимуществам этой программы следует отнести: простой интуитивно понятный интерфейс, возможность построения графиков различного типа, большие возможности по обработки экспериментальных данных. Не смотря на небольшой размер (дистрибутив программы занимает око 10 Мб), эта программа способна решать реальные задачи по обработке экспериментальных данных и способна стать реальным конкурентом Origin. На рис. 25 приведены результаты решения реальной задачи обработки экспериментальных данных в Scidavis.
2

Алексеев Е.Р. Использование свободных программ в научных исследованиях
Рис.25. Решение задачи обработки экспериментальных данных в Scidavis
Для проведения несложных аналитических расчетов можно рекомендовать небольшую консольную программу Yacas [
4
,
113
].
Для решения дифференциальных уравнений в частных производных методом конечных элементов и визуализации решения есть свободно распространяемые пакеты Freefem и
Freefem3d [
73
], которые по своим возможностям не уступают модулю решения уравнений математической физики из пакета Matlab.
Для построения реалистических 3D-моделей существует мощный свободно распространяемый пакет Blender [
6
,
34
,
69
].
В данном обзоре были рассмотрены далеко не все свободные математические программы, которые можно использовать для решения задач, возникающих в практической деятельности ученого. Были рассмотрены преимущественно свободные кроссплатформенные приложения, которые работают в ОС Windows и присутствуют в репозитариях последних дистрибутивов Ubuntu.
Возможность выбора одной из нескольких качественных свободных программ при решении конкретной задачи, стоящей перед ученым – это еще одно преимущество свободно программного обеспечения перед проприетарным.
Большие перспективы для исследователя открываются при совместном использовании
2

Алексеев Е.Р. Использование свободных программ в научных исследованиях текстового процессора Texmacs и свободных математических программ
5
Иногда, возможностей даже самых мощных прикладных программ не хватает. В этом случаем возникает необходимость создания своей специфической программы, предназначенной для решения конкретной уникальной задачи, стоящей перед ученым. Тогда перед исследователем возникает программного обеспечения для разработки собственного
ПО. Какие свободные решения этой задачи есть сегодня?
В исследовательской среде чаще всего используются языки программирования Basic,
Pascal или C/C++. В качестве среды для программирования на Basic можно предложить
OpenOffice.org Calc и Gambas [
36
,
76
] (для Linux). При иcпользовании языка программирования Pascal можно выбирать между Gnu Pascal [
37
,
85
], Free Pascal [
42
,
74
] и системой визуального программирования Lazarus [
46
,
91
]. Программирование на C/С++
можно изучать, используя компилятор gcc(g++) [
15
,
17
,
18
,
19
,
77
]. При программировании на С/(С++) или Pascal под управлением как операционной системы Windows, так ОС семейства Linux, в качестве среды программирования можно предложить использовать кроссплатформенный редактор Geany [
15
,
78
].
Рассмотренные выше свободные программы можно рекомендовать использовать для обработки, моделирования и визуализации данных в образовательных и исследовательских организациях. Это качественные программные продукты, не уступающие своим проприетарным аналогам.
Переход на свободно программное обеспечение позволит использовать в научных исследованиях качественные легальные программы, не тратя огромные средства на покупку проприетарных программ.
Не следует забывать и о том, что использование свободного программного обеспечение делает исследователя по настоящему независимым. Ученый становится независимым от ценовой политики крупный IT-корпораций, в чем-то даже от собственного руководства
(купят ему нужный для исследований программный продукт или нет).
Литература
1. Алексеев Е.Р., Чеснокова О.В., Рудченко Е.А. Scilab: Решение инженерных и
математических задач. - М.: ALT Linux; Бином. Лаборатория знаний, 2008. - 260с.
(http://docs.altlinux.org/books/2008/altlibrary-scilab-20090409.pdf).
5 Настройка совместного использования Texmacs и нескольких свободных математических пакетов не всегда простая и тривиальная задача.
2

Алексеев Е.Р. Использование свободных программ в научных исследованиях
2. Алексеев Е.Р. Интернет от A до Z. М.: НТ Пресс, 2008.
3. Балдин Е.М. Компьютерная типография LaTeX. — СПб.: БХВ-Петербург, 2008.
4.
Введение в Yacas. URL: http://www.uic.nnov.ru/
zoav1/writings/yacas-intro.html (дата обращения: 03.08.2009).
5. Главная — Инфра-Ресурс. URL: http://www.i-rs.ru (дата обращения: 29.07.2009).
6.
Главная :: Blender 3D туториалы, модели, плагины. URL: http://blender3d.org.ua (дата обращения: 03.08.2009).
7. Губина Т. Н. Цикл уроков по системе аналитических вычислений Maxima. URL: http://freecode.pspo.perm.ru/048/index.html (дата обращения: 29.07.2009).
8. Добро пожаловать в Документы Google. URL: http://docs.google.com (дата обращения: 30.07.2009).
9. Домашняя страница Microsoft Office Visio - Microsoft Office Online.
URL:http://office.microsoft.com/ru-ru/visio/FX100487861049.aspx (дата обращения:
29.07.2009).
10. Житников Вадим. Компьютеры, математика и свобода.
URL: http://www.computerra.ru/gid/266002 (дата обращения: 29.07.2009).
11. Колисниченко Д. Ubuntu Linux. Краткое руководство пользователя. - СПб: БХВ-
Петербург, 2007.
12. Математика

на

рабочей

станции

UNIX.
URL: http://www.ibm.com/developerworks/ru/library/au-unixmath/index.html (дата обращения:
29.07.2009).
13. Новости - MyOOo.ru: доступно и просто об OpenOffice.org.
URL: http://www.myooo.ru (дата обращения: 29.07.2009).
14. Он-лайн перевод - Trident Software. URL: http://www.trident.com.ua/rus/online.php (дата обращения: 30.07.2009).
15.
Программирование на C++. URL: http://teacher.dn-ua.com/CPP/cpp.html (дата обращения: 03.08.2009).
16. ПРОМТ - переводчики и словари PROMT для перевода текста с английского,
русского, немецкого, французского, испанского, португальского и итальянского
языков. URL: http://www.promt.ru (дата обращения: 30.07.2009).
17. Разработка программного обеспечения для Linux. Инструментарий | Книги и
руководства | Библиотека Линуксцентра | Linuxcenter.Ru – портал про Linux и Unix.
Дистрибутивы, книги, статьи о Linux. Mandriva, Ubuntu, SUSE, Fedora, Red Hat,
Debian, KNOPPIX, Gentoo, Slackware, FreeBSD, CentOS, Xandros, RedHat, Linux-XP,
2

Алексеев Е.Р. Использование свободных программ в научных исследованиях
OpenBSD,

Scientific,

ASPLinux,

ALTLinux,

MOPSLinux.

URL:
http://www.linuxcenter.ru/lib/books/linuxdev (дата обращения: 03.08.2009).
18.
Компилятор языков C, C++, Objective C gcc 2.7 (часть 1). URL: http://docstore.mik.ua/manuals/ru/gcc/gcc1.html#toc2 (дата обращения: 03.08.2009).
19.
Компилятор языков C, C++, Objective C gcc 2.7 (часть 2). URL: http://linux.yaroslavl.ru/docs/prog/gcc/gcc2.html (дата обращения: 03.08.2009).
20. Роженко А.И. Искусство верстки в LaTeX'e. — Новосибирск.: изд. ИВМиМГ СО РАН,
2005.
21. Руководство

по

работе

с

пакетом

SCILAB.
URL: http://scilab.psati.ru/rukovodstvo/index.html (дата обращения: 29.07.2009).
22. Сайт уроков и примеров работы в GIMP. URL: http://gimp.nas2.net (дата обращения:
29.07.2009).
23.
Система компьютерной алгебры Maxima. URL: http://maxima.sourceforge.net/ru
(дата обращения: 31.07.2009).
24. Список бесплатного программного обеспечения, которое может заменить
лицензионные коммерческие пакеты - Справочники - Каталог файлов -
Информационный ресурс г. Рубежное. URL: http://rubezhnoe.org.ua/load/8-1-0-180
(дата обращения: 29.07.2009).
25. Трайдент Софтвер - многоязычные программы перевода.
URL: http://www.trident.com.ua/rus/index.htm (дата обращения: 30.07.2009).
26. Хахаев

Иван.

Лёгкие

пакеты

научной

графики.
URL: http://heap.altlinux.org/engine/IvanKhakhaev/DataProc (дата обращения: 29.07.2009).
27. Хахаев Иван. Электронная таблица Gnumeric. Обработка списков и диаграммы.
URL: ftp://ice.spb.ru/pub/articles/gnumeric_guide_listscharts.odt (дата обращения:
29.07.2009).
28. Хахаев

Иван.

Gnumeric

и

линейная

оптимизация.
URL: ftp://ice.spb.ru/pub/articles/gnumeric_1.odt (дата обращения: 29.07.2009).
29. Хахаев Иван. Электронная таблица Gnumeric. Общее знакомство. URL: ftp://ice.spb.ru/pub/articles/gnumeric_guide_general.odt (дата обращения: 29.07.2009).
30.
Чичкарёв Е.А. Компьютерная математика с Maxima. Руководство для
школьников и студентов. URL: http://www.altlinux.org/Books:Maxima (дата обращения:
31.07.2009)
(http://git.altlinux.org/people/bertis/public/?p=books-
MaximaBook.git;a=blob;f=book_new_style.pdf).
31. ASPLinux - разработка дистрибутива Linux, настройка Linux серверов, программы
2

Алексеев Е.Р. Использование свободных программ в научных исследованиях
Linux, технический консалтинг. URL: http://www.asplinux.ru (дата обращения:
29.07.2009).
32. ALT Linux - Главная страница. URL: http://www.altlinux.ru (дата обращения:
29.07.2009).
33. ALT Linux Wiki. URL: http://www.altlinux.org (дата обращения: 29.07.2009).
34.
Blender — Википедия. URL: http://ru.wikipedia.org/wiki/Blender (дата обращения:
03.08.2009).
35.
Books:Scilab — ALT Linux Wiki. http://www.altlinux.org/Books:Scilab (дата обращения: 31.07.2009).
36.
Gambas — Википедия. URL: http://ru.wikipedia.org/wiki/Gambas (дата обращения: 03.08.2009).
37.
GNU Pascal — Википедия. URL: .http://ru.wikipedia.org/wiki/GNU_Pascal (дата обращения: 03.08.2009).
38.
Gnuplot – Википедия. URL: http://www.gnuplot.info (дата обращения:
05.08.2009).
39. GIMP — бесплатный растровый графический редактор Гимп :: Альтернатива
Фотошоп :: Редактор GIMP :: Редактор фотографий :: Программа для рисования.
URL: http://www.progimp.ru (дата обращения: 29.07.2009).
40. GNU
Octave.

Материал

из

Викиучебника.
URL: http://ru.wikibooks.org/wiki/GNU_Octave (дата обращения: 29.07.2009).
41. Dia — Википедия. URL: http://ru.wikipedia.org/wiki/Dia (дата обращения: 29.07.2009).
42.
FreePascal.ru - Информационный портал для разработчиков на Free Pascal &
Lazarus & MSE. URL: http://www.freepascal.ru (дата обращения: 03.08.2009).
43. Kate — Википедия. URL: http://ru.wikipedia.org/wiki/Kate (дата обращения: 30.07.2009).
44. Kubuntu | Русское сообщество кубунту. URL:http://www.kubuntu.ru (дата обращения:
29.07.2009).
45. LaTeX — Википедия. URL: http://ru.wikipedia.org/wiki/LaTeX (дата обращения:
29.07.2009).
46.
Lazarus - Википедия. URL: http://ru.wikipedia.org/wiki/Lazarus (дата обращения:
03.08.2009).
47. Linux Mint | Русское сообщество. URL: http://www.mintlinux.ru (дата обращения:
29.07.2009).
48. Mandriva Russia. URL: http://www.mandriva.ru (дата обращения: 29.07.2009).
49. Mathcad - программное обеспечение для инженерных расчетов — PTC. URL:
2

Алексеев Е.Р. Использование свободных программ в научных исследованиях
http://www.ptc.com/appserver/mkt/products/home.jsp?k=3901 (дата обращения:
30.07.2009).
50. Mozilla Firefox | Mozilla Россия. URL: http://www.mozilla-russia.org/products/firefox
(дата обращения: 29.07.2009).
51. Mozilla
Thunderbird
|
Mozilla
Россия.
URL:
http://www.mozilla- russia.org/products/thunderbird (дата обращения: 29.07.2009).
52. Online-переводчик текста компании ПРОМТ: английский, русский, немецкий,
французский, испанский, итальянский и португальский языки.
URL: http://www.traslate.ru (дата обращения: 30.07.2009).
53. OOo Writer - MyOOo.ru: доступно и просто об OpenOffice.org. URL: http://myooo.ru/content/blogcategory/14/48/ (дата обращения: 29.07.2009).
54. OOo Base - MyOOo.ru: доступно и просто об OpenOffice.org. URL: http://myooo.ru/content/blogcategory/20/64 (дата обращения: 29.07.2009).
55. OOo Draw - MyOOo.ru: доступно и просто об OpenOffice.org. URL: http://myooo.ru/content/blogcategory/19/39/ (дата обращения: 29.07.2009).
56. OOo Math - MyOOo.ru: доступно и просто об OpenOffice.org. URL: http://myooo.ru/content/blogcategory/18/54/ (дата обращения: 29.07.2009).
57. OOo Impress - MyOOo.ru: доступно и просто об OpenOffice.org. URL: http://myooo.ru/content/blogcategory/17/45 (дата обращения: 29.07.2009).
58. ru:
OpenOffice.org
для

русскоговорящих

пользователей.
URL: http://www.ru.openoffice.org (дата обращения: 29.07.2009).
59. Runtu. URL: http://www.runtu.org (дата обращения: 29.07.2009).
60. Sage: Свободное программное обеспечение для математических рачетов. URL: http://www.sagemath.ru (дата обращения: 29.07.2009).
61.
Scilab по-русски. URL: http://teacher.dn-ua.com/Math/Scilab/Scilab.html (дата обращения: 31.07.2009).
62. Scilab - Википедия. URL: http://ru.wikipedia.org/wiki/Scilab (дата обращения:
29.07.2009).
63. StarDict — Википедия. URL: , http://ru.wikipedia.org/wiki/StarDict. (дата обращения:
30.07.2009).
64. StarDict Стардикт - [1] :: Программы :: Компьютерный форум Ru.Board. URL: http://forum.ru-board.com/topic.cgi?forum=5&topic=16486 (дата обращения: 30.07.2009).
65. TeXLive — Википедия. URL: http://ru.wikipedia.org/wiki/TeX_Live (дата обращения:
29.07.2009).
2

Алексеев Е.Р. Использование свободных программ в научных исследованиях
66. Ubunu по-русски. URL: http://www.ubuntu.ru (дата обращения: 29.07.2009).
67. AbiWord. URL:http://www.abisource.com (дата обращения: 29.07.2009).
68. Browse Euler Math Toolbox Files on SourceForge.net. URL: https://sourceforge.net/projects/eumat/files (дата обращения: 29.07.2009).
69.
Blender.org — Home. URL: http://www.blender.org (дата обращения: 03.08.2009).
70. Claws Mail - the email client that bites!. URL: http://www.claws-mail.org (дата обращения: 29.07.2009).
71.
Fityk - free peak fitting software. URL: http://www.unipress.waw.pl/fityk (дата обращения: 03.08.2009).
72.
FreeMat – Home. URL: http://freemat.sourceforge.net (дата обращения:
03.08.2009).
73.
FreeFEM.org. URL: http://www.freefem.org (дата обращения: 03.08.2009).
74.
Free Pascal - Advanced open source Pascal compiler for Pascal and Object Pascal -
Home Page. URL: http://www.freepascal.org (дата обращения: 03.08.2009).
75.
Extrema Home Page. URL: http://exsitewebware.com/extrema (дата обращения:
03.08.2009).
76.
Gambas



Gambas

Almost

Means

Basic.
URL: http://gambas.sourceforge.net/en/main.html (дата обращения: 03.08.2009).
77.
GCC, the GNU Compiler Collection - GNU Project - Free Software Foundation
(FSF). URL: http://gcc.gnu.org (дата обращения: 03.08.2009).
78.
Geany : Home Page. URL: http://www.geany.org (дата обращения: 03.08.2009).
79. Gedit. URL: http://projects.gnome.org/gedit (дата обращения: 30.07.2009).
80. GIMP - The GNU Image Manipulation Program. URL: http://www.gimp.org (дата обращения: 29.07.2009).
81. Gliffy Online Diagram Software. URL: www.gliffy.com (дата обращения: 30.07.2009).
82. GnomeOffice - GNOME Live!. URL: http://live.gnome.org/GnomeOffice (дата обращения:
29.07.2009).
83. GNOME Office / Gnumeric - Welcome to Gnumeric!. URL: http://projects.gnome.org/gnumeric (дата обращения: 29.07.2009).
84. GNU Image Manipulation Program. URL: http://docs.gimp.org/ru (дата обращения:
29.07.2009).
85.
GNU Pascal. URL: http://www.gnu-pascal.de/gpc/h-index.html (дата обращения:
03.08.2009).
86.
Gretl. URL: http://gretl.sourceforge.net (дата обращения: 03.08.2009).
2

Алексеев Е.Р. Использование свободных программ в научных исследованиях
87. Kate | Get an Edge in Editing. URL: http://www.kate-editor.org (дата обращения:
30.07.2009).
88. Kile - an Integrated LaTeX Environment. URL: http://kile.sourceforge.net (дата обращения:
30.07.2009).
89. Kubuntu | linux for human beings | Kubuntu. URL: http://www.kubuntu.org (дата обращения: 29.07.2009).
90. LaTeX Editor - Home. URL: http://www.latexeditor.org (дата обращения: 30.07.2009).
91.
Lazarus - News. URL: http://www.lazarus.freepascal.org (дата обращения:
03.08.2009).
92.
LyX – The Document Processor. URL: http://www.lyx.org (дата обращения:
02.08.2009).
93. Main Page - Linux Mint. URL: http://www.linuxmint.com (дата обращения: 29.07.2009).
94. Mandriva. URL: http://www2.mandriva.com (дата обращения: 29.07.2009).
95. Math Software for Engineers, Educators & Students | Maplesoft. URL: http://www.maplesoft.com (дата обращения: 30.07.2009).
96. The MathWorks - MATLAB and Simulink for Technical Computing. URL: http://www.mathworks.com (дата обращения: 30.07.2009).
97. Num Sum - web spreadsheet. URL: www.numsum.com (дата обращения: 30.07.2009).
98.
Octave. URL: http://www.gnu.org/software/octave (дата обращения: 31.07.2009).
99.
Open Visualization Data Explorer. URL: http://www.opendx.org (дата обращения:
03.08.2009).
100.
Pidgin, the universal chat client. URL: http://www.pidgin.im (дата обращения:
29.07.2009).
101.
RLPlot home. URL: http://rlplot.sourceforge.net (дата обращения: 03.08.2009).
102.
Roundtrip to Shanghai via Tokyo » Calc Optimization Solver. URL: http://kohei.us/ooo/solver (дата обращения: 29.07.2009).
103.
Scicos Homepage. URL: www.scicos.org (дата обращения: 31.07.2009).
104.
Scilab Home Page. URL: www.scilab.org (дата обращения: 31.07.2009).
105.
SciDAVis — Welcome. URL: http://scidavis.sourceforge.net/index.html (дата обращения: 03.08.2009).
106.
Solver for Nonlinear Programming [BETA] | OpenOffice.org repository for
Extensions. URL:
http://extensions.services.openoffice.org/project/NLPSolver
(дата обращения: 29.07.2009).
107.
StarDict - The best dictionary program in linux and windows. URL:
3

Алексеев Е.Р. Использование свободных программ в научных исследованиях
(http://stardict.sourceforge.net/index.php. (дата обращения: 30.07.2009).
108.
StarDict - The best free dictionary software and online dictionary website!. URL: http://www.stardict.org. (дата обращения: 30.07.2009).
109.
TEA: news. URL: http://tea-editor.sourceforge.net (дата обращения: 30.07.2009).
110.
TeX Live — TeX Users Group. URL: http://www.tug.org/texlive (дата обращения:
29.07.2009).
111.
Texniccenter. URL: http://www.texniccenter.org (дата обращения: 30.07.2009).
112.
The MayaVi Data Visualizer. URL: http://mayavi.sourceforge.net (дата обращения:
03.08.2009).
113.
The

Yacas

computer

algebra

system.
URL: http://yacas.sourceforge.net/homepage.html.
114.
Ubuntu Home Page | Ubuntu. URL: http://www.ubuntu.com (дата обращения:
29.07.2009).
115.
Untitled.
URL:
http://www.gnu.org/software/octave/doc/interpreter
(дата обращения: 31.07.2009).
116.
Veusz. URL: http://home.gna.org/veusz (дата обращения: 03.08.2009).
117.
Welcome to GNU TeXmacs (FSF GNU project). URL: http://www.texmacs.org (дата обращения: 30.07.2009).
118.
WinEdt. URL: http://www.winedt.com (дата обращения: 30.07.2009).
119.
Wolfram Research: Mathematica, Technical and Scientific Software. URL: http://www.wolfram.com (дата обращения: 30.07.2009).
120.
Xubuntu Home Page | Xubuntu. URL: http://www.xubuntu.org (дата обращения:
29.07.2009).
121.
Zhu3D KDE-Apps.org.
URL: http://www.kde-apps.org/content/show.php?
content=43071 (дата обращения: 03.08.2009).
3

Document Outline

  • ИСПОЛЬЗОВАНИЕ СВОБОДНЫХ ПРОГРАММ В НАУЧНЫХ ИССЛЕДОВАНИЯХ
    • 1 Свободно распространяемые офисные программы
    • 2 Свободно распространяемые математические программы



Поделитесь с Вашими друзьями:


База данных защищена авторским правом ©nethash.ru 2019
обратиться к администрации

войти | регистрация
    Главная страница


загрузить материал