Как стать автором
Обновить

Комментарии 6

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

Установив octave. ;)

Дайте мне время, я и сам сделаю систему типа MATLAB.

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

Спасибо, полезные тексты. Я сам давно работаю на связке Matlab + SVN - примерно тот же принцип, просто исторически так сложилось, что не git.

По поводу сравнения бинарных файлов. Понятно, что в каких-то случаях сам MatLab умеет сравнивать, но для этого приходится жорглировать между двумя утилитами (ваш git desktop или мой tortoise svn - и сам MatLab). Я одно время пытался разобраться, как настроить сравнение непосредственно в утилите, будь то git или svn. Подавляющее большинство "наших" бинарных файлов на самом деле - zip-архивы со множеством xml. И в подавляющем случае сравнения этих xml-файлов было бы достаточно, чтобы понять природу изменения. И вроде как даже и git, и svn поддерживают обработку на лету каких-то форматов, то есть существует возможность сделать предварительную обработку (разархивирование) файла перед сравнением - и пост-обработку (обратное архивирование) после изменений, например в процессе merge.

Но я так и не смог разобраться с тем, как это работает :-/ Так что продолжаю работать так, как у вас описано. Ну и по возможности избегаю бинарных файлов (в MatLab в отличие от SimuLink это достаточно просто, хотя LiveScripts иногда и жаль).

Мне приходилось экспериментировать с распаковкой бинарных файлов MATLAB, но не очень удачно.

Чтобы поменять код в live-скрипте, мы распаковывали mlx, меняли код во внутреннем m-файле и запаковывали назад в mlx. И по началу оно работало хорошо, но потом начали ловить странные баги в обработанных скриптах. Пришли к выводу, что ручная перепаковка работает ненадежно и лучше ее избегать.

Кстати, не так давно в матлабе появился способ теснее интегрироваться с Git/SVN. Суть в том, что матлаб регистрируется в системе как инструмент для проведения сравнений и слияний:

https://www.mathworks.com/help/matlab/matlab_prog/customize-external-source-control-to-use-matlab-for-comparison-and-merge.html

В таком случае после git diff или git merge автоматически открывается MATLAB/Simulink. Если пользовать гитом из командной строки, то так наверно чуть удобнее.

Еще мне пришлось провести работу над собой и убедить себя, что коммитить бинарные mlx-скрипты не так уж и страшно, если они реально полезны для решения задачи :) Тем более если кодовую базу максимально выносить в m-файлы и собственные библиотеки.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий