청구서는 좀처럼 항목으로 딱 떨어져 오지 않는다. 연구실에서 좌석 하나에 Simulink를 추가하고 싶어 할 때, 논문 한 챕터 마감이 코앞인 주에 캠퍼스 라이선스가 만료될 때, 혹은 작은 회사가 필요한 제어 툴박스 가격이 그것을 돌릴 노트북보다 비싸다는 걸 뒤늦게 알게 될 때 청구서는 도착한다. MATLAB이 버려지는 이유는 누군가 편집기가 마음에 안 들어서인 경우가 거의 없다. 라이선스가, 소프트웨어가 아니라 라이선스가 누가 계속 쓸 수 있는지를 결정하기 때문에 버려진다.
그래서 쓸모 있는 질문은 “어떤 무료 도구가 가장 좋은가”가 아니다. “내가 실제로 하는 작업에 어떤 무료 도구가 맞는가”이다. 이를 결정하는 네 가지가 있고, 그중 어느 것도 기능 목록이 아니다. 벗어나려는 라이선스, 책상 위에 놓인 계산의 종류(행렬 스크립트인지, 블록선도 모델인지, 아니면 통계인지), 함께 가져가야 할 기존 .m 코드가 얼마나 많은지, 그리고 벤더 지원 없이 지낼 수 있는지다. 이 기준으로 작업을 정렬해 보면 선택은 거의 스스로 정해진다.
라이선스부터 시작하라, 진짜 문제는 그것이기 때문이다
MATLAB은 MathWorks가 좌석 단위로 판매하는 독점 상용 소프트웨어이며, Simulink와 각 툴박스는 별도의 항목으로 가격이 매겨진다. 구독이거나, 영구 구매에 최신 버전 유지를 위한 연간 요금을 더한 형태다. 일반적인 무료 등급은 없다. 진정으로 무료인 경로는 하나뿐이며 그것은 기관을 통한 것이다. MathWorks는 학생들에게 학교가 무제한 접근을 제공할 수 있다고 안내하므로, 가장 먼저 확인할 것은 당신의 대학이 이미 캠퍼스 전체 라이선스를 운영하고 있는지다. 그렇다면 오늘 MATLAB은 당신에게 아무 비용도 들지 않으며, 이 모든 질문은 졸업하거나 연구실을 떠나는 날에 관한 것이 된다. 그렇지 않다면 아래의 대안들이 전체 답이 된다.

ChatGPT 인터페이스 (이미지: OpenAI). 망가진 MATLAB 코드 조각을 Python으로 옮기는 데는 편리하지만, 그것이 돌려주는 숫자를 믿는 데는 절대 써서는 안 된다.
무엇을 계산하느냐가 어떤 클론을 설치할지 결정한다
행렬 스크립트는 쉬운 경우다. 가장 가까운 오픈소스 클론 두 가지는 GNU Octave와 Scilab이며, 위키백과의 요약 자체도 이 둘을 MATLAB의 두 가지 주요 오픈소스 대안으로 꼽는다. Octave는 MATLAB 문법을 실행하도록 만들어졌다. 그 문서는 꼼꼼히 작성된 .m 스크립트라면 두 시스템 모두에서 실행된다고 설명한다. 따라서 그저 MATLAB 문법일 뿐인 과제라면 Octave가 가장 짧은 경로다. 현재 안정 버전은 Octave 11.3.0이며, GPLv3-or-later 라이선스다.
현재 2026.1.0 버전이며 오픈소스 라이선스로 무료인 Scilab은 작업이 스크립트가 아니라 모델일 때 선택할 대상이다. Scilab은 블록선도로부터 연속 및 이산 동역학 시스템을 시뮬레이션하기 위한, Simulink에 해당하는 오픈소스 대응물인 Xcos를 함께 제공한다. 문제는 포맷이다. Xcos는 .slx Simulink 모델을 가져올 수 없으므로, Simulink 프로젝트는 여는 것이 아니라 다시 만드는 것이다.
목적지가 머신러닝, 데이터 파이프라인, 혹은 프로덕션에서 실행되어야 하는 무엇이든 간에 Python이 기본적으로 승리한다. NumPy, SciPy, pandas, scikit-learn이 수치 연산의 핵심을 담당하고, 그 기술은 데이터를 다루는 모든 직무로 이어진다. 원시 속도가 중요하고 코드가 무거운 수치 연구에서는 Julia(MIT 라이선스, 1.12 계열은 2025년 10월에 출시되었고 2026년 8월에도 1.12.12로 패치가 계속되었다)가 현대적인 대안이지만, 더 작은 생태계를 배워야 한다는 요구가 따른다. 작업이 수치라기보다 통계라면, 정직한 답은 어떤 MATLAB 클론도 아닌 R이다. 자세한 내용은 우리의 SPSS 대안 가이드에서 다룬다.
마이그레이션의 관건은 문법이 아니라 툴박스다
“양쪽에서 실행된다”는 핵심 언어에 대해서만 성립하고 거기서 멈춘다. 독점 툴박스 함수들은, 대개 그 비싼 라이선스가 존재했던 이유인데, Octave나 Scilab에 대응물이 아예 없거나, 이름이 다르고 동작이 조금씩 다른 대응물만 있을 때가 많다. 흔한 선형대수, 플로팅, 신호 함수는 있다고 예상하고, 특수한 함수들은 다시 작성해야 한다고 예상하라. 그 재작성이 모든 무료 경로의 숨은 값이다. 소프트웨어는 무료지만, 그 몇 주는 무료가 아니다.
본격적으로 뛰어들기 전에 작업량을 가늠하는 빠른 방법
가장 큰 .m 파일을 열고 즉시 이름을 댈 수 없는 툴박스 함수의 개수를 세어 보라. 그 수가 적다면 Octave가 당장 당신을 지탱해 줄 것이다. 많다면 마이그레이션은 진짜 프로젝트이며, 결정은 “어떤 클론”에서 “앞으로 5년간 어떤 언어에 능숙해지고 싶은가”로 옮겨간다. 그리고 그 답은 보통 Python이나 Julia다.
작업에 도구를 맞추기
- MATLAB 문법의 학부 과제 — GNU Octave. 같은 문법, GPLv3, Windows, macOS, Linux에서 실행되며, 당신이 받은
.m파일을 열어 준다. - 블록선도로 구성된 제어, 신호 및 엔지니어링 시뮬레이션 — Xcos를 포함한 Scilab. 무료 도구가 유료 워크플로를 블록 하나까지 그대로 따라가는 유일한 경우다.
- 데이터 과학, 머신러닝, 혹은 프로덕션으로 향하는 코드 — NumPy, SciPy, scikit-learn을 곁들인 Python. 생태계에 먼저 투자할 의향이 있을 때만 선택하라.
- 성능이 중요한 수치 연구 — 느린 루프가 실제 병목이고 수학에서 벗어나지 않으면서 컴파일 언어를 원할 때 Julia.
- 통계와 연구 보고 — R. 그 패키지들과 APA 스타일 출력 덕분에 분석 쪽의 자연스러운 거처가 된다. 더 긴 비교는 SPSS 대안 가이드를 참고하라.
| 하는 일이… | 선택할 도구 | 이유 |
|---|---|---|
| MATLAB 문법 과제 | GNU Octave 11.3 | .m을 거의 그대로 실행, 라이선스 불필요 |
| 블록선도 시뮬레이션 | Scilab + Xcos | 오픈소스 Simulink 대응물 |
| 머신러닝 / 프로덕션 코드 | Python (NumPy, SciPy, scikit-learn) | MATLAB을 훨씬 뛰어넘는 생태계와 직무 가치 |
| 속도가 중요한 수치 연구 | Julia (MIT) | 수학에서 벗어나지 않고 얻는 컴파일 속도 |
| 통계와 보고 | R | 행렬 스크립트가 아니라 분석 출력을 위해 설계됨 |
“무료”를 비싸게 만드는 세 가지 함정
클론이 그대로 대체된다고 가정하기. Octave는 문법을 실행하지, 툴박스를 실행하지 않는다. 독점 함수를 호출하는 스크립트는 실패하거나 조용히 다른 숫자를 반환하며, 그 차이는 마감에 쫓기면 놓치기 쉽다. 과제에서 이미 제공한 예제로 테스트하라.
대체할 수 없는 소프트웨어를 잊기. 학과나 고객이 .slx 모델을 건네고 .slx로 돌려받기를 기대한다면, 어떤 무료 도구도 그 고리를 닫아 주지 못한다. 고통스러운 우회보다 유료 좌석 하나를 예산에 넣어라.
챗봇에게 수학을 맡기기. 범용 어시스턴트는 오류를 설명하거나 문법을 변환하는 데는 정말 유용하지만, 주저 없이 결과를 지어내기도 한다. 번역과 설명에는 쓰되, 문서와 대조해 검증하라. ChatGPT는 그 용도로는 괜찮지만 계산기로는 쓸모없다. 논문 작성을 위한 AI 도구 가이드도 어시스턴트를 그 역할에 묶어 둔다.
자주 나오는 질문
GNU Octave는 정말 MATLAB의 그대로 대체되는가? 핵심 언어 스크립트라면 대부분의 과제가 그대로 실행될 정도로 가깝다. 특정 툴박스에 의존하는 것이라면 아니다. 의지하기 전에 각 함수를 확인하라.
내 Simulink 모델을 무료 도구에서 열 수 있는가? 직접적으로는 안 된다. Xcos가 그에 해당하는 워크플로지만 .slx 파일은 가져오지 못하므로 모델은 다시 만들어야 한다. 스크립트와 데이터는 옮겨 가지만, 블록선도는 옮겨 가지 않는다.
학생들은 정말 MATLAB을 무료로 받는가? 자주 그렇다, 캠퍼스 라이선스를 통해서다. MathWorks는 학교가 학생들에게 무제한 접근을 제공할 수 있다고 말한다. 무엇이든 구매하기 전에 당신 대학의 소프트웨어 페이지에서 확인하라.
Python은 MATLAB만큼 빠른가? 벡터화된 배열 코드에서는 대체로 비슷하다. 격차는 빡빡한 루프에서 나타나며, 바로 그곳에서 Julia가 제 역할을 얻는다.
다음에 할 일
먼저 Octave를 설치하라. 몇 분이면 되고, 이미 가진 .m 파일을 열어 주며, 당신 작업 중 얼마가 핵심 언어이고 얼마가 툴박스인지 즉시 알려 준다. 툴박스 함수가 적다면 끝난 것이고 라이선스 하나를 아낀 셈이다. 많다면 진짜 다음 단계가 Python이나 Julia라는 걸 방금 알게 된 것이며, 마감에 쫓기지 않고 의도적으로 그것을 시작할 수 있다. 어느 쪽이든, 다운로드 한 번이면 오늘 밤 답이 나온다.
버전, 라이선스, 학생 접근 관련 세부 사항은 2026년 10월에 GNU Octave, Scilab, Julia, MathWorks 사이트를 기준으로 확인했다. Octave 11.3.0, Scilab 2026.1.0, Julia 1.12.12. MATLAB과 그 툴박스는 독점이며 별도로 가격이 매겨진다. 현재 수치는 지역마다 다르므로 MathWorks 가격 페이지를 참고하라. 이 글을 위해 직접 사용해 본 제품은 없다.