GNU Octave with Octave Workshop GUI |
|
Тип | |
---|---|
Разработчик |
John W. Eaton |
Написана на | |
Операционная система | |
Первый выпуск |
1988 |
Последняя версия | |
Лицензия | |
Сайт |
http://www.octave.org/ (англ.) |
GNU Octave — свободная система для математических вычислений[1], использующая совместимый с MATLAB язык высокого уровня[2].
Octave представляет интерактивный командный интерфейс для решения линейных и нелинейных математических задач, а также проведения других численных экспериментов. Кроме того, Octave можно использовать для пакетной обработки. Язык Octave оперирует арифметикой вещественных и комплексных скаляров и матриц, имеет расширения для решения линейных алгебраических задач, нахождения корней систем нелинейных алгебраических уравнений, работы с полиномами, решения различных дифференциальных уравнений, интегрирования систем дифференциальных и дифференциально-алгебраических уравнений первого порядка, интегрирования функций на конечных и бесконечных интервалах. Этот список можно легко расширить, используя язык Octave (или используя динамически загружаемые модули, созданные на языках C, С++, Фортран и др.).
Содержание |
Octave — интерпретируемый язык программирования. Он похож на C и поддерживает большинство основных функций стандартной библиотеки C, а также основные команды и системные вызовы Unix. С другой стороны, он не поддерживает передачу аргументов по ссылке (особенность дизайна).
Синтаксис языка очень похож на MATLAB, и грамотно написанные скрипты будут запускаться как в Octave, так и в MATLAB.
Графический интерфейс представлен дополнениями (графики он может выводить и без них):
Интерфейс командной строки Octave построен с использованием библиотеки GNU Readline, что дает доступ к таким обычным возможностям последней, как автодополнение по клавише Tab ⇆ , история команд и инкрементальный поиск по ней ( Ctrl + R , Ctrl + S ), возможность переопределения клавиш, и т. д.
Выражения 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());
Octave был написан с учётом совместимости с MATLAB и реализует многие его возможности:
Но есть и отличия:
Проект GNU | ||
---|---|---|
История | ||
Лицензии | ||
Программное обеспечение |
||
Персоналии | ||
Другие темы |
Свободное и открытое программное обеспечение | |
---|---|
Главное | |
История |
GNU • Linux • Mozilla (Application Suite • Firefox • Thunderbird) |
Организации |
ASF • AOSP • Blender Foundation • Eclipse Foundation • FreeBSD Foundation • freedesktop.org • FSF • FSMI • GNOME Foundation • Проект GNU • Google Code • KDE e.V. • Linux Foundation • Mozilla Foundation • OSGF • OSI • ReactOS Foundation • Software Freedom Conservancy • SourceForge • Symbian Foundation • The Document Foundation • Xiph.Org • XMPP Standards Foundation • X.Org Foundation |
Лицензии |
Apache • Artistic • Beerware • BSD • GNU GPL • GNU LGPL • ISC • MIT • MPL • Ms-PL/RL • zlib • Public domain / CC0 • WTFPL • Лицензии, одобренные FSF • Пермиссивные лицензии • Разнообразие лицензий |
Проблемы | |
Прочее |
Математическое программное обеспечение | |
---|---|
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 |
GNU Octave.