GNU Octave

GNU Octave
GNU Octave
Gnu-octave.png
GNU Octave with Octave Workshop GUI
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, С++, Фортран и др.).

Содержание

Технические детали

  • 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  (рус.) на Xgu.ru — русскоязычная информация о GNU Octave
  • [1]  (рус.) немного переводов и статей
  • [2]  (рус.) Тестирование быстродействия MATLAB и GNU/Octave
  • [3]  (рус.) Полное описание GNU Octave на русском языке на сайте Е.Р. Алексеева, О.В. Чесноковой



Wikimedia Foundation. 2010.

Игры ⚽ Нужна курсовая?

Полезное


Смотреть что такое "GNU Octave" в других словарях:

  • GNU Octave — screenshot Developer(s) …   Wikipedia

  • GNU Octave — Octave avec l interface graphique Octave Works …   Wikipédia en Français

  • GNU Octave — Desarrollador John W. Eaton y colaboradores …   Wikipedia Español

  • GNU Octave — Aktuelle Version 3.4.3 (10. Oktober 2011) …   Deutsch Wikipedia

  • GNU Octave — Octave es un programa software libre para realizar cálculos numéricos, que es muy compatible con Matlab. Es parte de proyecto GNU. Nótese que Octave no es un sistema de álgebra computacional (). Octave es más bien una herramienta para realizar… …   Enciclopedia Universal

  • GNU TeXmacs — TeXmacs в Slackware 12 Операционная сист …   Википедия

  • GNU MCSim — Développeur Projet GNU Dernière version …   Wikipédia en Français

  • Octave Levenspiel — is an Emeritus professor of chemical engineering at Oregon State University. His principal interest has been chemical reaction engineering, a branch of chemical engineering studying the application of chemical reaction kinetics and physics to the …   Wikipedia

  • GNU TeXmacs — Basisdaten Entwickler GNU project Aktuelle Version …   Deutsch Wikipedia

  • Octave — hat verschiedene Bedeutungen: Octave ist ein männlicher Vorname. GNU Octave, eine Software zur numerischen Lösung mathematischer Probleme Die Abkürzung OCTAVE steht für: Operationally Critical Threat, Asset, and Vulnerability Evaluation, ein… …   Deutsch Wikipedia


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»