В последнее время я работаю над несколькими итерационными алгоритмами в MATLAB и сильно ударяю себя по производительности MATLAB (или их отсутствию), когда дело доходит до циклов. Я знаю о преимуществах векторизации кода, когда это возможно, но есть ли какие-нибудь инструменты для оптимизации, когда вам нужен цикл для вашего алгоритма?Как оптимизировать петли MATLAB?
Мне известно о опции MEX-файла для записи небольших подпрограмм в C/C++, хотя, учитывая мои алгоритмы, это может быть очень болезненным вариантом, учитывая требуемые структуры данных. Я в основном использую MATLAB для простоты и скорости прототипирования, поэтому синтаксически сложный, статически типизированный язык не идеален для моей ситуации.
Есть ли другие предложения? Даже другие языки (python?), Которые имеют относительно безболезненные матричные инструменты, являются опцией.
Отображение кода и выделение медленных бит действительно помогут. Есть много доступных методов, о которых нельзя говорить в общих советах. В идеале мы могли бы просто скопировать и вставить ваш код, чтобы увидеть его работу без необходимости в файлах данных и т. Д. – MatlabDoug