LINUX.ORG.RU

Octave 4.0

 , , ,


5

5

GNU Octave — свободная система для математических вычислений, использующая совместимый с MATLAB язык высокого уровня.

В новой версии произошли следующие изменения, заметные пользователю:

  • Графический интерфейс пользователя, написанный с использованием библиотеки Qt, доведён до стабильного состояния и теперь используется по умолчанию. Данный интерфейс аналогичен применяемому в MATLAB и содержит файловый менеджер, таблицу для просмотра переменных и их значений, журнал команд, а также вкладки командной строки, редактора исходных кодов и справочной документации. Пример внешнего вида: снимок 1, снимок 2. Традиционный интерфейс командной строки также доступен при помощи стартового параметра --no-gui или через бинарный файл octave-cli.
  • Новый синтаксис для объектно-ориентированного программирования classdef.
  • Добавлен новый набор функций и классов для работы с аудиоданными.
  • Добавлены новые классы.
  • Добавлены новые функции.
  • Настраиваемое ужесточение совместимости с MATLAB при использовании диапазонов, диагональных и перестановочных матриц. Octave применяет внутренние оптимизации для минимизации занимаемой такими данными памяти. Три новые функции (disable_range, disable_diagonal_matrix. disable_permutation_matrix) позволяют выбирать хранение в оптимизированном виде или полными матрицами. Также возможно использование параметра --braindead при старте.
  • Изменения в функциях ismatrix(x), nextpow2, strfind, а также функциях для интерполяции данных в плане совместимости с MATLAB.
  • Переработаны функции для работы с архивами. Также изменено поведение по умолчанию: теперь все действия будут производиться в той же директории, что и архив или оригинальные файлы.
  • Доработки в функциях, повышение быстродействия некоторых из них.
  • Некоторые функции и классы, объявлены устаревшими и будут удалены в будущих версиях Octave.
  • Некоторые функции и классы, объявленные устаревшими в прошлых версиях Octave, были удалены.
  • Некоторые предупреждения и настройки теперь включены по умолчанию.
  • Переработаны некоторые предупреждения для повышения очевидности.
  • Изменено поведение некоторых тригонометрических функций для унификации с другими математическими пакетами.
  • Множество доработок для визуализации данных на экране и печати. Также при использовании графического интерфейса доступно отображение при помощи библиотеки Qt.
  • Поддержка OpenMP включена по умолчанию, что позволяет задействовать параллельные вычисления в скомпилированных oct-файлах.

Сайт проекта


Исходные коды Octave


Дополнительные пакеты Octave Forge


Подробный список изменений

★★★★★

Проверено: Shaman007 ()

Ответ на: комментарий от Axon

Там где нужна скорость можно после отладки на октаве переписать все на пистоне+NymPy+SciPy.

Но зачем, если можно сразу писать на пистоне+NymPy+SciPy?

нет нормального IDE. А комстрока убогая.

anonymous ()
Ответ на: комментарий от anonymous

Для IDE есть божественный PyCharm, теперь с поддержкой iPython Notebook.

тормозное гавно.

anonymous ()
Ответ на: комментарий от Vudod

А именно, если нужно проредить или обрезать данные. Или унжно извлечь по индексу в новом порядке.

И как здесь помогает именно нумерация с нуля? Можно конкретные примеры?

Или нужен предпоследний элемент.

killer-feature, да.

anonymous ()
Ответ на: комментарий от Axon

Тоже мне, проблема.

Некоторым и без рук жить не проблема - привыкли.

anonymous ()
Ответ на: комментарий от Vudod

Я таки подключуюсь к вопросу грубиана-анонимуса, какие именно проблемы в данном случае решает нумерация с нуля. Я тут поигрался с вопросом выдергивания предпоследнего элемента:

> a <- seq(from = 0, to = 10, by = 1)
> a
[1]  0  1  2  3  4  5  6  7  8  9 10

> a[length(a)-1]
[1] 9
 
> tail(a, 5)
[1]  6  7  8  9 10

Ну и так далее. По индексу в новом порядке я бы выдернул просто с помощью:

> idx <- c(5, 4, 6)
> a[idx]
[1] 4 3 5

Я не совсем вижу как мне в этом может помешать или помочь индексирование с нуля, так как к слайсингу оно слегка перпендикулярно.

ptarh ★★★★★ ()
Ответ на: комментарий от ptarh

грубиана-анонимуса

Hint: анонимусов обычно больше одного.

anonymous ()
Ответ на: комментарий от madarexxx

а подключать свои пакеты с реализацией?

ZERG ★★★★★ ()

Традиционный интерфейс командной строки также доступен при помощи стартового параметра --no-gui или через бинарный файл octave-cli.

я не против графического интерфейса, но лучше бы сделали octave-gui или octave --gui вместо такого.

h4tr3d ★★★★★ ()
Ответ на: комментарий от h4tr3d

Так было в версии 3.8, теперь он по умолчанию. Очень многие его хотела.

dinn ★★★★★ ()
Ответ на: комментарий от Bell

октава сливает по скорости, и к сожалению во многих вещах. Сам как-то напоролся - функция dir мягко говоря тормоз. Считывал ради теста /usr/lib - минут 30 (!) вроде. Написал засранцам патч-функцию что читает за 5 секунд - отказались с мотивацией что даже такие вещи как dir должны быть на встроенном языке, а не на си. В процессе вскрылись еще штук 5 функций-тормозов, но всем было как всегда

upcFrost ★★★★★ ()
Ответ на: комментарий от Bell

Я снёс Октаве случайно заметив, как он сливает Матлабу по скорости.

Держу Октав потому что его можно запустить за доли секунды, посчитать на нём что-нибудь простенькое и закрыть пока Матлаб только-только запустить все свои жирнющие потроха успеет. Надеюсь, все эти нововведения не сделают Октав таким же неповоротливым.

prischeyadro ★★★☆☆ ()
Ответ на: комментарий от anonymous

Но зачем прототипировать на октаве если можно сразу на пистоне + NumPy? По скорости кстати питон с NumPy примерно эквивалентен матлабу. Где-то замеры были.

А так неплохая штуковина, жаль что он скорее будет полезен только тем кто привык под матлабом работать с его синтаксисом.

Lamobot ()
Ответ на: комментарий от Eddy_Em

P.S. У нас многие сидят на IDL, но мне эта проприетарщина не нравится: во-первых, легальную версию поставить мне так и не удалось (не хочет ключ регистрироваться), а пиратщину в линукс тащить — как-то некомильфо; во-вторых, еще один как-бы-ЯП учить совершенно не хочется. Хотя, несомненно, больше готовых пакетов, чем под IDL, вряд ли где найдешь. Там практически не нужно велосипедить.

Eddy_Em ☆☆☆☆☆ ()
Ответ на: комментарий от Eddy_Em

P.P.S. Сейчас сижу, бьюсь с графиками в октаве: для статьи надо их пожирней сделать, шрифт покрупней и надписи покрасивше. Мучение сплошное с этим гнуплотовским интерфейсом октавы. А в самом гнуплоте вообще черт ногу сломит.

Eddy_Em ☆☆☆☆☆ ()
Ответ на: комментарий от Eddy_Em

Eddy_Em> Еще бы CUDA запилили для тяжелых вычислений.

Не запилят. Для CUDA проще отдельно писать программку, чем адаптировать эту штуковино под Octave.

Quasar ★★★★★ ()
Ответ на: комментарий от Bell

Bell> Я снёс Октаве случайно заметив, как он сливает Матлабу по скорости.

Если речь идёт о скорости вычислений, то и MATLAB надо выкидывать, и писать на чистом C.

Quasar ★★★★★ ()
Ответ на: комментарий от Eddy_Em

Eddy_Em> Т.к. октава, в отличие от матлаба, не умеет создавать предварительно скомпилированный бинарь

Для этого есть gcc, который octave и использует.

Eddy_Em> Правда, если у октавы запилят гуйню, которую нельзя будет отключить, то придется мне перестать ее обновлять.

Неотключаемую не запилят, так как octave на кластерах тоже гонять можно, а этим жертвовать в здравом уме никто не захочет.

Quasar ★★★★★ ()
Ответ на: комментарий от ptarh

Но сия прелесть - это киллерфича октавы, которая имеет огромное практическое значение.

Quasar ★★★★★ ()
Ответ на: комментарий от anonymous

SciLab, например. Но он несовместим с MATLAB и не знаю я, насколько оно производительно.

Quasar ★★★★★ ()
Ответ на: комментарий от anonymous

R заточен под статистику, да. Но там можно много чего делать в принципе.

Quasar ★★★★★ ()
Ответ на: комментарий от ptarh

ptarh> Это слабый аргумент. Совместимость там так себе, ибо вся сила матлаба в тулбоксах и годной документации

На данный момент у Octave самая лучшая совместимость с MATLAB, так как ряд тулбоксов для матлаба там уже работает, но зачастую с ограничениями из-за отсутствия GUI. Надеюсь, сейчас это исправили.

Quasar ★★★★★ ()
Ответ на: комментарий от Axon

Есть проблема в виде коллективов, которые кроме матлаба ничего не признают. Увы, с ними приходится считаться как с пользователями MS Вёрд.

Quasar ★★★★★ ()
Ответ на: комментарий от Axon

Потому, что если делать в конечном итоге всё на одном инструменте, то часть функциональности придётся дописывать. А так всё есть и кое-как можно это всё связать, сделав тем самым референсную реализацию. А потом доводить до кондиции с единым инструментом и сравнением с референсом.

Quasar ★★★★★ ()
Ответ на: комментарий от Quasar

Функции для создания GUI-диалогов

Ну это уж совсем нафиг не нужно! Смысл? Если ты хочешь standalone приложение запилить, так и пили его на сях и каком-нибудь wxwidgets/motif/etc, а нафига это в октаве? Она ж тормозная шописец, только для одноразовых простых вычислений и годится...

Eddy_Em ☆☆☆☆☆ ()
Ответ на: комментарий от dinn

В матлабе и так средства гуя убийственно убогие, так в октаве и их даже нет. С другой стороны, я понимаю, что мало у кого рука повернётся повторять этот ужас.

nezamudich ★★ ()
Ответ на: комментарий от nezamudich

С версии 3.8 в octave строен java-интерфейс, да и вроде раньше люди делали gui на java.

dinn ★★★★★ ()
Ответ на: комментарий от nezamudich

в матлабе можно замутить гуй как в дельфи, но громоздко, да

anonymous ()
Ответ на: комментарий от unanimous

Тонны матлабовского кода как раз перепишут. Ровно так, как с Delphi вышло.

Quasar ★★★★★ ()
Ответ на: комментарий от ptarh

ptarh> Исключение, пожалуй, Simulink, ему аналогов нет.

Есть полноценный аналог в SciLab. Не Python/R, да. Но и задачи иные.

Quasar ★★★★★ ()
Ответ на: комментарий от ptarh

Исключение, пожалуй, Simulink, ему аналогов нет.

В некоторых областях вполне можно gnuradio использовать, хотя это скорее как замена labview.

dinn ★★★★★ ()
Ответ на: комментарий от ptarh

Да какая разница, сколько строк, если всё упирается не в их количество, а в тщательную доработку графика?

Quasar ★★★★★ ()
Ответ на: комментарий от rogerw

в каких областях деятельности делают такие штуки?

Не очень понял вопрос, но R, Python, Matlab используют в любой научной деятельности, обработке данных и т.д. А Питон еще и по-всякому по-другому. Например, он популярен на вводных курсах программирования и вообще везде, где надо что-то запрограммировать быстро и бесплатно.

Bell ()
Ответ на: комментарий от Quasar

Если речь идёт о скорости вычислений, то и MATLAB надо выкидывать, и писать на чистом C.

А еще лучше - на чистом Фортране :)

Я его снес не из-за скорости, просто скорость стала последней каплей. В основном из-за неудобной среды и отсутствия нужного функционала. ptarh написал про это точно.

Bell ()
Ответ на: комментарий от Quasar

Лучше строками дорабатывать график, вместо того, чтобы его теми же строками «нарабатывать». Тем более, что темы никто не отменял, палитры уже готовые.

ptarh ★★★★★ ()
Ответ на: комментарий от ptarh

Исключение, пожалуй, Simulink, ему аналогов нет.

Симулинку-то нет аналогов? Так было лет 10 назад, сейчас полно всякой дряни, начиная от AMESim, Dymola и SystemModeler, заканчивая Xcos и OpenModelica. OMEdit последнего рекомендую к ознакомлению.

nezamudich ★★ ()
Ответ на: комментарий от nezamudich

Посмотрел внимательнее. Тащемта, симулинку всегда были альтернативы. Свободных не было, но сейчас уже и они есть.

nezamudich ★★ ()
Ответ на: комментарий от Quasar

Увы, с ними приходится считаться как с пользователями MS Вёрд.

А на хрена? Открыл их убожество либреофисом, тяп-ляп и послал назад. Форматирование поплыло? Ничё не знаю, это глюки мелкомягких и несовместимость разных версий ворда. Исправляйте как хотите.

anonymous ()
Ответ на: комментарий от Eddy_Em

Eddy_Em> Ну это уж совсем нафиг не нужно! Смысл?

Без этой возможности не все тулбоксы работают. Есть очень нужный, который лучше запускать с использованием GUI.

Quasar ★★★★★ ()
Ответ на: комментарий от anonymous

anonymous> А на хрена? Открыл их убожество либреофисом, тяп-ляп и послал назад. Форматирование поплыло? Ничё не знаю, это глюки мелкомягких и несовместимость разных версий ворда. Исправляйте как хотите.

У менябыл случай, когда в редакции журнала оказались недовольны сохранённым в вёрде документе формата DOC. В итоге я взял текст, скопипастил в LO и отослал в том же DOC - претензий больше не было.

И да - «форматирование поплыло» это и есть считаться. Если поплывёт и «я ничего сделать не могу с этим», то просто пошлют. Ибо дебилы.

Quasar ★★★★★ ()

Стремление Octavia походить на Матлаб чем-то напоминает ReactOS по отношению к Windows

Stalin ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.