Хм. На моем i7-2600@3.4GHz, 16GB RAM, Matlab R2012a это выполняется почти в 10 раз быстрее. Может, там цикл на 100'000 раз? Кстати, в R2013a еще примерно на 5% быстрее.
Можно посмотреть код sin2 и sin3?
Извините, но ваш код оформлен несколько странно. Что за говорящие названия ll1, lh1, ll2, lh2? Что такое sp, co? Для модели гаусгана очень хотелось бы увидеть формулы, реализованные в модели — это кратно бы повысило читаемость и понимаемость кода.
И, мне кажется, Modelica сложно назвать языком программирования, это язык моделирования.
мне понятен Ваш сценарий использования связки Matlab + Simlink, он очень простой
Знаете, я буду вопринимать это как комплимент. :) Нам с программистом пришлось несколько подумать, чтобы сделать этот сценарий максимально простым, независимо от использованной в матлабе математики. А там несколько посложнее, чем ПИД подобрать.
Это кое-что объясняет. :)
У нас с вами различное понимание «научного костяка». Давайте не будем погружаться в терминологические диспуты и закроем тему.
Ну да, в 98-99 это был релиз тулбокса v1.0. Мне чужды ваши религиозные представления о бакгрепортах. Если бы мне мешал серьезный баг в купленной мной программе, я бы точно тряс бы техподдержку. А что, триал версии тулбокса в те годы не было?
Мне не очень понятен вопрос про реализацию, что именно вас интересует? Я, как разработчик регулятора, понял, чего я хочу, и объяснил это программисту. Дал ему схему, построенную на базовых примитивах (на элементах задержки). Мы с ним договорились, о том, в каком виде я ему буду передавать рассчитанные параметры, договорились о формате представления данных. Программист реализовал эту схему на целевом контроллере, мы прогнали набор контрольных тестов, которые показали, что результаты обработки входных данных в контроллере и в аналогичной схеме, собранной на примитивах в MatLab, совпадают. Все, на этом работа программиста в области реализации регулятора закончилась, в дальнейшем я обращался к нему, только если для какого-то из новых проектов надо было менять схему.
Далее я разрабатывал систему управления в Matlab+Simulink, используя все предоставляемые матлабом высокоуровневые возможности. Система сначала моделировалось, потом тестировалось на подключенном оборудовании. Когда результаты тестирования меня устраивали, я переводил полученную систему управления в низкоуровневое представление на элементах задержки. Точнее, запускал ранее написанный скрипт, который средствами матлаба осуществлял переход. Проверял работоспособность полученной схемы в матлабе. Далее скрипт генерировал на выходе файл с таблицей коэффициентов в том виде, о котором мы договорились с программистом. Этот файл добавлялся к конфигурационным файлам оборудования, проводились тестирования на железе с контроллером. Все.
Таким образом, вся разработка регуляторов проходила на верхнем уровне в Матлабе. Затем полученная система верхнего уровня по единожды разработанному совместно с программистом алгоритму приводилась к виду, реализованному в контроллере. Я не припомню таких ситуаций, чтобы схема в матлабе работала, а в контроллере нет, и чтобы это не было каким-то аппаратным сбоем.
Пойду скачаю, посмотрю. Давайте так, если абстрагироваться от цены (Mathematica не сильно дорогая), то какие преимущества у Maxima перед той же Mathematica?
Абсолютно худшая система символьной алгебры с няшным интерфейсом — это вы сейчас о ком именно?
«системный анализ» вообще готов признать наукой только наравне с коллекционированием марок
Очень странно это слышать. «Системный анализ и управление» — это часть утвержденного ВАК названия специальности. В частности, это специальность 05.13.01 — Системный анализ, управление и обработка информации в технических системах. Я к тому, что это не какая-то коньюктурная терминология, а строго формализованная специальность со своим паспортом и прочими атрибутами. Я специально использовал это словосочетание, чтобы избежать возможных разночтений при наличии формального названия.
Естественно, системный анализ (в данном контексте) — не наука, никто этого и не говорил. Это некоторая область знаний, которая строится, главным образом, вокруг теории управления со всем множеством ее подразделов. Но так же включает в себя некоторые разделы computer science, теории информации, некоторые технические дисциплины и другое. Не наука, область знаний. Ближайший аналог перевода — Control science & engineering.
Мне кажется, что вы что-то другое поняли под «системным анализом».
Что же, я не знаком с теми областями, которые вы перечислили. Похоже, что там Matlab используется без Simulink (по моим же ощущениям, сейчас именно Simulink становится флагманским продуктом Mathworks).
1) Большинство статей, ссылающихся на Matlab и использующих его в примерах — это и есть то, что я понимаю под «стандартом де факто». :) По крайне мере, когда я участвовал в совместных проектах нескольких научных центров, то никто не спрашивал, «В чем будем делать модели?». Спрашивали, «У вас какая версия используется?».
2) Естественно, возможны и ошибки. Особенно в относительно молодых тулбоксах. Какой же сложный проект от этого свободен? Хотя, должен сказать, мне встречалось некоторое «неожиданное поведение», но явные ошибки – ни разу. Вы, кстати, о своих найденных ошибках разработчикам тулбокса сообщили?
3) По поводу внедрения — у меня есть опыт внедрения систем управления, разработанных в Matlab, сверхпрецизионные системы слежения. Они сейчас находятся в эксплуатации и, вроде, тьфу-тьфу-тьфу. Так что утверждение «люди, делающие реальные вещи, не использую matlab» мне кажется неверным.
Повторю свой тезис. В моей области (системный анализ и управление) у Matlab+Simulink нет известных мне серьезных конкурентов, использование именно этого пакета является доминирующим в экспертном сообществе. Естественно, это не идеальный инструмент, он имеет свои слабые стороны и огрехи. Также он предполагает достаточно высокий уровень компетенции у пользователя. Его бездумное использование может привести к бездумным результатам и «интересным чудесам».
Что касается maxim. Это open-source, правильно? Мой скромный опыт подсказывает, что у open-source проектов зачастую дела с документацией, обучающими материалами и т.п. обстоят не очень хорошо. Мне же хочется пакет с минимальной кривой обучения, чтобы как можно быстрее начать использовать новый инструмент для решения задач. Скажите, как у maxim обстоят дела с документацией, сообществом и временем вхождения? Я не ёрничаю, мне действительно интересно.
Зарубежных центров в какой области? Моя компетенция – системный анализ и управление. Я сам профессионально занимаюсь научными исследованиями в этой области, знаком со многими ведущими российскими исследователями, с зарубежными исследователями и разработчиками. Видел крупные научные центры, европейские исследовательские университеты, участвовал в совместных проектах. В общем, все то, что «серьезная наука». И я уверенно заявляю – Matlab+Simulink являются в этой области стандартом де факто. В образовании, действительно, иногда используют Scilab, но не часто.
Насколько я понимаю, вы занимаетесь signal&image processing? У вас, наверное, обстоит иначе.
Загнал в MuPad интегралы из поста. С первым все без проблем, а со вторым не справился. Даже после указанной замены переменных. Хотя, очень вероятно, что я просто не умею им пользоваться.
Использовать и то и то накладно — две лицензии. Вообще, есть лицензия на Matlab Symbolic Toolbox, который на движке MuPad. Трудно найти в инете внятный непредвзятый сравнительный обзор трех систем. Вроде, считается, что движки Maple или Mathematica мощнее MuPad будут, но на сколько это правда — не знаю.
Да ладно. На данный момент мне не известны сколько бы то ни было серьезные конкуренты Simulink. В моей области (системный анализ и управление) Matlab+Simulink — стандарт де факто.
Можно посмотреть код sin2 и sin3?
И, мне кажется, Modelica сложно назвать языком программирования, это язык моделирования.
Знаете, я буду вопринимать это как комплимент. :) Нам с программистом пришлось несколько подумать, чтобы сделать этот сценарий максимально простым, независимо от использованной в матлабе математики. А там несколько посложнее, чем ПИД подобрать.
и мне maxima отвечает, что не может найти решения. Если я руками возведу второе уравнение в квадрат и запишу
то оба решения находятся. Что я делаю не так? Беглый просмотр документации на функцию solve мне не помог.
Это кое-что объясняет. :)
У нас с вами различное понимание «научного костяка». Давайте не будем погружаться в терминологические диспуты и закроем тему.
Мне не очень понятен вопрос про реализацию, что именно вас интересует? Я, как разработчик регулятора, понял, чего я хочу, и объяснил это программисту. Дал ему схему, построенную на базовых примитивах (на элементах задержки). Мы с ним договорились, о том, в каком виде я ему буду передавать рассчитанные параметры, договорились о формате представления данных. Программист реализовал эту схему на целевом контроллере, мы прогнали набор контрольных тестов, которые показали, что результаты обработки входных данных в контроллере и в аналогичной схеме, собранной на примитивах в MatLab, совпадают. Все, на этом работа программиста в области реализации регулятора закончилась, в дальнейшем я обращался к нему, только если для какого-то из новых проектов надо было менять схему.
Далее я разрабатывал систему управления в Matlab+Simulink, используя все предоставляемые матлабом высокоуровневые возможности. Система сначала моделировалось, потом тестировалось на подключенном оборудовании. Когда результаты тестирования меня устраивали, я переводил полученную систему управления в низкоуровневое представление на элементах задержки. Точнее, запускал ранее написанный скрипт, который средствами матлаба осуществлял переход. Проверял работоспособность полученной схемы в матлабе. Далее скрипт генерировал на выходе файл с таблицей коэффициентов в том виде, о котором мы договорились с программистом. Этот файл добавлялся к конфигурационным файлам оборудования, проводились тестирования на железе с контроллером. Все.
Таким образом, вся разработка регуляторов проходила на верхнем уровне в Матлабе. Затем полученная система верхнего уровня по единожды разработанному совместно с программистом алгоритму приводилась к виду, реализованному в контроллере. Я не припомню таких ситуаций, чтобы схема в матлабе работала, а в контроллере нет, и чтобы это не было каким-то аппаратным сбоем.
Абсолютно худшая система символьной алгебры с няшным интерфейсом — это вы сейчас о ком именно?
Очень странно это слышать. «Системный анализ и управление» — это часть утвержденного ВАК названия специальности. В частности, это специальность 05.13.01 — Системный анализ, управление и обработка информации в технических системах. Я к тому, что это не какая-то коньюктурная терминология, а строго формализованная специальность со своим паспортом и прочими атрибутами. Я специально использовал это словосочетание, чтобы избежать возможных разночтений при наличии формального названия.
Естественно, системный анализ (в данном контексте) — не наука, никто этого и не говорил. Это некоторая область знаний, которая строится, главным образом, вокруг теории управления со всем множеством ее подразделов. Но так же включает в себя некоторые разделы computer science, теории информации, некоторые технические дисциплины и другое. Не наука, область знаний. Ближайший аналог перевода — Control science & engineering.
Мне кажется, что вы что-то другое поняли под «системным анализом».
1) Большинство статей, ссылающихся на Matlab и использующих его в примерах — это и есть то, что я понимаю под «стандартом де факто». :) По крайне мере, когда я участвовал в совместных проектах нескольких научных центров, то никто не спрашивал, «В чем будем делать модели?». Спрашивали, «У вас какая версия используется?».
2) Естественно, возможны и ошибки. Особенно в относительно молодых тулбоксах. Какой же сложный проект от этого свободен? Хотя, должен сказать, мне встречалось некоторое «неожиданное поведение», но явные ошибки – ни разу. Вы, кстати, о своих найденных ошибках разработчикам тулбокса сообщили?
3) По поводу внедрения — у меня есть опыт внедрения систем управления, разработанных в Matlab, сверхпрецизионные системы слежения. Они сейчас находятся в эксплуатации и, вроде, тьфу-тьфу-тьфу. Так что утверждение «люди, делающие реальные вещи, не использую matlab» мне кажется неверным.
Повторю свой тезис. В моей области (системный анализ и управление) у Matlab+Simulink нет известных мне серьезных конкурентов, использование именно этого пакета является доминирующим в экспертном сообществе. Естественно, это не идеальный инструмент, он имеет свои слабые стороны и огрехи. Также он предполагает достаточно высокий уровень компетенции у пользователя. Его бездумное использование может привести к бездумным результатам и «интересным чудесам».
Насколько я понимаю, вы занимаетесь signal&image processing? У вас, наверное, обстоит иначе.