GNU Octave 4.3.0+ работает в Linux | |
Разработчики) | Джон У. Итон и многие другие [1] |
---|---|
изначальный выпуск | 1988 |
Стабильный выпуск | 6.1.0 [2] / 26 ноября 2020 г . |
Предварительный выпуск | 6.0.90a / 28 августа 2020 г . [3] |
Репозиторий | |
Написано в | C , C ++ , Fortran [4] |
Операционная система | Windows , macOS , Linux , BSD |
Доступно в | 19 языков [ необходима ссылка ] |
Тип | Научные вычисления |
Лицензия | GNU GPLv3 |
Интернет сайт | gnu |
GNU Octave - это программное обеспечение с языком программирования высокого уровня , предназначенное в первую очередь для численных вычислений . Octave помогает в численном решении линейных и нелинейных задач, а также для выполнения других численных экспериментов с использованием языка, который в основном совместим с MATLAB . Он также может использоваться как язык, ориентированный на пакетную обработку . Поскольку это часть проекта GNU , это бесплатное программное обеспечение в соответствии с условиями Стандартной общественной лицензии GNU .
Другие бесплатные альтернативы MATLAB включают Scilab и FreeMat . [5] [6] [7] [8] Octave более совместим с MATLAB, чем Scilab [5] [9] [10], а FreeMat не обновлялся с июня 2013 года. [11]
История [ править ]
Проект был задуман примерно в 1988 году. [12] Сначала он задумывался как дополнение к курсу проектирования химических реакторов. Настоящая разработка была начата Джоном У. Итоном в 1992 году. Первый альфа-релиз датируется 4 января 1993 года, а 17 февраля 1994 года была выпущена версия 1.0. Версия 4.0.0 была выпущена 29 мая 2015 года.
Программа названа в честь Октава Левеншпиля , бывшего профессора и главного автора. Левеншпиль был известен своей способностью выполнять быстрые вычисления за пределами конверта . [13]
История развития [ править ]
Время | Действие |
---|---|
1988/1989 | 1-е обсуждение (книга и программное обеспечение) |
Февраль 1992 г. | Начало разработки |
Январь 1993 | Новости в Интернете (версия 0.60) |
Февраль 1994 | 1-я публикация (версии с 1.0.0 по 1.1.1) [14] |
Декабрь 1996 г. | 2-я публикация (версия 2.0.x) с портом Windows ( Cygwin ) [15] |
Март 1998 г. | Версия 2.1 |
Ноябрь 2004 г. | Версия 2.9 (DEV-версия 3.0) [16] |
Декабрь 2007 г. | Публикация версии 3.0 (Milestone) [17] |
Июнь 2009 г. | Публикация версии 3.2 (Milestone) [18] |
8 февраля 2011 г. | Версия 3.4.0 (Milestone) [19] |
22 февраля 2012 г. | Публикация Octave 3.6.1 (Milestone) [20] [21] |
31 декабря 2013 г. | Публикация Octave 3.8.0 (экспериментальный графический интерфейс) [22] [23] [24] |
29 мая 2015 | Версия 4.0.0 (стабильный графический интерфейс и новый синтаксис для ООП ) [25] [26] [27] [28] |
14 ноября 2016 г. | Версия 4.2.0 (gnuplot 4.4+) [29] [30] [31] [32] |
30 апреля 2018 г. | Версия 4.4.0 (новая цель для GUI QT Toolkit, инструментарий FLTK не является устаревшим, и нет графика для его удаления - хотя он больше не имеет приоритета) [33] [34] [35] |
1 марта 2019 г. | Публикация Octave 5.1.0 (предпочтительно QT5) [36] |
31 января 2020 г. | Публикация Octave 5.2.0 (предпочтительно QT5) [37] |
26 ноября 2020 г. | Публикация Octave 6.1.0 (предпочтительно QT5) [38] |
События [ править ]
Помимо использования на настольных компьютерах для персональных научных вычислений, Octave используется в академических кругах и промышленности. Например, Octave использовался на массивном параллельном компьютере в Питтсбургском суперкомпьютерном центре для поиска уязвимостей, связанных с угадыванием номеров социального страхования. [39]
Значительное ускорение с OpenCL или CUDA также возможно с использованием графических процессоров. [40]
Технические детали [ править ]
- Octave написан на C ++ с использованием стандартной библиотеки C ++ .
- Octave использует интерпретатор для выполнения скриптового языка Octave.
- Octave расширяется с помощью динамически загружаемых модулей.
- Интерпретатор Octave имеет графический движок на основе OpenGL для создания графиков, графиков и диаграмм, а также для их сохранения или печати. В качестве альтернативы для той же цели можно использовать gnuplot .
- Octave включает графический интерфейс пользователя (GUI) в дополнение к традиционному интерфейсу командной строки (CLI); подробнее см. # Пользовательские интерфейсы .
Октава, язык [ править ]
Язык Octave - это интерпретируемый язык программирования. Это язык структурированного программирования (похожий на C ), который поддерживает многие стандартные функции библиотеки C , а также некоторые системные вызовы и функции UNIX . [41] Однако он не поддерживает передачу аргументов по ссылке. [42]
Программы Octave состоят из списка вызовов функций или сценария . Синтаксис основан на матрице и предоставляет различные функции для матричных операций. Он поддерживает различные структуры данных и позволяет объектно-ориентированное программирование . [43]
Его синтаксис очень похож на MATLAB, и тщательное программирование скрипта позволит ему работать как в Octave, так и в MATLAB. [44]
Поскольку Octave предоставляется под Стандартной общественной лицензией GNU , ее можно свободно изменять, копировать и использовать. [13] Программа работает в Microsoft Windows и большинстве Unix и Unix-подобных операционных систем , включая Linux и macOS . [45] [46]
Примечательные особенности [ править ]
Завершение имени команды и переменной [ править ]
Пишем символ табуляции в командной строке заставляет Octave пытаться полной переменной, функции и имена файлов ( по аналогии с Bash «s автодополнению ). Octave использует текст перед курсором как начальную часть имени для завершения. [47]
История команд [ править ]
При работе в интерактивном режиме Octave сохраняет набранные команды во внутреннем буфере, чтобы их можно было вызывать и редактировать.
Структуры данных [ править ]
Octave включает ограниченный объем поддержки для организации данных в структурах. В этом примере мы видим структуру «x» с элементами «a», «b» и «c» (целое число, массив и строка соответственно):
октава : 1 > x . а = 1 ; х . б = [ 1 , 2 ; 3 , 4 ]; х . c = "строка" ; октава : 2 > x . a ans = 1 октава : 3 > x . b ans = 1 2 3 4октава : 4 > x . c ans = струнная октава : 5 > x x = { a = 1 b = 1 2 3 4 c = строка }
Логические операторы короткого замыкания [ править ]
Логические операторы Octave ' &&
' и ' ||
' оцениваются методом короткого замыкания (как соответствующие операторы в языке C ), в отличие от поэлементных операторов ' ' и ' '.&
|
Операторы увеличения и уменьшения [ править ]
Octave включает в себя C-подобные операторы увеличения и уменьшения ' ++
' и ' --
' как в их префиксной, так и в постфиксной форме. Octave также выполняет расширенные присваивания , например ' x += 5
'.
Расслабьтесь-защитите [ править ]
Октав поддерживает ограниченную форму обработки исключений моделируется после « unwind_protect» в Лиспе . Общий вид блока unwind_protect выглядит так:
unwind_protect body unwind_protect_cleanup cleanup end_unwind_protect
Как правило, GNU Octave распознает как завершение заданного « block
либо ключевого слова end
» (которое совместимо с языком MATLAB), либо более конкретного ключевого слова ». Как следствие, блок может быть завершен либо ключевым словом ' ', как в примере, либо более переносимым ключевым словом ' '.end_block
unwind_protect
end_unwind_protect
end
Очистки часть блока всегда выполняется. В случае, если часть тела вызывает исключение , очистка выполняется непосредственно перед распространением исключения за пределы блока ' unwind_protect
'.
GNU Octave также поддерживает другую форму обработки исключений (совместимую с языком MATLAB):
попробуйте body catch exception_handling end
Эта последняя форма отличается от unwind_protect
блока двумя способами. Во-первых, exception_handling выполняется только тогда, когда исключение вызывается телом . Во-вторых, после выполнения exception_handling исключение не распространяется за пределы блока (если оператор ' rethrow( lasterror )
' явно не вставлен в код exception_handling ).
Списки аргументов переменной длины [ править ]
Octave имеет механизм обработки функций, которые принимают неопределенное количество аргументов без явного верхнего предела. Чтобы указать список из нуля или более аргументов, используйте специальный аргумент varargin
как последний (или единственный) аргумент в списке.
функция s = плюс ( varargin ) если ( nargin == 0 ) s = 0 ; иначе s = вараргин { 1 } + плюс ( вараргин { 2 : наргин }); конец конец
Списки возврата переменной длины [ править ]
Функцию можно настроить так, чтобы она возвращала любое количество значений, используя специальное возвращаемое значение varargout
. Например:
Функция varargout = multiassign ( данные ) для k = 1 : nargout varargout { k } = data (:, k ); конец конец
Интеграция с C ++ [ править ]
Также возможно выполнить код Octave непосредственно в программе на C ++. Например, вот фрагмент кода для вызова rand([10,1])
:
#include <octave / oct.h>... ColumnVector NumRands ( 2 ); NumRands ( 0 ) = 10 ; NumRands ( 1 ) = 1 ; octave_value_list f_arg , f_ret ; f_arg ( 0 ) = octave_value ( NumRands ); f_ret = feval ( "ранд" , f_arg , 1 ); Матрица unis ( f_ret ( 0 ). Matrix_value());
Код C и C ++ может быть интегрирован в GNU Octave путем создания файлов oct или использования файлов MEX, совместимых с MATLAB .
Совместимость с MATLAB [ править ]
Octave был построен с учетом совместимости с MATLAB и имеет много общих функций с MATLAB:
- Матрицы как фундаментальный тип данных.
- Встроенная поддержка комплексных чисел.
- Мощные встроенные математические функции и обширные библиотеки функций.
- Расширяемость в виде пользовательских функций.
Octave рассматривает несовместимость с MATLAB как ошибку ; следовательно, его можно рассматривать как клон программного обеспечения , который не нарушает авторских прав на программное обеспечение согласно судебному делу Lotus против Borland .
Скрипты MATLAB из репозитория MathWorks FileExchange в принципе совместимы с Octave. Однако, в то время как они часто обеспечиваются и загружены пользователями под Octave совместимой и надлежащей открытым исходный код лицензии BSD , в fileexchange в Условии использования запретить любое использование ряда MathWorks' патентованного MATLAB. [48] [49] [50]
Совместимость синтаксиса [ править ]
Есть несколько целенаправленных, хотя и незначительных, синтаксических дополнений :
- Строки комментариев могут иметь префикс как символа #, так и символа%;
- Поддерживаются различные операторы на основе C ++ , - , + = , * =, / =;
- На элементы можно ссылаться без создания новой переменной путем каскадного индексирования, например [1:10] (3);
- Строки могут быть определены с помощью символа двойной кавычки, а также символа одиночной кавычки;
- Когда тип переменной - single (число с плавающей запятой одинарной точности), Octave вычисляет « среднее » в однодоменном (MATLAB в двойном домене ), что быстрее, но дает менее точные результаты;
- Блоки также могут оканчиваться более конкретными ключевыми словами структуры управления , например endif, endfor, end while и т. Д .;
- Функции могут быть определены в сценариях и в приглашении Octave;
- Наличие цикла do-while (аналогично do-while в C).
Совместимость функций [ править ]
Многие, но не все, многочисленные функции MATLAB доступны в GNU Octave, некоторые из них доступны через пакеты в Octave Forge . Функции, доступные как часть основных пакетов Octave или Forge, перечислены в Интернете .
Список недоступных функций включен в функцию Octave __unimplemented.m__ . Нереализованные функции также перечислены во многих пакетах Octave Forge в Octave Wiki .
Когда вызывается нереализованная функция, отображается следующее сообщение об ошибке:
октава : 1 > руководство предупреждение : «руководство» функция является не еще реализована в октаве Пожалуйста , прочтите < HTTP : // WWW . октава . org / отсутствует . html >, чтобы узнать, как вы можете внести свой вклад в недостающие функции . ошибка : 'руководство' undefined около строки 1 столбца 1
Пользовательские интерфейсы [ править ]
Octave поставляется с официальным графическим пользовательским интерфейсом (GUI) и интегрированной средой разработки (IDE) на основе Qt . Он был доступен с Octave 3.8, [51] и стал интерфейсом по умолчанию (поверх интерфейса командной строки ) с выпуском Octave 4.0. [52] Это было хорошо принято участником EDN, который сказал: «[Octave] теперь имеет очень работоспособный графический интерфейс». [53]
Также было разработано несколько сторонних графических интерфейсов, например ToolboX для обучения программированию.
Приложения с графическим интерфейсом [ править ]
С помощью кода Octave пользователь может создавать приложения с графическим интерфейсом [1] . Вот несколько примеров:
Кнопка, элемент управления, флажок
# создаем фигуру и панно на ней f = figure ; # создать кнопку (стиль по умолчанию) b1 = uicontrol ( f , "строка" , "Кнопка" , "позиция" , [ 10 10 150 40 ]); # создать элемент управления редактирования e1 = uicontrol ( f , «стиль» , «редактировать» , «строка» , «редактируемый текст» , «позиция» , [ 10 60 300 40 ]);# создать флажокc1 = uicontrol ( f , «стиль» , «флажок» , «строка» , «флажок» , «позиция» , [ 10 120 150 40 ]);
Текстовое окно
prompt = { "Ширина" , "Высота" , "Глубина" }; по умолчанию = { "1.10" , "2.20" , "3.30" }; rowscols = [ 1 , 10 ; 2 , 20 ; 3 , 30 ]; dims = inputdlg ( приглашение , «Введите размеры коробки» , строки , значения по умолчанию );
Список с окнами сообщений.
my_options = { "элемент" , "другой" , "еще один" }; [ sel , ok ] = listdlg ( "ListString" , my_options , "SelectionMode" , "Несколько" ); if ( ok == 1 ) msgbox ( "Вы выбрали:" ); для i = 1 : numel ( sel ) msgbox ( sprintf ( "\ t% s" , my_options { sel ( i )})); endfor else msgbox ( "Вы отменили." ); endif
Радио-кнопки
# создаем фигуру и панно на ней f = figure ; # создать группу кнопок gp = uibuttongroup ( f , "Position" , [ 0 0,5 1 1 ]) # создать кнопку в группе b1 = uicontrol ( gp , "style" , "radiobutton" , "string" , "Choice 1 " , " Позиция " , [ 10 150 100 50 ]); b2 = uicontrol ( gp, «стиль» , «радиокнопка» , «строка» , «Вариант 2» , «Позиция» , [ 10 50 100 30 ]); # создаем кнопку не в группе b3 = uicontrol ( f , "style" , "radiobutton" , "string" , "Not in the group" , "Position" , [ 10 50 100 50 ]);
Пакеты [ править ]
Octave также предлагает бесплатные пакеты. Эти пакеты находятся в Octave-Forge [2] . Доступные пакеты:
- bim - Пакет для решения дифференциальных уравнений в частных производных с реакцией диффузии и адвекции (DAR)
- bsltl - Пакет BSLTL представляет собой бесплатный набор процедур OCTAVE / MATLAB для работы с методом биоспекл-лазера.
- cgi - Общий интерфейс шлюза для Octave
- коммуникации - цифровая связь, коды исправления ошибок (код канала), функции исходного кода, модуляция и поля Галуа
- control - Инструменты автоматизированного проектирования систем управления (CACSD) для GNU Octave, основанные на проверенной библиотеке SLICOT
- data-smoothing - Алгоритмы сглаживания зашумленных данных
- база данных - интерфейс с базами данных SQL, в настоящее время только postgresql с использованием libpq
- dataframe - набор инструментов для работы с данными, аналогичный данным R
- dicom - Цифровые коммуникации в медицине (DICOM), файл io
- divand - divand выполняет n-мерный вариационный анализ (интерполяцию) произвольно расположенных наблюдений
- doctest - пакет Octave-Forge Doctest находит специально отформатированные блоки примера кода в файлах документации.
- эконометрика - функции эконометрики, включая методы на основе MLE и GMM
- fem-fenics - pkg для разрешения дифференциальных уравнений в частных производных на основе fenics
- финансовые - моделирование Монте-Карло, процедуры ценообразования опционов, финансовые манипуляции, функции построения графиков и дополнительные инструменты манипулирования датами
- подходит - пакет Octave-FITS предоставляет функции для чтения и записи файлов FITS (гибкая система передачи изображений)
- fpl - набор процедур для экспорта данных, созданных с помощью моделирования конечных элементов или конечного объема, в форматах, используемых некоторыми программами визуализации.
- набор инструментов нечеткой логики - в основном совместимый с MATLAB набор инструментов нечеткой логики для Octave (не устанавливается из-за давней ошибки [54] )
- ga - код генетической оптимизации
- general - Общие инструменты для Octave
- generate_html - этот пакет предоставляет функции для генерации HTML-страниц, содержащих тексты справки для набора функций.
- geometry - Библиотека для геометрических вычислений, расширяющая функции MatGeom
- gsl - привязки Octave к научной библиотеке GNU
- image - Пакет Octave-forge Image предоставляет функции для обработки изображений
- получение изображений - пакет Octave-forge Image Acquisition предоставляет функции для захвата изображений с подключенных устройств
- instrument-control - функции ввода-вывода низкого уровня для интерфейсов последовательного, i2c, параллельного, tcp, gpib, vxi11, udp и usbtmc
- interval - Пакет интервалов для вещественной интервальной арифметики позволяет оценивать функции по подмножествам их области
- io - ввод / вывод во внешних форматах, например Excel
- level-set - процедуры для расчета временной эволюции уравнения набора уровней и извлечения геометрической информации из функции набора уровней
- linear-algebra - Дополнительный код линейной алгебры, включая общие SVD и матричные функции
- lssa - Пакет, реализующий инструменты для вычисления спектральных разложений временных рядов с нерегулярными интервалами
- ltfat - Large Time / Frequency Analysis Toolbox (LTFAT) - это набор инструментов MATLAB / Octave для работы с частотно-временным анализом, вейвлетами и обработкой сигналов.
- отображение - Простое отображение и функции ГИС .shp и растровых файлов
- mataveid - Пакет идентификации системы как для MATLAB, так и для GNU Octave
- matavecontrol - Панель инструментов управления для MATLAB и GNU Octave
- разное - разные инструменты, которые больше нигде не поместятся
- mpi - привязки Octave для основных функций интерфейса передачи сообщений (MPI) для параллельных вычислений
- msh - Создание и управление треугольными и тетраэдральными сетками для решателей конечных элементов или конечных объемов.
- mvn - многомерная кластеризация с нормальным распределением и функции полезности
- nan - набор инструментов для статистики и машинного обучения для данных с пропущенными значениями и без них.
- ncarray - доступ к одному или нескольким файлам NetCDF как к многомерному массиву
- netcdf - совместимый с MATLAB интерфейс NetCDF для Octave
- nurbs - Сборник процедур для создания и управления неоднородными рациональными B-сплайнами (NURBS) на основе набора инструментов NURBS от Марка Спинка
- ocs - Пакет для решения уравнений постоянного и переходного электрических цепей
- octclip - этот пакет позволяет пользователям выполнять логические операции с полигонами, используя алгоритм Грейнера-Хормана.
- octproj - этот пакет позволяет пользователям вызывать функции PROJ
- optics - Функции, охватывающие различные аспекты оптики
- optim - инструментарий нелинейной оптимизации
- optiminterp - Оптимальный набор инструментов интерполяции для октавы
- parallel - Пакет параллельного выполнения
- quaternion - пакет Quaternion для GNU Octave, включает класс quaternion с перегруженными операторами
- организация очередей - пакет очередей предоставляет функции для анализа сетей массового обслуживания и цепей Маркова.
- secs1d - Симулятор дрейфа-диффузии для полупроводниковых приборов 1d
- secs2d - Симулятор дрейфа-диффузии для двумерных полупроводниковых устройств.
- secs3d - Симулятор дрейфа-диффузии для трехмерных полупроводниковых устройств.
- signal - Инструменты обработки сигналов, включая функции фильтрации, управления окнами и отображения
- сокеты - Функции сокетов для работы в сети из октавы
- sparsersb - Интерфейс к пакету librsb, реализующий формат разреженной матрицы RSB для быстрых вычислений разреженной матрицы с общей памятью
- splines - Дополнительные функции сплайна
- статистика - Дополнительные функции статистики для Octave
- stk - STK - это (не очень) небольшой набор инструментов для кригинга.
- strings - Дополнительные функции для обработки и анализа строк
- struct - Дополнительные функции управления структурой
- символический - Пакет Octave-Forge Symbolic добавляет функции символьных вычислений в GNU Octave
- tisean - Порт ТИСЕАН 3
- tsa - Стохастические концепции и методы максимальной энтропии для анализа временных рядов
- vibes - API VIBes позволяет легко отображать результаты (блоки, дорожные покрытия) от интервальных методов
- video - оболочка для libavformat и libavcodec ffmpeg, реализующая addframe, avifile, aviinfo и aviread
- vrml - 3D-графика с использованием VRML
- windows - Предоставляет COM-интерфейс и дополнительные функции в Windows
- zeromq - привязки ZeroMQ для GNU Octave
См. Также [ править ]
- Список программного обеспечения для численного анализа
- Сравнение программ численного анализа
- Список статистических пакетов
- Список числовых библиотек
Ссылки [ править ]
- ↑ Рик (10 июня 2015 г.). "Contributors.in" . Дата обращения 14 июня 2015 .
- ^ «Выпущен GNU Octave 6.1.0» . 26 ноября 2020 . Проверено 30 ноября 2020 .
- ^ "Индекс / gnu / octave" . alpha.gnu.org . Проверено 14 сентября 2020 .
- ^ "Здание - Октава" . wiki.octave.org . GNU . Дата обращения 1 мая 2018 .
- ^ a b Траппенберг, Томас (2010). Основы вычислительной нейронауки . Издательство Оксфордского университета. п. 361. ISBN. 978-0-19-956841-3.
- ^ Мухаммад, А; Зализняк, В (2011). Практические научные вычисления . Издательство Вудхед . п. 3 . ISBN 978-0-85709-226-7.
- ^ Мегрей, Бернард А .; Мокснесс, Эрленд (2008). Компьютеры в исследованиях рыболовства . Springer Science & Business Media. п. 345 . ISBN 978-1-4020-8636-6.
- ^ Kapuno, Рауль Raymond (2008). Программирование для инженеров-химиков с использованием C, C ++ и MATLAB . Издательство "Джонс и Бартлетт". п. 365. ISBN 978-1-934015-09-4.
- ^ Герман, Рассел Л. (2013). Курс математических методов для физиков . CRC Press. п. 42. ISBN 978-1-4665-8467-9.
- ^ Wouwer, Ален Ванде; Соусез, Филипп; Вилас, Карлос (2014). Моделирование моделей ODE / PDE с помощью MATLAB, Octave и Scilab: научные и инженерные приложения . Springer. С. 114–115. ISBN 978-3-319-06790-2.
- ^ "FreeMat" . freemat.sourceforge.net . Проверено 22 февраля 2020 .
- ^ "О GNU Octave" . www.gnu.org . GNU . Дата обращения 1 мая 2018 .
- ^ a b Итон, Джон В. «О Октаве» . Проверено 28 июня 2009 .
- ^ https://www.gnu.org/software/octave/NEWS-1.html
- ^ https://www.gnu.org/software/octave/NEWS-2.html
- ^ https://www.gnu.org/software/octave/news/2012/12/31/news-archive.html
- ^ https://www.gnu.org/software/octave/NEWS-3.html
- ^ https://www.gnu.org/software/octave/NEWS-3.2.html
- ^ https://www.gnu.org/software/octave/NEWS-3.4.html
- ^ https://www.gnu.org/software/octave/NEWS-3.6.html
- ^ https://www.gnu.org/software/octave/news/release/2013/02/21/octave-3.6.4-released.html
- ^ https://www.gnu.org/software/octave/NEWS-3.8.html
- ^ https://www.gnu.org/software/octave/news/release/2013/12/31/octave-3.8.0-released.html
- ^ https://www.gnu.org/software/octave/news/release/2014/03/04/octave-3.8.1-released.html
- ^ https://www.gnu.org/software/octave/NEWS-4.0.html
- ^ https://www.gnu.org/software/octave/news/release/2015/05/29/octave-4.0.0-released.html
- ^ https://www.gnu.org/software/octave/news/release/2016/03/23/octave-4.0.1-released.html
- ^ https://www.gnu.org/software/octave/news/release/2016/07/02/octave-4.0.3-released.html
- ^ https://www.gnu.org/software/octave/news/2016/11/14/octave-4.2.0-released.html | text = Примечания к выпуску версии 4.2.0}}
- ^ https://www.gnu.org/software/octave/NEWS-4.2.html
- ^ https://www.gnu.org/software/octave/news/release/2017/02/24/octave-4.2.1-released.html
- ^ https://www.gnu.org/software/octave/news/release/2018/03/13/octave-4.2.2-released.html
- ^ https://www.gnu.org/software/octave/NEWS-4.4.html
- ^ https://www.gnu.org/software/octave/news/release/2018/04/30/octave-4.4.0-released.html
- ^ https://www.gnu.org/software/octave/news/release/2018/08/09/octave-4.4.1-released.html
- ^ https://www.gnu.org/software/octave/NEWS-5.1.html
- ^ https://www.gnu.org/software/octave/news/release/2020/01/31/octave-5.2.0-released.html
- ^ https://www.gnu.org/software/octave/news/release/2020/11/26/octave-6.1.0-released.html
- ^ «Результаты уязвимости номеров социального страхования, основанные на суперкомпьютерах» . 8 июля 2009 года Архивировано из оригинала 29 февраля 2012 года.
- ^ https://devblogs.nvidia.com/parallelforall/drop-in-acceleration-gnu-octave/
- ^ «GNU Octave - Управление подпроцессами» . 14 ноября 2008 года Архивировано из оригинала 7 января 2009 года . Проверено 28 января 2009 .
- ^ "GNU Octave" . Проверено 28 января 2009 .
- ^ «Сводка важных видимых пользователем изменений в версии 3.2» . Проверено 5 января 2012 .
- ^ "FAQ: Совместимость с MATLAB" . Проверено 4 апреля 2009 .
- ^ "FAQ: Получение Octave" . Проверено 4 апреля 2009 .
- ^ https://octave.org/doc/interpreter/
- ^ Итон, Джон У. «Предоставление вам текста для чтения» . Справочное руководство GNU Octave .
- ^ Почему я не могу использовать код из File Exchange в Octave? Он выпущен под лицензией BSD! на octave.org
- ^ Условия использования на mathworks.com « Отправляемый вами контент не должен напрямую конкурировать с продуктами, предлагаемыми MathWorks. Контент, отправленный в File Exchange, может использоваться только с продуктами MathWorks».
- ^ Часто задаваемые вопросы о переходе на лицензирование обмена файлами на сайте mathworks.com
- ^ «Сводка важных видимых пользователем изменений в версии 3.8» .
- ^ «Сводка важных видимых пользователем изменений в версии 4.0» .
- ↑ GNU Octave на высокой ноте - Стив Хагеман, 7 февраля 2014 г.
- ^ https://savannah.gnu.org/search/?words=fuzzy-logic-toolkit&type_of_search=bugs&Search=Search&exact=1#options
Дальнейшее чтение [ править ]
- Хансен, Джеспер Шмидт (июнь 2011 г.). GNU Octave. Руководство для начинающих . Packt Publishing . ISBN 978-1-849-51332-6.
Внешние ссылки [ править ]
Викискладе есть медиафайлы по теме GNU Octave . |
В Викиучебнике есть книга по теме: Учебник по программированию на октаве. |
- Официальный веб-сайт