Что MATLAB может сделать это, R не может сделать? [закрытый]

Походит , Муравей Apache - то, что Вы ищете.

137
задан Ry- 27 September 2013 в 18:01
поделиться

8 ответов

Можете ли вы использовать R для замены MATLAB?

Да.

Я использовал MATLAB в течение многих лет, но в последние 3 года переключился на R в основном. На данный момент у них гораздо больше общего, чем нет. Это частично зависит от вашей области и сценария использования. И, как Спенсер Грейвз сказал ранее , это также зависит от того, в какую «церковь вы часто ходите». Лучше всего, если вы посмотрите на набор инструментов MATLAB vs. CRAN для конкретной задачи, прежде чем принимать решение.

Аналогичный вопрос был задан в R-Help несколько лет назад и недавно . Дэвид Хибелер (из Университета штата Мэн) поддерживает обширное сравнение R / MATLAB и является лучшим справочником по этому вопросу. Вы также можете просмотреть это сравнение основных функций .

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

  • Как правило, MATLAB имеет лучшую среду программирования (например, лучшую документацию, лучшие отладчики, лучший браузер объектов) и «проще» в использовании (при желании вы можете использовать MATLAB без программирования). Simulink позволяет вам визуально программировать, соединяя блоки в графах. REvolution R устраняет некоторые из этих различий , предоставляя лучшую среду IDE с улучшенной отладкой, но он все еще на шаг позади.
  • MATLAB немного быстрее с нормальной конфигурацией ( см. пример ), хотя есть вещи, которые можно сделать для повышения производительности R, если это станет проблемой.
  • Поскольку он коммерческий, он также, возможно, имеет больше «продуктов» (в смысле интегрированных надстроек) и поддержки (но вы платите за Это). См. Список продуктов . Например, у него есть такие вещи, как компилятор MATLAB , который создает исполняемые программы MATLAB, которые могут быть развернуты.
  • Что касается пакетов / инструментальных средств, MATLAB имеет гораздо больше поддержки для физических наук, в то время как R является сильнее для статистики, что не означает, что другой не может выполнять эти задачи. И оба они могут быть легко расширены.

Итак, если простота использования не является основной проблемой (и нет другой бизнес-причины избегать использования инструмента с открытым исходным кодом), то я думаю, что есть « реальный аргумент в пользу использования R. У него очень сильное сообщество (списки рассылки R потрясающие), он быстро развивается (см. CRAN), и он бесплатный (что не является небольшая проблема!).

Редактировать: Я бы просто добавил к этому еще один момент: книга «Функциональный анализ данных с помощью R и MATLAB» включает главу «Основные сравнения языков Matlab и R» . Это касается некоторых важных синтаксических различий (таких как интерпретация точки или значение квадратных скобок []). Сама книга стоит прочитать всем, кто интересуется функциональным программированием (на любом из языков).

та небольшая проблема!).

Редактировать: Я бы просто добавил к этому еще один момент: книга «Функциональный анализ данных с помощью R и MATLAB» включает главу «Основные сравнения языков Matlab и R» . Это касается некоторых важных синтаксических различий (таких как интерпретация точки или значение квадратных скобок []). Сама книга стоит прочитать всем, кто интересуется функциональным программированием (на любом языке).

та небольшая проблема!).

Edit: Я бы просто добавил к этому еще один момент: книга «Функциональный анализ данных с помощью R и MATLAB» включает главу «Основные сравнения языков Matlab и R» . Это касается некоторых важных синтаксических различий (таких как интерпретация точки или значение квадратных скобок []). Сама книга стоит прочитать всем, кто интересуется функциональным программированием (на любом языке).

или значение квадратных скобок []). Сама книга стоит прочитать всем, кто интересуется функциональным программированием (на любом языке).

или значение квадратных скобок []). Сама книга стоит прочитать всем, кто интересуется функциональным программированием (на любом языке).

128
ответ дан 23 November 2019 в 23:33
поделиться

R - это среда для статистического анализа данных и графики. Истоки MATLAB лежат в числовых вычислениях. Реализации базового языка имеют много общих функций, если вы используете их для обработки данных (например, матричные / векторные операции).

R имеет статистические функции, которые трудно найти где-либо еще (> 2000 пакетов на CRAN ) , и многие статистики его используют. С другой стороны, MATLAB имеет множество (дорогих) наборов инструментов для инженерных приложений, таких как

  • обработка изображений / получение изображений,
  • проектирование фильтров,
  • нечеткая логика / нечеткое управление,
  • уравнения в частных производных,
  • ]так далее.
32
ответ дан 23 November 2019 в 23:33
поделиться

Мы не можем, потому что это ожидаемые / требуемые нашими клиентами.

9
ответ дан 23 November 2019 в 23:33
поделиться

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

Примером того, что MATLAB может делать, чего R не может, является интерфейс с аппаратными средствами реального времени для обработки / сбора сигналов и управления. Модель Simulink в MATLAB может быть настроена как для запуска в моделировании на вашем компьютере перед компиляцией кода для выполнения в реальной системе, принимая измеренные данные в качестве входных данных, так и для вычисления соответствующих выходных данных (что было до моделирования управления теперь система полностью функционирует). С соответствующей аппаратной платой на вашем компьютере вы можете запускать системы управления в реальном времени через ПК.

R, напротив, кажется твердо установленным на роль статистики, где я уверен, что он превосходит то, что может MATLAB делать. Аналогичным образом, Mathematica лучше, чем MATLAB в символьной математике; Python лучше MATLAB в общем программировании; gnuplot лучше всех их в создании графиков (э-э, я полагаю); и так далее.

11
ответ дан 23 November 2019 в 23:33
поделиться

По моему опыту, переход с MATLAB на Python является более простым переходом - Python с numpy / scipy ближе к MATLAB с точки зрения стиля и возможностей, чем R. Существуют также прямые клоны MATLAB с открытым исходным кодом Octave и Scilab .

Конечно, MATLAB может многое, чего R не может - в моей области MATLAB часто используется для сбор данных в реальном времени - большинство производителей оборудования включают интерфейсы MATLAB. Хотя это может быть возможно с R, я полагаю, что это было бы намного сложнее. Кроме того, Simulink предоставляет целый ряд функций, которые, как мне кажется, отсутствуют в R. Я уверен, что их есть еще, но я не так хорошо знаком с R.

Конечно, MATLAB может многое, чего R не может - в моей области MATLAB часто используется для сбора данных в реальном времени - большинство производителей оборудования включают интерфейсы MATLAB. Хотя это может быть возможно с R, я полагаю, что это было бы намного сложнее. Кроме того, Simulink предоставляет целый ряд функций, которые, как мне кажется, отсутствуют в R. Я уверен, что есть еще кое-что, но я не так хорошо знаком с R.

Конечно, MATLAB может многое, чего R не может - в моей области MATLAB часто используется для сбора данных в реальном времени - большинство производителей оборудования включают интерфейсы MATLAB. Хотя это может быть возможно с R, я предполагаю, что это будет намного сложнее. Кроме того, Simulink предоставляет целый ряд функций, которые, как мне кажется, отсутствуют в R. Я уверен, что их есть еще, но я не так хорошо знаком с R.

21
ответ дан 23 November 2019 в 23:33
поделиться

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

  • Такие функции, как оптимизация, которые помогают в исследованиях гидродинамики.

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

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

Еще я должен отметить, что MATLAB отладчик - один из лучших, с которыми мне приходилось работать.

Основное преимущество R, которое я вижу, - это открытость системы и легкость, с которой ее можно расширять. Это привело к невероятному разнообразию пакетов на CRAN. Я знаю, что Mathworks также поддерживает репозиторий пользовательских наборов инструментов, и я не могу провести честное сравнение, поскольку я не использовал его так часто.

Открытость R также распространяется на компоновку в скомпилированном коде. Некоторое время назад у меня была модель, написанная на Фортране, и я пытался решить, использовать ли R или MATLAB в качестве интерфейса, чтобы помочь подготовить ввод и обработать результаты. Я час читал об интерфейсе MEX для скомпилированного кода. Когда я обнаружил, что мне придется написать и поддерживать отдельную подпрограмму Fortran, которая выполняет некоторые сложные манипуляции с указателями для управления интерфейсом, я отложил MATLAB.

Интерфейс R состоит из вызова .Fortran ([имя подпрограммы], [ список аргументов]) и просто быстрее и чище.

26
ответ дан 23 November 2019 в 23:33
поделиться

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

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

Подводя итог, если вы хотите проводить статистику, используйте R. Если вы хотите программировать, используйте MATLAB или какой-нибудь язык программирования.

4
ответ дан 23 November 2019 в 23:33
поделиться

Я согласен со многими ответами, данными выше. Поскольку ответ специфичен для различия возможностей MATLAB и R, я упомяну один очень важный: MATLAB включает в себя JVM и имеет безупречную и надежную функциональную совместимость с Java. Вся обширная вселенная библиотек Java доступна пользователю MATLAB. MATLAB IDE можно использовать почти как бедный Eclipse. Для сравнения, rJava очень незрелая, несмотря на очень ценные усилия ее создателя (Романа Франсуа).

11
ответ дан 23 November 2019 в 23:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: