GNU Octave | это... Что такое GNU Octave? (original) (raw)
У этого термина существуют и другие значения, см. Octave.
GNU Octave
GNU Octave with Octave Workshop GUI | |
Тип | математическое ПО |
Разработчик | John W. Eaton |
Написана на | C++ |
Операционная система | Linux, UNIX, Cygwin, Windows |
Первый выпуск | 1988 |
Последняя версия | 3.6.2 (31 мая 2012) |
Лицензия | GNU General Public License |
Сайт | http://www.octave.org/ (англ.) |
GNU Octave — свободная система для математических вычислений[1], использующая совместимый с MATLAB язык высокого уровня[2].
Octave представляет интерактивный командный интерфейс для решения линейных и нелинейных математических задач, а также проведения других численных экспериментов. Кроме того, Octave можно использовать для пакетной обработки. Язык Octave оперирует арифметикой вещественных и комплексных скаляров и матриц, имеет расширения для решения линейных алгебраических задач, нахождения корней систем нелинейных алгебраических уравнений, работы с полиномами, решения различных дифференциальных уравнений, интегрирования систем дифференциальных и дифференциально-алгебраических уравнений первого порядка, интегрирования функций на конечных и бесконечных интервалах. Этот список можно легко расширить, используя язык Octave (или используя динамически загружаемые модули, созданные на языках C, С++, Фортран и др.).
Содержание
- 1 Технические детали
- 2 Язык Octave
- 3 Графический интерфейс
- 4 Некоторые возможности
- 5 Совместимость с MATLAB
- 6 Примечания
- 7 См. также
- 8 Ссылки
Технические детали
- Octave написан на C++ с использованием библиотеки STL;
- Для запуска скриптов Octave использует интерпретатор;
- Octave можно дополнять динамически подгружаемыми модулями;
- Для создания и распечатки графиков Octave использует gnuplot и Grace.
Язык Octave
Octave — интерпретируемый язык программирования. Он похож на C и поддерживает большинство основных функций стандартной библиотеки C, а также основные команды и системные вызовы Unix. С другой стороны, он не поддерживает передачу аргументов по ссылке (особенность дизайна).
Синтаксис языка очень похож на MATLAB, и грамотно написанные скрипты будут запускаться как в Octave, так и в MATLAB.
Графический интерфейс
Графический интерфейс представлен дополнениями (графики он может выводить и без них):
- QtOctave Graphical User Interface — свободный функциональный кросс-платформенный интерфейс, разработка прекращена в 2011 году;
- Xoctave — коммерческий интерфейс, очень похожий на MATLAB;
- Kalculus — MATLAB-подобный интерфейс, написанный на Qt4, разработка прекращена в 2008 году;
- Octclipse — интеграция с Eclipse IDE;
- OctaveNB — интеграция с NetBeans IDE.
Некоторые возможности
Интерфейс
Интерфейс командной строки Octave построен с использованием библиотеки GNU Readline, что дает доступ к таким обычным возможностям последней, как автодополнение по клавише Tab ⇆ , история команд и инкрементальный поиск по ней ( Ctrl + R , Ctrl + S ), возможность переопределения клавиш, и т. д.
Интеграция с C++
Выражения Octave можно вычислять из программ на C++. К примеру, фрагмент кода для вычисления rand([9000,1]): [3]
#include <octave/oct.h> ... ColumnVector NumRands(2); NumRands(0) = 9000; NumRands(1) = 1; octave_value_list f_arg, f_ret; f_arg(0) = octave_value(NumRands); f_ret = feval("rand",f_arg,1); Matrix unis(f_ret(0).matrix_value());
Совместимость с MATLAB
Octave был написан с учётом совместимости с MATLAB и реализует многие его возможности:
- матрицы в качестве основных типов данных;
- встроенная поддержка комплексных чисел;
- мощные встроенные математические функции и большие библиотеки функций;
- расширяемость, благодаря возможности создания пользовательских функций.
Но есть и отличия:
- комментарии могут начинаться как с символа #, так и с символа %;
- поддерживаются C-подобные операторы ++, --, +=, *=, /=;
- элементы могут быть адресованы без создания новой переменной, например [1:10](3);
- строки могут быть заданы как символом ", так и символом '.
Примечания
См. также
Ссылки
Диаграммы GNU Octave на Викискладе? |
---|
- Официальная страница (англ.)
- Официальная документация (англ.), (чешск.), (яп.)
- GNU Octave (рус.) на Xgu.ru — русскоязычная информация о GNU Octave
- [1] (рус.) немного переводов и статей
- [2] (рус.) Тестирование быстродействия MATLAB и GNU/Octave
- [3] (рус.) Полное описание GNU Octave на русском языке на сайте Е.Р. Алексеева, О.В. Чесноковой
Проект GNU | ||
---|---|---|
История | Манифест GNU • Проект GNU • Фонд свободного программного обеспечения (история) | |
Лицензии | GNU GPL • GNU LGPL • Affero GPL • GNU FDL • GPL linking exception | |
Программноеобеспечение | GNU (варианты) • Hurd • GNOME • Bash • GCC • GNU Emacs • glibc • GNU Coreutils • Autotools • GNUnet • GNUzilla (IceCat) • Gnash • другие пакеты | |
Персоналии | Александре Олива • Бенджамин Хилл • Брэдли Кун • Эбен Моглен • Федерико Хейнц • Джордж Грив • Георг Греве • Джошуа Гэй • Лоис Дечэри • Мэтт Ли • Рикардо Галли • Ричард Столлман • Роберт Часселл • Вильям Джон Салливан | |
Другие темы | Спор об именовании GNU/Linux • Revolution OS • BadVista • Defective by Design |
Математическое программное обеспечение | |
---|---|
Open source | Символьные вычисления: Axiom • GAP • Maxima • ; Численные вычисления: Fityk • FreeMat • GNU Octave • gretl • LabPlot • QtiPlot • R • Sage • SciDAVis • Scilab • |
Proprietary | Символьные вычисления: Mathcad • Maple • Mathematica • SMath Studio ; Численные вычисления: GAUSS • LabVIEW • MagicPlot • MATLAB • Origin • SigmaPlot • Speakeasy • VisSim |