GNU Octave
| GNU Octave | |
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++ с использованием библиотек 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.
[править] Некоторые возможности
- Дополнение команд и переменных
При нажатии клавиши TAB, Octave попытается дополнить до полного имена переменной, функции и файлов (подобно автодополнению в Bash).
- История команд
В интерактивном режиме, Octave сохраняет набранные команды во внутреннем буфере, так что их можно вызвать заново и редактировать.
- Интеграция с C++
Программы, написанные на C++, можно запускать внутри скриптов Octave. К примеру, фрагмент кода для вызова rand([9000,1]):
#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 на русском языке на сайте Е.Р. Алексеева, О.В. Чесноковой
|
|
||
|---|---|---|
| История | ||
| Лицензии | ||
| Программное обеспечение |
||
| Персоналии | ||
| Другие темы | ||
|
|
|
|---|---|
| Главное | |
| История |
Linux • Mozilla (Suite • Firefox • Thunderbird) • Revolution OS (фильм) |
| Разработка | |
| Организации | |
| Лицензии |
Apache • BSD • CDDL • GPL • LGPL • MIT • MPL • zlib • Пермиссивные лицензии • Разнообразие лицензий |
| Проблемы | |
|
|
|
|---|---|
| Символьные вычисления | Axiom • GAP • Macsyma • Maple • Mathcad • Mathematica • Maxima • SMath Studio |
| Численные вычисления | Fityk • FreeMat • GAUSS • GNU Octave • gretl • LabVIEW • LabPlot • MagicPlot • MATLAB • Origin • QtiPlot • R • Sage • SciDAVis • Scilab • SigmaPlot • Speakeasy • VisSim |

