LINUX.ORG.RU
ФорумTalks

Как можно жить с matlab?!

 , , , ,


0

3

Прошел университет (все курсовые и диплом с отличием) с python/sage math + latex, в аспирантуре приходится «сдвигаться» на matlab + word.

Но если к страданиям от использования Word удалось более или менее привыкнуть (ибо по ходу обучения все-таки приходилось много писать в Word ввиду требований), то с matlab столкнулся впервые.

На своем сайте они пишут:

The object-oriented programming capabilities of the MATLAB® language enable you to develop complex technical computing applications faster than with other languages, such as C++, C#, and Java™.

Они это серьезно?! После первой попытки «в лоб» сесть и написать простенький класс в matlba у меня случился приступ гнева. У них же все по-другому (не то что в C# или тем более Python) - это идиотская привязка к именам файлов. Какая-то неочевидная концепция где value-type и где reference-type, какой-то logical вместо boolean, отсутствие return, get() и set() в gui... в общем, адъ!

Библиотека алгоритмов и работа с матрицами сильны, но ООП/GUI на первый взгляд пророчат сильную попоболь :( И невольно вызывает желание провести параллель вида (python/* по отношению к matlab суть тоже, что *tex* по отношению к word).

Linux тут притом, что octave, как понимаю повторяет всю эту вакханалию.

Есть истории успеха, как удалось это пропустить через себя, не потеряв рассудок?

Надеюсь, я не прав и это только первое впечатление.

Есть истории успеха, как удалось это пропустить через себя, не потеряв рассудок?

Если ты после LaTeX можешь писать в Ворде, то MATLAB - это же цветочки.

А интерактивные GUI для подобных систем вообще зло, надо все в batch-режиме делать, иначе получается невоспроизводимый результат.

alpha ★★★★★
()

Мой дорогой друг возвращайся в лоно open source: Octave,Scilab и NumPy ждут тебя.. и вообще если не удобно , зачем корячится или тебе matlab купили?

И вот тебе статейка

DR_SL ★★★★★
()

Надеюсь, я не прав и это только первое впечатление.

Боюсь тебя огорчить, но это не первое впечатление. Не парь себе мозги, используй пистончик или R.

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

А в octave и scilab ооп лучше? numpy не предлагать, ибо аспирантура накладывает ограничение - fully matlab-compatible code only.

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

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

К сожалению, это на данный момент форс-мажорное обстоятельство.

Тем не менее в кулуарах одним из аргументов сотрудников кафедры было, что, мол, матлаб использует чрезвычайно много институтов\контор\именитых ученых - как бы это научный мейнстрим. Так как я в других институтах не обучался, в научных конторах не работал и именитых ученых не знаю, а прочитанные мной статьи по научной тематике в подавляющем большинстве случаев не уделяли внимания инструменту, с помощью которого они получали данные, то мне пришлось поверить на слово.

omegatype ★★★
() автор топика

Пришлось тоже поюзать матлаб в силу надвигающегося диплома. Испытал подобный культурный шок. Stackoverflow худо-бедно спасает.

Sadler ★★★
()
Последнее исправление: Sadler (всего исправлений: 2)
Ответ на: комментарий от omegatype

Ну как сказать я его(ООП) не применял как таковой, вот только документацию могу кинуть

http://www.gnu.org/software/octave/doc/interpreter/Object-Oriented-Programming.html

и

http://wiki.scilab.org/Emulate%20Object%20Oriented%20in%20Scilab#Introduction

DR_SL ★★★★★
()
Последнее исправление: DR_SL (всего исправлений: 1)
Ответ на: комментарий от omegatype

Тем не менее в кулуарах одним из аргументов сотрудников кафедры было, что, мол, матлаб использует чрезвычайно много институтов\контор\именитых ученых - как бы это научный мейнстрим.

Ну используют, ну и что? Он неплохой инструмент, но мне лично numpy и R значительно удобнее использовать. Всегда используй то что удобнее тебе, а всякие умники пускай свои тупые рекомендации себе в задницу позасовывают.

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

Ну и нахрен пошёл на такую кафедру? Нахрен вообще пошёл в аспирантуру в России? Лучше б в армию записался, раз жизнь девать некуда.

vasilenko ★★
()

в аспирантуре приходится «сдвигаться» на matlab + word.

Что за аспирантура такая? У нас не приходилось.

Siado ★★★★★
()

я тут помню кому-то доказывал, что ООП в числодробилке типа matlab не нужно.

dikiy ★★☆☆☆
()

Учусь на первом курсе, нас тоже пичкают матлабом. Я так и не понял зачем он нужен когда есть питон

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

Ну используют, ну и что?

Там дело движется к командной разработке - необходимо, что бы другие участники процесса понимали твой код и могли его использовать, что не говори, а подвести «общий знаменатель» проще всего. Пока что им является matlab.

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

Это не формальное требование, а чисто «житейское». Имеется сложившийся коллектив, который использует этот инструмент.

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

buddhist, dikiy, Зачем ООП? Да все тривиально: на данный момент лично я лучше всего знаком с этой парадигмой. Безусловно, надо развиваться и изучать иные подходы, текущее негодование вызвано лишь тем, что предыдущий инструмент - python, не заставлял меня придерживаться определенной парадигмы.

P.S. Тем не менее некоторые другие особенности, например, точка с запятой - бесят вне зависимости от парадигмы.

omegatype ★★★
() автор топика
Последнее исправление: omegatype (всего исправлений: 1)
Ответ на: комментарий от omegatype

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

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

Например, модель нейронной сети - есть абстрактный класс Node, представляющий собой произвольный узел. Его наследники - это нейроны с различными функциями активации.

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

модель нейронной сети

Спасибо, теперь понятно. Тут и правда все хорошо ложится на ОО-концепцию.

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

Например, модель нейронной сети - есть абстрактный класс Node, представляющий собой произвольный узел. Его наследники - это нейроны с различными функциями активации.

можно попробовать прикрутить через структуры. Но вообще нафига тут matlab?

dikiy ★★☆☆☆
()

Успокойся, напиши очередную вику или бложик.

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

Если он исполняет требования, то лучше его не дразнить.

Trieforce
()

написать простенький класс в matlba

Не то чтобы много юзал матлаб, но изрядно его пришлось попользовать за послдние два курса
Классы писать ни разу не приходилось, для написания небольших вычислений самое то, хотя сразу очень не привычно

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

Это не формальное требование, а чисто «житейское».

Значит грызи кактусы в виде ворда и матлаба

Siado ★★★★★
()

Я не понимаю, о чём вы говорите. Как в питоне быстро написать систему, состоящую из нескольких звеньев с заданными передаточными функциями, ввести обратную связь и построить диаграмму Боде и диаграмму Найквиста, скажем?

prischeyadro ★★★☆☆
()

Пиши на python и latex, остальные пусть идут лесом.

Я так сделал, потом приехал еще теоретик, который так делает, потом на питоне стал писать PhD-студент, который выпустился.. И теперь такая комбинация стандарт.

Не прогибайся, join the revolution!

michwill ★★★★★
()

Есть истории успеха, как удалось это пропустить через себя, не потеряв рассудок?

Блог «Записки дебианщика». Там есть несколько статей на тему.

Heretique
()

Матлаб великолепен! Очень вправляет мозги для векторных вычислений. Предлагаю тебе очень интересную toy problem на 20 минут: дано N векторов в матрице X(X будет MxN: M строк vs N столбцов) надо посчитать матрицу попарных расстояний(l2) для X(она будет NxN). Конечно без использований pdist. Тебе 20 часов даю и потом выкладываю изящное решение.

maggotroot
()

В Matlab нет ничего страшного, просто сядь и почитай докуменцию - что да как. Я в своё время плотно с ней работал (уже будучи знакомым с пиномами, сишарпами и прочими крестами ) и никакой попоболи не испытал. Отличный инструмент.

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

я тут помню кому-то доказывал, что ООП в числодробилке типа matlab не нужно.

Докажи теперь мне. Use case: прикрути, пожалуйста, к матлабу арифметику произвольной длины. Изменять код нежелательно, можно только поменять рутины, считывающие исходные данные.

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

Учусь на первом курсе, нас тоже пичкают матлабом. Я так и не понял зачем он нужен когда есть питон

Какой смешной. Ты хоть посмотри на возможности матлаб, тот же simulink для примера.

golodranez ★★★★
()

Не используй там ООП, вот и всё. А ещё, насколько я помню, в матлаб довольно просто прокидывается код на C++. Затролль профессоров: напиши всё на крестах и сделай обёртку на матлабе в 5 строчек.

PS Кстати, матлаб есть под онтопик. я, помнится, году так в 2004-2005м пускал его под слакой и даже под FreeBSD через слой совместимости с Linux, так что

Linux тут притом, что octave

можно было не писать.

DELIRIUM ☆☆☆☆☆
()
Последнее исправление: DELIRIUM (всего исправлений: 1)
Ответ на: комментарий от omegatype

omegatype> Тем не менее в кулуарах одним из аргументов сотрудников кафедры было, что, мол, матлаб использует чрезвычайно много институтов\контор\именитых ученых - как бы это научный мейнстрим.

Типичная попытка оправдания использования этого говнища, когда у самого мозгов нет. Что Matlab, что кривой Origin, что PowerPoint в целях создания постеров для презентаций. Это всё от тотальной некомпетентности, которая и за границей тоже встречается.

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

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

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

Потому, что ни один психически здоровый человек не будет выпячивать то, в какой программе он что-то делал, если программа не уникальная - он скажет, по каким алгоритмам это делалось, но не в какой программе. Если в статье написано что-то вроде: «Инкремент значений второго столбца таблицы производился в программном пакете Igor Pro», знай - такой вид статьи сделал мудак, так как такое действие очевидно и не зависит от программного пакета.

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

yvv> Он неплохой инструмент

Матлаб был неплохим инструментом на момент своего появления. А это было давным давно, наверное даже до рождения многих обитателей ЛОРа. С тех пор много воды утекло, а матлаб каким был, таким по факту и остался.

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

Тащемта, ему не рекомендации давали, а приказы под видом рекомендаций. Такая обстановка нынче в вузах и НИИ частенько встречается. Ну не умеет большинство «сотрудников» использовать стандартные форматы хранения данных и пакеты, которые позволяют быстро и просто данные привести в приличный вид. Вместо этого жрут то, что когда-то им показали, и думают, что всё знают, а что не знают - то ересь.

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

Правильный вопрос: «Что за специальность такая?», а не «что за аспирантура такая?». Это рашка.

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

snaf> Учусь на первом курсе, нас тоже пичкают матлабом. Я так и не понял зачем он нужен когда есть питон

За тем же, зачем и паскаль или дельфя. Или вижуал васик 6.0. За тем, что преподаватели профнепригодны и не знают современные инструменты, а отчитаться надо.

Радуйся, что у вас там матлаб. Когда я учился, нас пичкали MathCAD'ом и Derive'ом. Хотя правильнее пустить эти часы на матан - нам как раз теорию графов почти не читали, так как времени не хватило. Только на последней лекции быстренько информацию дали по ним.

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

Тебе для начала хватит и императивщины. Зачем ООП в математике - ума не приложу.

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

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

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

Эти извращенцы ему сказали: «Матлаб!». Вот зачем. Затем, что на кафедре у него некомпетентные люди сидят, которые неспособны освоить что-то эффективно, поэтому перебиваются тем, что хоть как-то умеют.

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

prischeyadro> Как в питоне быстро написать систему, состоящую из нескольких звеньев с заданными передаточными функциями, ввести обратную связь и построить диаграмму Боде и диаграмму Найквиста, скажем?

Полагаю, руками, используя SciPy.

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

Вот и реальная проблема матлаба, где без костылей не обойтись, ага.

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

Simulink - не часть матлаба, а тулбокс для него. Есть куча подобных примеров для случая с питоном привести, когда нужные _программы на python и библиотеки_ позволяют специализированные штуковины творить.

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

Хотя правильнее пустить этих людей на метан

fixed.

S-Mage ★★
()
Ответ на: комментарий от omegatype

ибо аспирантура накладывает ограничение - fully matlab-compatible code only

чего?? откуда такой бред в вашей аспе, вдруг?

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

что, мол, матлаб использует чрезвычайно много институтов\контор\именитых ученых - как бы это научный мейнстрим

пусть дружно идут лесом — пишите на чём хотите

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

вот видите

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

аспирантура,

дело движется к командной разработке

/0

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

ога, только нейронные сети писать на матлабе - это как писать ОС на VBA

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

а приказы под видом рекомендаций.

если он действительно аспирант, то такие «приказы под видом рекомендаций» может смело посылать лесом.

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

Я так и не понял зачем он нужен когда есть питон

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

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