LINUX.ORG.RU

GNU Octave 3.6.0

 , , ,


0

3

Octave — это язык высокого уровня для численных вычислений, схожий с Matlab.

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

  • Для сборки теперь необходимо наличие библиотеки PCRE.
  • ARPACK, ранее включённый в исходные тексты Octave, был удалён из поставки. Теперь ARPACK необходимо ставить отдельно, чтобы работали такие функции как eigs и svds.
  • Многие бинарные операторы (.*, .^, +, -, ...) теперь выполняют автоматическое распространение (broadcasting) для операций над массивами. Например, промасштабировать столбцы матрицы с помощью элеменов вектора, можно с помощью выражения:
    rv .* M
    Подробнее об этом можно почитать в `info octave broadcasting`.
  • В Octave добавлен профайлер написанный в рамках GSoC. Воспользоваться им можно с помощью функций profile, profshow и profexplore.
  • Были переработаны функции отвечающие за статистические распределения. Для них на 75% уменьшено потребление памяти, а также улучшена совместимость с MatLab.
  • Функции strread, textscan и textread полностью переписаны и теперь почти полностью соответствуют аналогичным функциям из MatLab.
  • Все строковые функции из .m-файлов подверглись изменениям в сторону улучшения производительности или совместимости с Matlab'ом. Для некоторых случаев был продемонстрирован прирост производительности в 15-30 раз.
  • Функции работающие с Qhull (convhull, delaunay, voronoi) также были переписаны для большей совместимости с Matlab.
  • Обновлены и улучшены функции для работы с датой и временем.
  • Для большей совместимости с Matlab'ом в Octave добавлены функции для работы с настройками: addpref, getpref, ispref, rmpref, setpref.
  • Также для совместимости с Matlab'ом добавлены экспериментальные gui-функции. Например с помощью функции uigetfile можно вызвать графический диалог для выбора файла.
  • Octave стал распознавать parfor (параллельный цикл for) как правильное ключевое слово. Хотя на деле parfor работает так же как обычный for.
  • Традиционно, новая порция функций объявлена устаревшими, а некоторые, ранее объявленные устаревшими — удалены.

Полный список изменений
Дополнительные пакеты

>>> Сайт проекта

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

Мне кажется, различия между нами в основном в терминологии. Я считаю, что и моделирование и расчеты и много чего другого входят в понятие «исследования». Я думаю Вы и сами знакомы с кучей немаленьких библиотек / сред / фреймоворков на MATLAB-е, написание которых тоже является частью исследований. Навскидку: SPM, eeglab. Вполне себе исследовательские проекты, которые бы много выиграли от наличия в языке програмирования нормальных инструментов (того же «by reference»). Одна только сага про проблемы с памятью на eeglab-овском форуме чего стоит.

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

Я не использую Mathlab вообще в силу специфики моей области физики все раньше сидели на paw, а теперь используют ROOT.

Про моделирование я оговорил, потому что в случае моделирования значительную часть времени занимает просто его выполнение, посему приходится разводить кластеры. Таже ситуёвина и с рассчётами — особенно в этом преуспели решёточники, коим даже для не полного счастья не хватает всех ресурсов планеты чтобы честно массу скажем phi-мезона рассчитать. Но это лирика — если учитывать человеческое время, то основной упор идёт таки на интерактив. Писать скрипты и программы тоже можно, но это в результате отнимает слишком много человеческого времени.

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

Да что там: у меня элементарная моделька выжирает все ресурсы, приходится сильно загрублять вычисления. А хочется ведь по-нормальному сделать, правдоподобно (но для этого либо оперативки пару терабайт надо, либо на 2-3 недельки запустить вычисления и не подходить к компьютеру, т.к. тормозить будет жутко).

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

Делай как мы: разводи кластер ☺ Правда на свой денег как обычно нет (есть только десять счётных машин), поэтому мы частично захватили университетский.

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

Кстати в случае кластерных вычислений преимущество свободных сред и программ анализа на лицо.

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

Я и говорю: разводить надо. Сами не заводятся — инфа 140%.

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

Начать можно с «кластера для бедных» (кране не рекомендуется если есть малейшая возможность завести отдельные счётные машины): то есть объединить настольные машины в рамках батч системы.

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

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

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

есть еще freemat. У него тоже есть известные проблемы с матлаб-совместимостью. Зато октаву фримат значительно опережает по скорости выполнения кода.

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

Не вижу никакого минуса. Зачем там GUI?

В том-то и дело, что не видишь. Как глазки протрешь - поймешь всю прелесть хорошего GUI.

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

А что делать с питоном?

Всё то же самое.

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

Это IMHO глупо. Своё следует развивать, а не тащить без разбора.

Своё что?

Вот мне нужен метод, которого нет в scipy, но он есть в R. Конвертировать, как правило, на пол-часа делов. IMHO, это очень умно :)

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

Вообще замечаю... если пишет код прогер (имеется ввиду хороший прогер), разобраться в нём проще, чем если пишет математик... Хотя и тот, и другой код вполне себе работает.

Часто код пишет даже не математик.

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

Консоль — это очень удобный инструмент автоматизации. Пора к нему привыкнуть.

Ага, поучи отца детей делать. :-)

Может ты, деточка, и графики в консоли смотришь?

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

Нет, это творчество mathworks. Но всё равно не понимаю, лучше бы в simulink графику довели до ума. А то, там где графика нужна, она убога до безобразия.

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

Из консоли подаются команды по отрисовке графиков, а сами графики рисуются в графическом окне. Это схема замечательно работала ещё в 70ых.

Позволять пользователю мышкой двигать точки графиков я считаю слишком изощрённым искушением.

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

Я думаю, что это могут сделать только те, кому это нужно.

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

Вот если посмотреть на MATLAB, то в нём никакой пользы от графики нет, только вред.

Пример вреда в студию!

Примеры пользы сходу:

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

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

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

Из консоли подаются команды по отрисовке графиков, а сами графики рисуются в графическом окне. Это схема замечательно работала ещё в 70ых.

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

Позволять пользователю мышкой двигать точки графиков я считаю слишком изощрённым искушением.

А zoom - тоже изощрённым искушение?

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

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

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

Командам — консоль, графикам — графическое окно, бабам — мороженное, детям ­цветы, или что-то из этого наоборот. Иными словами: каждому овощу свой горшок.

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

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

Ух ты, как тебя несет...

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

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

Командам — консоль, графикам — графическое окно

Дурость, идущая еще из 70х. Пусть горит в аду тот, кто придумал этот ваш уродский REPL.

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

И что за нормальные текстовые редакторы рекомендуешь?

Таких есть ровно два: emacs и тот который либо пикает, либо всё портит.

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

Таких есть ровно два: emacs и тот который либо пикает, либо всё портит.

Точнее так: либо тот, что всё портит, либо тот, что или пикает или портит.

И в этом кале рекомендуете писать код? Спасибо! Тонкое извращение.

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

Я немного неправильно выразился, такой GUI, как в MATLAB не нужен, т.к. это монстроидальная java-поделка. Сам давно использую kate + konsole, гораздо удобнее.

А вот с переменными спорно, когда их 2-3, то да, GUI помогает, а когда десятки и каждая - массив данных, от GUI толку 0.

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

Не, ты всё не правильно понял. Следует выбирать лучший инструмент из имеющихся и я тебе их назвал (вынужден признать, что освоить одновременно можно только один из двух правильных редакторов). Если ты не один из них не освоил, то я могу тебе только посочувствовать.

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

А вот с переменными спорно, когда их 2-3, то да, GUI помогает, а когда десятки и каждая - массив данных, от GUI толку 0.

Во-во. Особенно штырит когда событие характеризуется несколькими сотнями переменных и таких событий несколько миллионов.

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

Я немного неправильно выразился, такой GUI, как в MATLAB не нужен, т.к. это монстроидальная java-поделка. Сам давно использую kate + konsole, гораздо удобнее.

С этим уже легче согласиться. Гуй матлаба возможно далек от идеала.

А вот с переменными спорно, когда их 2-3, то да, GUI помогает, а когда десятки и каждая - массив данных, от GUI толку 0.

Зато можно хотябы названия сходу увидеть. :) А в консоли надо тыкаться как слепой котёнок. На каждый чих - строчить команду.

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

На каждый чих - строчить команду.

Ты не достиг нирваны: команды можно записывать!

Попробуй запиши тычки мыши.

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

Есть какой-нибудь гуй кроме qtoctave?

Сейчас в Octave пилят официальный gui, он пока находится в отдельный ветке. Сейчас в списке рассылке предложили слить ветку gui в основную. Если это произойдёт, тогда гуй попадёт в следующий стабильный релиз, но, возможно, не будет собираться по умолчанию.

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

На каждый чих - строчить команду.

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

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

Вот буквально только начинаю изучать octave. Какова степень совместимости с Matlab? Для студента подойдёт любая книжка по Matlab?

Блджад... Да забудь ты этот Matlab. У Октавы своя документация. А какого ответы ты ждёшь на первый вопрос? 70%? 13%? И что ты с этим ответом будешь делать?

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

Не, ты всё не правильно понял. Следует выбирать лучший инструмент из имеющихся и я тебе их назвал (вынужден признать, что освоить одновременно можно только один из двух правильных редакторов). Если ты не один из них не освоил, то я могу тебе только посочувствовать.

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

Emacs - отстой. Vim - чуть менее отстоен. В нем обычно и пишу. Но считать эти недоредакторы нормальными и хаять GUI?! Короче так.. Если ты не освоил GUI, то я могу тебе только посочуствовать.

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

Ты не достиг нирваны: команды можно записывать!

Попробуй запиши тычки мыши.

Бобер, выдыхай. GUI это не обязательно тычки мышки. :) Может ты еще скажешь, что xmonad уже не GUI а консоль, только на основании того, что там не принято «окна» мышкой таскать и вовсю пользуются шорткатами?

А что до записываний команд, то я именно это и имею в виду. В GUI они записываются и отправляются на выполнение. А в тупом REPL они уходят на выполнение и торжественно просираются в длинной и бессмысленной history.

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

Если ты не освоил GUI, то я могу тебе только посочуствовать.

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

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

А что до записываний команд, то я именно это и имею в виду. В GUI они записываются и отправляются на выполнение. А в тупом REPL они уходят на выполнение и торжественно просираются в длинной и бессмысленной history.

Вы не разобрались в чём соль. Возможно сейчас это следствие старости и маразма.

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

Evgueni ★★★★★ ()

opencl

Когда уже opencl прикрутят? Без этого для многих задач просто бессмысленно пользоваться октавой (для проверки идеи разве что).

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