programing

R이 할 수 없는 MATLAB이 할 수 있는 것은 무엇입니까?

linuxpc 2023. 6. 25. 18:30
반응형

R이 할 수 없는 MATLAB이 할 수 있는 것은 무엇입니까?

사람들이 MATLAB 라이센스가 너무 비싸다고 불평하는 것을 자주 듣습니다.그렇다면 왜 옥타브나 R만 사용하지 않는지 궁금합니다.하지만 후자가 맞습니까?R을 사용하여 MATLAB을 대체할 수 있습니까?

R을 사용하여 MATLAB을 대체할 수 있습니까?

네.

저는 수년간 MATLAB을 사용했지만 지난 3년간 주로 R로 전환했습니다.이 시점에서, 그들은 그렇지 않은 것보다 훨씬 더 많은 공통점을 가지고 있습니다.사용자의 필드와 사용 사례에 따라 부분적으로 다릅니다.그리고 스펜서 그레이브스가 앞서 말했듯이, 그것은 또한 어떤 "당신이 우연히 자주 가는 교회"에 달려 있습니다.결정하기 전에 특정 작업에 대해 MATLAB 툴킷과 CRAN을 비교하는 것이 가장 좋습니다.

전과 최근R-Help에 대한 비슷한 질문있었습니다.David Hiebeler(메인 대학)는 광범위한R/MATLAB 비교를 유지하고 있으며 이 주제에 대한 최고의 참고 자료입니다.기본 기능의 이 비교를 검토할 수도 있습니다.

여기 제가 과거에 관찰했던 것들 중 어떤 것도 거래를 위반해서는 안 되는 것들이 있습니다.

  • 일반적으로 MATLAB은 더 나은 프로그래밍 환경(예: 더 나은 문서, 더 나은 디버거, 더 나은 객체 브라우저)을 가지고 있으며 사용하기가 더 쉽습니다(원하는 경우 어떠한 프로그래밍도 하지 않고도 MATLAB을 사용할 수 있습니다).시뮬레이션 링크를 사용하면 그래프에서 블록을 연결하여 시각적으로 프로그래밍할 수 있습니다.REVOLUTION은 디버깅을 개선하여 더 나은 IDE를 제공함으로써 이러한 차이점일부를 해결하고 있지만, 여전히 한 단계 뒤쳐져 있습니다.
  • MATLAB은 일반적인 구성(를 들어 이 벤치마크 참조)보다 약간 빠릅니다. 하지만 문제가 될 경우 R 성능을 개선하기 위해 수행할 수 있는 작업이 있습니다.
  • 상업적이기 때문에 "제품"(통합 추가 기능)과 지원(비용은 지불)이 더 많습니다.제품 목록을 참조하십시오.예를 들어, MATLAB 컴파일러와 같은 것들이 있는데, MATLAB 프로그램들은 배포할 수 있습니다.
  • 패키지/툴킷에 관한 한, MATLAB은 물리학을 훨씬 더 많이 지원하는 반면 R은 통계학에 더 강합니다. 즉, 다른 쪽이 이러한 작업을 수행할 수 없다는 것은 아닙니다.그리고 둘 다 쉽게 확장할 수 있습니다.

따라서 사용 편의성이 주요 관심사가 아니라면(그리고 오픈 소스 도구를 사용하는 것을 피할 수 있는 다른 비즈니스 이유가 없음) R을 사용하는 것에 대한 실제 사례가 있다고 생각합니다.그것은 주변에 매우 강력한 커뮤니티를 가지고 있으며(R 메일링 목록은 놀랍다), 빠르게 발전하고 있으며(CRAN 참조), 무료입니다(이것은 작은 문제가 아닙니다!)

편집: 여기에 한 가지 더 추가하겠습니다. "R 및 MATLAB을 사용한 기능 데이터 분석" 책에는 "매트랩 및 R 언어의 필수 비교"에 대한 장이 포함되어 있습니다.여기에서는 몇 가지 중요한 구문 차이(예: 점의 해석 또는 대괄호 []의 의미)를 다룹니다.이 책 자체는 함수형 프로그래밍에 관심이 있는 사람이라면 누구나 읽을 가치가 있습니다.

R은 통계 데이터 분석 및 그래픽 환경이며, MATLAB의 기원은 수치 계산입니다.기본 언어 구현은 데이터 조작(예: 매트릭스/벡터 작업)에 사용하는 경우 많은 공통 기능을 가지고 있습니다.

R은 다른 곳에서는 찾기 힘든 통계 기능(>CRAN의 2000 패키지)을 가지고 있으며, 많은 통계학자들이 이 기능을 사용합니다.반면에 MATLAB은 다음과 같은 엔지니어링 애플리케이션을 위한 많은 (비싼) 도구 상자를 가지고 있습니다.

  • 이미지 처리/이미지 획득,
  • 필터 설계,
  • 퍼지 논리/모호 제어,
  • 편미분 방정식,
  • 기타.

저는 R과 MATLAB을 모두 사용하여 환경 공학과 관련된 문제를 해결하고 모델을 구성해 왔으며 두 시스템 사이에 겹치는 부분이 많습니다.제 생각에 MATLAB의 장점은 전문화된 도메인별 애플리케이션에 있습니다.몇 가지 예는 다음과 같습니다.

  • 유체 역학 조사에 도움이 되는 유선형과 같은 기능.

  • 이미지 처리 도구 세트와 같은 도구 상자입니다.유역 알고리즘과 같은 툴의 동등한 구현을 제공하는 R 패키지를 찾지 못했습니다.

제 생각에 MATLAB은 훨씬 더 나은 대화형 그래픽 기능을 제공합니다.하지만 응용 프로그램에 따라 R이 더 나은 정적인 인쇄 품질의 그래픽을 생성한다고 생각합니다. MATLAB의 심볼릭 수학 도구 상자 또한 Ryacas나 rSymPy와 같은 R의 동등한 것보다 더 잘 통합되고 더 능력이 있습니다.또한 MATLAB 컴파일러의 존재는 MATLAB 코드 기반 시스템을 MATLAB 환경과 독립적으로 배포할 수 있게 합니다. 사용 가능 여부는 사용자가 사용해야 하는 비용에 따라 달라집니다.

제가 주목해야 할 또 다른 점은 MATLAB 디버거가 제가 함께 일했던 최고 중 하나라는 것입니다.

제가 R에서 본 주요 장점은 시스템의 개방성과 확장이 용이하다는 것입니다.이로 인해 CRAN의 패키지는 놀라울 정도로 다양해졌습니다.저는 Mathworks 또한 사용자 제공 도구 상자의 저장소를 관리하고 있다는 것을 알고 있으며, 저는 그것을 많이 사용하지 않았기 때문에 공정한 비교를 할 수 없습니다.

R의 개방성은 컴파일된 코드의 링크로도 확장됩니다.얼마 전에 Fortran으로 작성된 모델을 가지고 있었는데 입력을 준비하고 결과를 처리하는 데 도움이 되는 프런트 엔드로 R 또는 MATLAB을 사용할지 결정하려고 했습니다.저는 컴파일된 코드에 대한 MEX 인터페이스에 대해 읽으며 한 시간을 보냈습니다.인터페이스를 관리하기 위해 복잡한 포인터 저글링을 수행하는 별도의 Fortran 루틴을 작성하고 유지해야 한다는 것을 알았을 때, 저는 MATLAB을 보류했습니다.

R 인터페이스는 호출로 구성됩니다.Fortran([서브루틴 이름], [인수 목록]) 및 단순하게 더 빠르고 깨끗합니다.

R에 비해 MATLAB의 큰 장점 중 하나는 MATLAB 문서의 품질입니다.오픈 소스인 R은 이 점에서 많은 오픈 소스 프로젝트의 공통적인 기능인 어려움을 겪고 있습니다.

그러나 R은 매우 유용한 환경이자 언어입니다.생물정보학계에서 널리 사용되고 있으며 이 분야에서 유용한 패키지가 많이 있습니다.

R의 대안은 Octave(http://www.gnu.org/software/octave/) 로 MATLAB과 매우 유사하며 MATLAB 스크립트를 실행할 수 있습니다.

경험상 MATLAB에서 Python으로 전환하는 것이 더 쉽습니다. Numpy/scipy를 사용하는 Python은 R보다 스타일과 기능 면에서 MATLAB에 더 가깝습니다.오픈 소스 직접 MATLAB 클론 Octave 및 Scilab도 있습니다.

실시간 데이터 수집에 많이 사용되는 MATLAB은 대부분의 하드웨어 회사에 MATLAB 인터페이스가 포함되어 있습니다.이것은 R로 가능할지 모르지만, 저는 훨씬 더 많이 관여할 것이라고 생각합니다.또한 Simulink는 R에서 누락된 전체 기능 영역을 제공합니다.더 있을 거라고 확신하지만 R에 대해서는 잘 모릅니다.

짧은 대답: 아니요, 물론 아닙니다.수학적 소프트웨어 패키지 세트에는 중복이 있지만 항상 특정 문제 영역에 대한 편견이 있습니다.이러한 편견은 이러한 패키지 중 하나를 사용할지 여부에 따라 크게 달라집니다.

R이 할 수 없는 MATLAB의 기능 중 하나는 신호 처리/획득 및 제어를 위한 실시간 하드웨어 인터페이스입니다.MATLAB의 Simulink 모델은 실제 시스템에서 실행할 코드를 컴파일하기 전에 기계에서 시뮬레이션으로 실행되도록 구성할 수 있으며, 측정된 데이터를 입력으로 사용하고 적절한 출력을 계산합니다(제어 시스템 시뮬레이션 이전에는 완전히 작동했습니다).컴퓨터에 적절한 하드웨어 보드가 있으면 PC를 통해 실시간 제어 시스템을 실행할 수 있습니다.

R은 대조적으로 MATLAB이 수행할 수 있는 것보다 성능이 우수하다고 확신하는 통계의 역할에 확고하게 자리 잡은 것 같습니다.마찬가지로, Mathematica는 기호 수학에서 MATLAB보다 낫습니다. Python은 일반 프로그래밍에서 MATLAB보다 낫습니다. gnuplot은 실제로 그래프를 만드는 모든 것보다 낫습니다(er, 제 생각에는).

저는 위에 제시된 많은 답변에 동의합니다.그 답은 MATLAB과 R 기능의 차이에 한정되어 있기 때문에, 저는 매우 중요한 것을 언급할 것입니다. MATLAB은 JVM을 포함하고 있으며 Java와의 완벽하고 강력한 상호 운용성을 갖추고 있습니다.MATLAB 사용자는 Java의 방대한 라이브러리를 모두 이용할 수 있습니다.MATLABIDE는 가난한 사람들의 이클립스로 거의 사용될 수 있습니다.이에 비해 rJava는 창작자(로마 프랑수아)의 매우 귀중한 노력에도 불구하고 매우 미숙합니다.

고객의 예상/요구사항이기 때문에 그럴 수 없습니다.

sqldf 패키지를 사용하면 R은 시스템에 RAM이 충분하다고 가정할 때 통계뿐만 아니라 심각한 데이터 마이닝도 수행할 수 있습니다.

그리고 RServe 패키지를 사용하면 R이 일반 TCP/IP 서버가 되므로 Java(또는 api가 있는 경우 다른 언어)에서 R을 호출할 수 있습니다.또한 R에는 Java 또는 R을 호출하는 패키지가 있습니다.

MATLAB과 R의 사용자로서, 저는 그들이 매우 다른 애플리케이션이라고 생각합니다.저 자신도 컴퓨터 과학 등에 대한 배경 지식이 있고, R은 통계학자들의 것이고, MATLAB은 프로그래머들의 것이라고 생각하지 않을 수 없습니다.

R은 모든 종류의 통계 자료를 시각화하고 계산하는 것을 매우 쉽게 만들지만, 만약 그것이 나에게 달려 있다면 나는 그것을 사용하여 신호 처리와 관련된 어떤 것도 구현하지 않을 것입니다.

요약하면 통계량을 수행하려면 R을 사용합니다.프로그래밍을 하려면 MATLAB 또는 일부 프로그래밍 언어를 사용합니다.

대화형 그래픽에 대한 지원은 R보다 matlab에서 훨씬 더 좋습니다.언어로서의 matlab은 싫지만 사용자가 마우스 조작으로 데이터를 탐색할 수 있는 방법을 보면 질투가 나요.xlim또한 Matlab은 작업에 대한 R 방법보다 다중 패널 그림을 훨씬 더 잘 처리합니다.일반적으로 R 그래픽은 1960년대 느낌입니다.출판에는 좋지만 데이터의 대화형 탐색을 위한 최상의 솔루션은 아닙니다.

언급URL : https://stackoverflow.com/questions/1738087/what-can-matlab-do-that-r-cannot-do

반응형