맨위로가기

매트랩

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

매트랩(MATLAB)은 "MATrix LABoratory"의 약자로, 1970년대 후반 클리브 몰러에 의해 개발된 수치 해석, 시뮬레이션 및 프로그래밍을 위한 소프트웨어이다. 1984년 매스웍스 사가 설립되어 상업적으로 출시되었으며, 제어 공학 분야에서 시작하여 선형대수, 수치 해석, 신호 처리 등 다양한 분야로 확장되었다. MATLAB은 툴박스, 그래픽 기능, 객체 지향 프로그래밍 지원, 그리고 다른 언어와의 연동을 제공하며, 학계와 산업계에서 널리 사용된다. 라이선스는 목적과 사용자에 따라 산업용, 학생용, 개인용 등으로 구분되며, 연간 구독형과 영구 버전으로 제공된다.

더 읽어볼만한 페이지

  • 컴퓨터 대수학 시스템 - 울프럼 알파
    울프럼 알파는 자연어 처리 기반 지식 엔진으로, 텍스트 입력을 통해 질문에 대한 답변과 복잡한 계산, 통계 분석, 금융 계산 등의 연산 결과를 제공하고 시각화한다.
  • 컴퓨터 대수학 시스템 - 울프럼 언어
    울프럼 언어는 울프럼 리서치에서 개발한 기호 계산 프로그래밍 언어로서, 매스매티카에 처음 소개된 후 3차원 모델링, 데이터 분석, 이미지 처리 등의 기능이 추가되어 과학, 공학, 금융, 데이터 과학 등 다양한 분야에서 활용되고 있으며, 특히 라즈베리 파이 버전 무료 제공으로 대중적으로 알려졌다.
  • 윈도우용 컴퓨터 대수학 시스템 소프트웨어 - 메이플 (소프트웨어)
    메이플은 Maplesoft에서 개발한 컴퓨터 대수 시스템 소프트웨어로, 기호 및 수치 계산, 시각화, 프로그래밍 기능을 제공하며 수학적 모델링, 시뮬레이션, 데이터 분석 등에 활용되어 교육 및 연구 개발 분야에서 널리 사용된다.
  • 윈도우용 컴퓨터 대수학 시스템 소프트웨어 - 맥시마 (소프트웨어)
    맥시마는 MIT에서 개발된 Macsyma를 기반으로 GPL 라이선스 하에 공개된 오픈 소스 컴퓨터 대수 시스템으로, 기호 연산, 임의 정밀도 연산, 프로그래밍 기능 등을 제공하며 프로그래밍 교육 및 컴퓨터 대수 교육용으로 활용 가능하다.
  • MacOS용 컴퓨터 대수학 시스템 소프트웨어 - 메이플 (소프트웨어)
    메이플은 Maplesoft에서 개발한 컴퓨터 대수 시스템 소프트웨어로, 기호 및 수치 계산, 시각화, 프로그래밍 기능을 제공하며 수학적 모델링, 시뮬레이션, 데이터 분석 등에 활용되어 교육 및 연구 개발 분야에서 널리 사용된다.
  • MacOS용 컴퓨터 대수학 시스템 소프트웨어 - 맥시마 (소프트웨어)
    맥시마는 MIT에서 개발된 Macsyma를 기반으로 GPL 라이선스 하에 공개된 오픈 소스 컴퓨터 대수 시스템으로, 기호 연산, 임의 정밀도 연산, 프로그래밍 기능 등을 제공하며 프로그래밍 교육 및 컴퓨터 대수 교육용으로 활용 가능하다.
매트랩 - [IT 관련 정보]에 관한 문서
개요
매트랩 로고
L자형 막 로고
개발사매스웍스
출시일1984년
최신 안정 버전R2023b
최신 안정 버전 출시일2023년 9월 19일
프로그래밍 언어C/C++, MATLAB
운영체제윈도우, macOS, 리눅스
플랫폼IA-32, x86-64, ARM64
장르수치 컴퓨팅
라이선스사유 상용 소프트웨어
웹사이트mathworks.com
프로그래밍 언어 정보
이름MATLAB (프로그래밍 언어)
패러다임멀티패러다임: 함수형, 명령형, 절차형, 객체 지향,
자료형동적, 약한
구현체MATLAB 소프트웨어, GNU Octave, Sysquake
영향을 준 언어APL
EISPACK
Fortran
LINPACK
PL/0
Speakeasy
영향을 받은 언어Julia
Octave
Scilab
INTLAB
파일 확장자.m, .p, .mex*, .mat, .fig, .mlx, .mlapp, .mltbx, .mlappinstall, .mlpkginstall
웹사이트mathworks.com

2. 역사

MATLAB은 "MATrix LABoratory"의 약자로, 1970년대 후반, 훗날 뉴멕시코 대학교 컴퓨터 과학과 학과장이 되는 클리브 몰러에 의해 개발되었다. 그는 학생들이 포트란을 배우지 않고도 LINPACK 및 EISPACK에 접근할 수 있도록 이 소프트웨어를 설계했다.[24] 이는 곧 다른 대학교로 확산되어 응용 수학 커뮤니티 사이에서 화제가 되었다. 엔지니어 존 N. 리틀/존 N. 리틀영어1983년에 몰러를 방문했을 때 이를 보고 상업적 가능성에 주목했다. 그들은 MATLAB을 C 언어로 다시 작성하고 개발을 지속하기 위해 1984년매스웍스 사를 설립했다. 이 다시 작성된 라이브러리는 애정을 담아 JACKPAC으로 알려졌다.[24] MATLAB은 처음에는 리틀의 전문 분야인 제어 공학에서 채택되었지만, 곧 다른 분야로 확산되었다. 현재는 교육에도 사용되며, 특히 선형대수, 수치 선형대수 및 수치 해석 강의에 사용된다.

클리브 몰러는 1960년대 박사 학위 논문을 바탕으로 MATLAB의 아이디어를 얻었다.[24] 몰러는 뉴멕시코 대학교의 수학 교수가 되어 학생들을 위해 취미로 MATLAB을 개발하기 시작했다.[24][26] 그는 조지 포사이트와 함께 1967년에 MATLAB의 초기 선형 대수 프로그래밍을 개발했고,[24] 1971년에는 선형 방정식을 위한 포트란 코드가 개발되었다.[24]

1970년대 후반에 완성된 MATLAB의 첫 번째 초기 버전은 단순한 대화형 행렬 계산기였다.[25][24] 프로그램, 툴박스, 그래픽, 상미분 방정식, 고속 푸리에 변환 기능은 없었다.[25] 1979년 2월 캘리포니아 해군대학원에서 처음 공개되었으며,[26] 초기 버전은 71개의 사전 구축된 기능을 가진 단순한 행렬 계산기였다.[27] 당시 MATLAB은 대학에 무료로 배포되었고,[28][29][30] 몰러는 방문하는 대학에 복사본을 남겨두어 대학 캠퍼스의 수학과에서 강력한 지지를 얻었다.[31]

1980년대에 클리브 몰러는 존 N. 리틀을 만났고, 이들은 MATLAB을 C로 다시 프로그래밍하고, 당시 메인프레임 컴퓨터를 대체하고 있던 IBM 데스크탑용으로 판매하기로 결정했다.[24] 존 리틀과 프로그래머 스티브 뱅거트는 MATLAB을 C로 다시 프로그래밍하고, MATLAB 프로그래밍 언어를 만들었으며, 툴박스 기능을 개발했다.[26]

1984년 라스베이거스에서 열린 자동 제어 컨퍼런스에서 MATLAB은 상업용 제품으로 처음 출시되었다.[24][26] 매스웍스는 이 소프트웨어를 개발하기 위해 설립되었으며[29], MATLAB 프로그래밍 언어가 출시되었다.[27] 다음 해에 첫 MATLAB 판매가 이루어졌는데, 매사추세츠 공과대학교의 닉 트레페튼이 10개의 사본을 구매했다.[26][32]

1980년대 말까지, 수백 개의 MATLAB 사본이 학생용으로 대학에 판매되었다.[26] 이 소프트웨어는 다양한 분야의 전문가들이 전문적인 수학 작업을 수행하기 위해 만든 툴박스 덕분에 널리 보급되었다.[28] 많은 툴박스가 스탠퍼드 대학교 학생들이 학계에서 MATLAB을 사용한 후, 이를 가지고 민간 부문으로 진출하면서 개발되었다.[26]

시간이 지나면서 MATLAB은 디지털 이큅먼트 코퍼레이션, VAX, 선 마이크로시스템즈에서 개발한 초기 운영 체제와 유닉스 PC를 위해 다시 작성되었다.[26][27] 1987년에 버전 3이 출시되었다.[33] 최초의 MATLAB 컴파일러는 1990년대에 스티븐 C. 존슨에 의해 개발되었다.[27]

2000년, 매스웍스는 MATLAB 6에 선형 대수를 위한 포트란 기반 라이브러리를 추가하여, C로 작성된 소프트웨어의 원래 LINPACK 및 EISPACK 서브루틴을 대체했다.[27] MATLAB의 병렬 컴퓨팅 툴박스는 2004년 슈퍼컴퓨팅 컨퍼런스에서 출시되었으며, 2010년에는 그래픽 처리 장치(GPU) 지원이 추가되었다.[27]

2012년 버전 8에서 대규모 소프트웨어 변경이 이루어졌으며, 사용자 인터페이스가 개선되고 시뮬링크의 기능이 확장되었다.[34][35] 2016년에는 MATLAB 라이브 편집기 노트북 및 기타 기능을 포함한 여러 기술 및 사용자 인터페이스 개선 사항이 도입되었다.[27]

MATLAB은 R2006a 이후 3월과 9월에 연 2회 정기적으로 제품군을 출시하며, 버전 명명 방식은 출시 연도와 함께 'a'(3월 또는 4월 출시) 또는 'b'(9월 또는 10월 출시)를 붙인다.[93] 예를 들어 2022년에 출시된 버전은 R2022a, R2022b와 같다.

R2008a부터는 설치인터넷을 통한 라이선스 인증을 도입했다. 사용 중인 MATLAB 제품군의 버전은 명령 창에서 "ver 명령어"를 통해 확인할 수 있다.

다음은 MATLAB 제품군의 버전 정보이다.

'''MATLAB 제품군 버전'''
릴리스명MATLAB 본체SimulinkStateflow년도
Volume 85.01996
Volume 95.11997
R9.15.1.11997
R105.21998
R10.15.2.11998
R115.31999
R11.15.3.11999
R126.0Simulink 4.0Stateflow 4.02000
R12.16.1Simulink 4.1Stateflow 4.12001
R136.5Simulink 5.0.2Stateflow 5.12002
R13SP16.5.1Simulink 5.1Stateflow 5.1.12003
R13SP26.5.2Simulink 5.2Stateflow 5.1.2
R147Simulink 6.0Stateflow 6.02004
R14SP17.0.1Simulink 6.1Stateflow 6.1
R14SP27.0.4Simulink 6.2Stateflow 6.22005
R14SP37.1Simulink 6.3Stateflow 6.3
R2006a7.2Simulink 6.4Stateflow 6.42006
R2006b7.3Simulink 6.5Stateflow 6.5
R2007a7.4Simulink 6.6Stateflow 6.62007
R2007b7.5Simulink 7.0Stateflow 7.0
R2008a7.6Simulink 7.1Stateflow 7.12008
R2008b7.7Simulink 7.2Stateflow 7.2
R2009a7.8Simulink 7.3Stateflow 7.32009
R2009b7.9Simulink 7.4Stateflow 7.4
R2010a7.10Simulink 7.5Stateflow 7.52010
R2010b7.11Simulink 7.6Stateflow 7.6
R2011a7.12Simulink 7.7Stateflow 7.72011
R2011b7.13Simulink 7.8Stateflow 7.8
R2012a7.14Simulink 7.9Stateflow 7.92012
R2012b8.0Simulink 8.0Stateflow 8.0
R2013a8.1Simulink 8.1Stateflow 8.12013
R2013b8.2Simulink 8.2Stateflow 8.2
R2014a8.3Simulink 8.3Stateflow 8.32014
R2014b8.4Simulink 8.4Stateflow 8.4
R2015a8.5Simulink 8.5Stateflow 8.52015
R2015b8.6Simulink 8.6Stateflow 8.6
R2016a9.0Simulink 8.7Stateflow 8.72016
R2016b9.1Simulink 8.8Stateflow 8.8
R2017a9.2Simulink 8.9Stateflow 8.92017
R2017b9.3Simulink 9.0Stateflow 9.0
R2018a9.4Simulink 9.1Stateflow 9.12018
R2018b9.5Simulink 9.2Stateflow 9.2
R2019a9.6Simulink 9.3Stateflow 10.02019
R2019b9.7Simulink 10.0Stateflow 10.1
R2020a9.8Simulink 10.1Stateflow 10.22020
R2020b9.9Simulink 10.2Stateflow 10.3
R2021a9.10Simulink 10.3Stateflow 10.42021
R2021b9.11Simulink 10.4Stateflow 10.5
R2022a9.12.0Simulink 10.5Stateflow 10.62022
R2022b9.13Simulink 10.6Stateflow 10.7
R2023a9.14.0Simulink 10.7Stateflow 10.82023



1988년부터 일본에서의 매트랩 판매는 사이바넷 시스템 주식회사가 대리점 업무를 수행했다. 그러나 2009년 7월 1일부터 판매 대리점 업무가 MathWorks Japan(MathWorks사의 일본 법인)으로 이관되었다.

매년 11월부터 12월에 사이바넷 시스템이 "MATLAB EXPO"를 개최했으나, 이관으로 인해 2009년부터는 MathWorks Japan이 그 개최를 주최한다. 최근에는 도쿄도 미나토구 오다이바 지구의 호텔 그란퍼시픽 LE 다이바에서 개최되고 있다. 그 규모는 MATLAB 사용자 컨퍼런스로서 세계 최대 규모를 자랑하며, 하루 방문객은 2,000명을 넘어선다. 단일 도구로서의 컨퍼런스로도 유례를 찾아보기 힘들 정도의 규모이다.

2. 1. 기원

클리브 몰러는 1960년대 박사 학위 논문을 바탕으로 MATLAB의 아이디어를 얻었다.[24] 몰러는 뉴멕시코 대학교의 수학 교수가 되어 학생들을 위해 취미로 MATLAB을 개발하기 시작했다.[24][26] 그는 조지 포사이트와 함께 1967년에 MATLAB의 초기 선형 대수 프로그래밍을 개발했고,[24] 1971년에는 선형 방정식을 위한 포트란 코드가 개발되었다.[24]

1970년대 후반에 완성된 MATLAB의 첫 번째 초기 버전은 단순한 대화형 행렬 계산기였다.[25][24] 프로그램, 툴박스, 그래픽, 상미분 방정식, 고속 푸리에 변환 기능은 없었다.[25] 1979년 2월 캘리포니아 해군대학원에서 처음 공개되었으며,[26] 초기 버전은 71개의 사전 구축된 기능을 가진 단순한 행렬 계산기였다.[27] 당시 MATLAB은 대학에 무료로 배포되었고,[28][29][30] 몰러는 방문하는 대학에 복사본을 남겨두어 대학 캠퍼스의 수학과에서 강력한 지지를 얻었다.[31]

1980년대에 클리브 몰러는 존 N. 리틀을 만났고, 이들은 MATLAB을 C로 다시 프로그래밍하고, 당시 메인프레임 컴퓨터를 대체하고 있던 IBM 데스크탑용으로 판매하기로 결정했다.[24] 존 리틀과 프로그래머 스티브 뱅거트는 MATLAB을 C로 다시 프로그래밍하고, MATLAB 프로그래밍 언어를 만들었으며, 툴박스 기능을 개발했다.[26]

2. 2. 상업적 발전

1984년 라스베이거스에서 열린 자동 제어 컨퍼런스에서 MATLAB은 상업용 제품으로 처음 출시되었다.[24][26] 매스웍스는 이 소프트웨어를 개발하기 위해 설립되었으며[29], MATLAB 프로그래밍 언어가 출시되었다.[27] 다음 해에 첫 MATLAB 판매가 이루어졌는데, 매사추세츠 공과대학교의 닉 트레페튼이 10개의 사본을 구매했다.[26][32]

1980년대 말까지, 수백 개의 MATLAB 사본이 학생용으로 대학에 판매되었다.[26] 이 소프트웨어는 다양한 분야의 전문가들이 전문적인 수학 작업을 수행하기 위해 만든 툴박스 덕분에 널리 보급되었다.[28] 많은 툴박스가 스탠퍼드 대학교 학생들이 학계에서 MATLAB을 사용한 후, 이를 가지고 민간 부문으로 진출하면서 개발되었다.[26]

시간이 지나면서 MATLAB은 디지털 이큅먼트 코퍼레이션, VAX, 선 마이크로시스템즈에서 개발한 초기 운영 체제와 유닉스 PC를 위해 다시 작성되었다.[26][27] 1987년에 버전 3이 출시되었다.[33] 최초의 MATLAB 컴파일러는 1990년대에 스티븐 C. 존슨에 의해 개발되었다.[27]

2000년, 매스웍스는 MATLAB 6에 선형 대수를 위한 포트란 기반 라이브러리를 추가하여, C로 작성된 소프트웨어의 원래 LINPACK 및 EISPACK 서브루틴을 대체했다.[27] MATLAB의 병렬 컴퓨팅 툴박스는 2004년 슈퍼컴퓨팅 컨퍼런스에서 출시되었으며, 2010년에는 그래픽 처리 장치(GPU) 지원이 추가되었다.[27]

MATLAB은 "MATrix LABoratory"의 약자로, 1970년대 후반, 훗날 뉴멕시코 대학교 컴퓨터 과학과 학과장이 되는 클리브 몰러에 의해 개발되었다. 그는 학생들이 포트란을 배우지 않고도 LINPACK 및 EISPACK에 접근할 수 있도록 이 소프트웨어를 설계했다. 이는 곧 다른 대학교로 확산되어 응용 수학 커뮤니티 사이에서 화제가 되었다. 엔지니어 존 N. 리틀/존 N. 리틀영어1983년에 몰러를 방문했을 때 이를 보고 상업적 가능성에 주목했다. 그들은 MATLAB을 C 언어로 다시 작성하고 개발을 지속하기 위해 1984년매스웍스 사를 설립했다. 이 다시 작성된 라이브러리는 애정을 담아 JACKPAC으로 알려졌다. MATLAB은 처음에는 리틀의 전문 분야인 제어 공학에서 채택되었지만, 곧 다른 분야로 확산되었다. 현재는 교육에도 사용되며, 특히 선형대수, 수치 선형대수 및 수치 해석 강의에 사용된다.

MATLAB R2008a부터 설치인터넷을 통한 라이선스 인증을 도입했다.

2. 3. 최근 역사

2012년 버전 8에서 대규모 소프트웨어 변경이 이루어졌으며, 사용자 인터페이스가 개선되고 시뮬링크의 기능이 확장되었다.[34][35] 2016년에는 MATLAB 라이브 편집기 노트북 및 기타 기능을 포함한 여러 기술 및 사용자 인터페이스 개선 사항이 도입되었다.[27]

MATLAB은 R2006a 이후 3월과 9월에 연 2회 정기적으로 제품군을 출시하며, 버전 명명 방식은 출시 연도와 함께 'a'(3월 또는 4월 출시) 또는 'b'(9월 또는 10월 출시)를 붙인다.[93] 예를 들어 2022년에 출시된 버전은 R2022a, R2022b와 같다.

R2008a부터는 설치인터넷을 통한 라이선스 인증을 도입했다. 사용 중인 MATLAB 제품군의 버전은 명령 창에서 "ver 명령어"를 통해 확인할 수 있다.

다음은 MATLAB 제품군의 버전 정보이다.

'''MATLAB 제품군 버전'''
릴리스명MATLAB 본체SimulinkStateflow년도
Volume 85.01996
Volume 95.11997
R9.15.1.11997
R105.21998
R10.15.2.11998
R115.31999
R11.15.3.11999
R126.0Simulink 4.0Stateflow 4.02000
R12.16.1Simulink 4.1Stateflow 4.12001
R136.5Simulink 5.0.2Stateflow 5.12002
R13SP16.5.1Simulink 5.1Stateflow 5.1.12003
R13SP26.5.2Simulink 5.2Stateflow 5.1.2
R147Simulink 6.0Stateflow 6.02004
R14SP17.0.1Simulink 6.1Stateflow 6.1
R14SP27.0.4Simulink 6.2Stateflow 6.22005
R14SP37.1Simulink 6.3Stateflow 6.3
R2006a7.2Simulink 6.4Stateflow 6.42006
R2006b7.3Simulink 6.5Stateflow 6.5
R2007a7.4Simulink 6.6Stateflow 6.62007
R2007b7.5Simulink 7.0Stateflow 7.0
R2008a7.6Simulink 7.1Stateflow 7.12008
R2008b7.7Simulink 7.2Stateflow 7.2
R2009a7.8Simulink 7.3Stateflow 7.32009
R2009b7.9Simulink 7.4Stateflow 7.4
R2010a7.10Simulink 7.5Stateflow 7.52010
R2010b7.11Simulink 7.6Stateflow 7.6
R2011a7.12Simulink 7.7Stateflow 7.72011
R2011b7.13Simulink 7.8Stateflow 7.8
R2012a7.14Simulink 7.9Stateflow 7.92012
R2012b8.0Simulink 8.0Stateflow 8.0
R2013a8.1Simulink 8.1Stateflow 8.12013
R2013b8.2Simulink 8.2Stateflow 8.2
R2014a8.3Simulink 8.3Stateflow 8.32014
R2014b8.4Simulink 8.4Stateflow 8.4
R2015a8.5Simulink 8.5Stateflow 8.52015
R2015b8.6Simulink 8.6Stateflow 8.6
R2016a9.0Simulink 8.7Stateflow 8.72016
R2016b9.1Simulink 8.8Stateflow 8.8
R2017a9.2Simulink 8.9Stateflow 8.92017
R2017b9.3Simulink 9.0Stateflow 9.0
R2018a9.4Simulink 9.1Stateflow 9.12018
R2018b9.5Simulink 9.2Stateflow 9.2
R2019a9.6Simulink 9.3Stateflow 10.02019
R2019b9.7Simulink 10.0Stateflow 10.1
R2020a9.8Simulink 10.1Stateflow 10.22020
R2020b9.9Simulink 10.2Stateflow 10.3
R2021a9.10Simulink 10.3Stateflow 10.42021
R2021b9.11Simulink 10.4Stateflow 10.5
R2022a9.12.0Simulink 10.5Stateflow 10.62022
R2022b9.13Simulink 10.6Stateflow 10.7
R2023a9.14.0Simulink 10.7Stateflow 10.82023


2. 4. 한국에서의 전개

1988년부터 일본에서의 매트랩 판매는 사이바넷 시스템 주식회사가 대리점 업무를 수행했다. 그러나 2009년 7월 1일부터 판매 대리점 업무가 MathWorks Japan(MathWorks사의 일본 법인)으로 이관되었다.

매년 11월부터 12월에 사이바넷 시스템이 "MATLAB EXPO"를 개최했으나, 이관으로 인해 2009년부터는 MathWorks Japan이 그 개최를 주최한다. 최근에는 도쿄도 미나토구 오다이바 지구의 호텔 그란퍼시픽 LE 다이바에서 개최되고 있다. 그 규모는 MATLAB 사용자 컨퍼런스로서 세계 최대 규모를 자랑하며, 하루 방문객은 2,000명을 넘어선다. 단일 도구로서의 컨퍼런스로도 유례를 찾아보기 힘들 정도의 규모이다.

3. 라이선스

라이선스는 목적에 따라서 구분하며, 같은 기능을 사용하더라도 라이선스 비용이 구분된다. 또한 결제 방식을 영구 버전(업데이트 불가능)과 연간 구독형(업데이트 가능)으로 구분한다.

매스웍스에서는 "스타트업을 만들고 계신가요? 스타트업 프로그램에 등록하고 스타트업을 위한 가격에 이용하세요"라며 '''스타트업 프로그램'''을 소개하고 있다.

기업 등 조직에서 산업에 사용하기 위하여 매트랩을 구매하고자 할 때 인원 수에 따라 산업용 라이선스를 구매하면 된다. 매스웍스에서 '상용, 정부 또는 기타 조직 단일 사용자용'이라고 소개하고 있다.

매스웍스는 학생용 라이선스를 '학위 수여 기관에서 제공하는 코스에서도 사용' 가능하다고 소개한다. 국내의 경우 많은 사립대학이 매트랩 캠퍼스 라이선스(Campus-wide License)를 보유하고 있으며, 국립대학은 그렇지 않은 경우도 많다. 과거에는 교육용 라이선스와 학생용 라이선스를 구분하였으며, 교육용은 등록된 교육기관에서만, 학생용은 학생 개인이 집이나 어디에서든 사용할 수 있었다. 현재는 교육기관에 캠퍼스 라이선스가 있으면 재학생이 자유롭게 사용하는 것을 엄격하게 제한하지 않는 분위기이다.

개인용은 매스웍스에서 '개인 용도 전용. 정부, 교육기관, 상용 또는 기타 조직 사용 불가'라고 소개하고 있다.

3. 1. 라이선스 종류

라이선스는 목적에 따라서 구분하며, 같은 기능을 사용하더라도 라이선스 비용이 구분된다. 또한 결제 방식을 영구 버전(업데이트 불가능)과 연간 구독형(업데이트 가능)으로 구분한다.

매스웍스에서는 "스타트업을 만들고 계신가요? 스타트업 프로그램에 등록하고 스타트업을 위한 가격에 이용하세요"라며 '''스타트업 프로그램'''을 소개하고 있다.

3. 2. 산업용

기업 등 조직에서 산업에 사용하기 위하여 매트랩을 구매하고자 할 때 인원 수에 따라 산업용 라이선스를 구매하면 된다. 매스웍스에서 '상용, 정부 또는 기타 조직 단일 사용자용'이라고 소개하고 있다.

3. 3. 학생용

매스웍스는 학생용 라이선스를 '학위 수여 기관에서 제공하는 코스에서도 사용' 가능하다고 소개한다. 국내의 경우 많은 사립대학이 매트랩(Matlab) 캠퍼스 라이선스(Campus-wide License)를 보유하고 있으며, 국립대학은 그렇지 않은 경우도 많다. 과거에는 교육용 라이선스와 학생용 라이선스를 구분하였으며, 교육용은 등록된 교육기관에서만, 학생용은 학생 개인이 집이나 어디에서든 사용할 수 있었다. 현재는 교육기관에 캠퍼스 라이선스가 있으면 재학생이 자유롭게 사용하는 것을 엄격하게 제한하지 않는 분위기이다.

3. 4. 개인용

개인용은 매스웍스에서 '개인 용도 전용. 정부, 교육기관, 상용 또는 기타 조직 사용 불가'라고 소개하고 있다.

3. 5. 스타트업 프로그램

4. 내장 프로그램

4. 1. 툴박스

매트랩은 다양한 분야에 특화된 기능을 제공하는 툴박스를 포함하고 있다.
제어 시스템 설계 및 분석:

  • Control System Toolbox: 제어 시스템의 설계 및 해석 기능을 제공한다.
  • System Identification Toolbox: 시스템의 전달 함수를 구하는 데 사용된다.
  • Robust Control Toolbox: 강인성 제어를 위한 기능을 제공한다.

최적화:

  • Optimization Toolbox: 최적화 문제를 해결하는 데 사용된다.

신호 및 영상 처리:

  • Signal Processing Toolbox: 신호 처리에 필요한 다양한 기능을 제공한다.
  • Image Processing Toolbox: 영상 처리에 관련된 기능을 제공한다.
  • Wavelet Toolbox: 웨이블릿 변환 기능을 제공한다.

수식 연산:

  • Symbolic Toolbox: 심볼로 이루어진 수식을 연산하는 기능을 제공한다.

시뮬레이션:

  • SIMULINK: 그래픽 기반으로 제어 시스템을 모델링하고 시뮬레이션하는 기능을 제공한다.

기타:

  • Runtime Server Toolbox: 작성된 M-file을 매트랩 없이 사용할 수 있게 해준다.

4. 2. 개발 도구

M-Lint Code Checker는 코드를 분석하고 변경을 권장하여 성능과 유지 능력을 향상시킨다. 모든 파일을 스캔하여 코드 효율성, 파일의 차이점, 파일 의존성 및 코드 커버리지에 대해 보고한다.

5. 구문

MATLAB 응용 프로그램은 MATLAB 프로그래밍 언어를 기반으로 구축되었다. MATLAB 응용 프로그램의 일반적인 사용법은 대화형 수학 로 "명령 창"을 사용하거나 MATLAB 코드를 포함하는 텍스트 파일을 실행하는 것이다.[37]

MATLAB의 M코드 (또는 간단히 ''m'')는 주로 값 지향적이다. 자바C++(C++)와 같은 정적 타입 언어와는 달리, PHP나 자바스크립트와 마찬가지로 변수 자체는 타입을 가지지 않으며, 실행 시 대입되는 값만 타입을 가진다.

== 변수 ==

매트랩에서 변수는 할당 연산자 `=`를 사용하여 정의된다.[38] MATLAB은 형식이 암묵적으로 변환되기 때문에 약한 형식 지정 프로그래밍 언어이다.[38] 변수의 유형을 선언하지 않고도 할당할 수 있으며, 기호 객체로 취급하려는 경우를 제외하고는 유형이 변경될 수 있기 때문에 추론된 형식 언어이다.[39]

값은 상수, 다른 변수의 값을 포함하는 계산, 또는 함수의 출력에서 나올 수 있다. 예를 들어:

```matlabsession

>> x = 17

x =

17

>> x = 'hat'

x =

hat

>> x = [3*4, pi/2]

x =

12.0000 1.5708

>> y = 3*sin(x)

y =


  • 1.6097 3.0000

```

`x = 17`는 x라는 변수를 정의함과 동시에 그 값에 17이라는 상수를 할당한다. 자료형 선언은 하지 않았지만 double형으로 취급된다. 이 예와 같은 즉시 값(숫자로 결정된 상수) 외에도 문자열 상수, 다른 변수의 값 또는 함수의 출력을 할당할 수 있다.

== 벡터 및 행렬 ==

매트랩에서 간단한 배열은 콜론(:) 구문을 사용하여 정의할 수 있다. `초기값:증가값:종료값` 형태로 사용하며, 예를 들어 `array = 1:2:9`는 1, 3, 5, 7, 9의 값을 갖는 배열 `array`를 생성한다.[40] 증가값이 1인 경우에는 생략 가능하며, `ari = 1:5`는 1, 2, 3, 4, 5의 값을 갖는 배열 `ari`를 생성한다.[40]

인덱싱은 1부터 시작하는데,[40] 이는 C, C++, Java 등 다른 프로그래밍 언어에서 일반적으로 사용되는 0-기반 인덱싱과 다르다.

행렬은 행의 요소를 공백이나 쉼표로 구분하고 세미콜론을 사용하여 행을 구분하여 정의할 수 있다. 요소 목록은 대괄호 `[]`로 묶어야 하며, 괄호 `()`는 요소 및 하위 배열에 접근하는 데 사용된다. 예를 들어, `A = [16, 3, 2, 13 ; 5, 10, 11, 8 ; 9, 6, 7, 12 ; 4, 15, 14, 1]`는 4x4 행렬 A를 정의하며, `A(2,3)`은 2행 3열의 요소인 11을 반환한다.

`2:4`와 같은 표현식으로 인덱스 집합을 지정할 수 있으며, 이는 `[2, 3, 4]`로 평가된다. 예를 들어, `A(2:4,3:4)`는 행 2에서 4까지, 열 3에서 4까지의 하위 행렬을 추출한다.

크기가 ''n''인 정사각 단위 행렬은 `eye` 함수를, 0 또는 1로 채워진 행렬은 `zeros` 및 `ones` 함수를 사용하여 생성할 수 있다. 예를 들어, `eye(3,3)`은 3x3 단위 행렬을, `zeros(2,3)`은 2x3 영행렬을, `ones(2,3)`은 2x3 일행렬을 생성한다.

전치는 `transpose` 함수를 사용하거나 행렬 뒤에 점-프라임(.')을 추가하여 수행한다. 프라임(`'`)만 사용하는 경우 복소수 배열에 대한 공액 전치를 수행한다.

== 세미콜론 ==

매트랩에서 명령어의 끝은 줄 바꿈만으로 충분하며, 세미콜론(';')을 붙일 필요가 없다. 세미콜론을 붙이면 각 행에서의 출력을 억제할 수 있다. 세미콜론을 행 끝에 붙이지 않으면, 표준 출력에 실행 결과가 표시된다. 실행 결과의 표시가 필요한 여러 명령을 줄 바꿈 없이 표현할 경우에는 쉼표(',')를 사용한다.

반대로, 하나의 명령을 여러 행에 걸쳐 기술할 경우에는, 다음 행으로 이어짐을 의미하는('...')을 행 끝에 붙일 필요가 있다.

== 구조체 ==

매트랩은 구조체 데이터 형식을 지원한다.[41] 매트랩의 모든 변수가 배열이므로, 보다 적절한 이름은 "구조체 배열"이며, 배열의 각 요소는 동일한 필드 이름을 갖는다. 또한, 매트랩은 동적 필드 이름[42](이름별 필드 조회, 필드 조작 등)을 지원한다.

== 함수 ==

MATLAB 함수를 생성할 때 파일 이름은 파일 내 첫 번째 함수의 이름과 일치해야 한다. 유효한 함수 이름은 영문자로 시작하며 문자, 숫자 또는 밑줄을 포함할 수 있다. 변수와 함수는 대소문자를 구분한다.[43]

```matlab

rgbImage = imread('ecg.png');

grayImage = rgb2gray(rgbImage); % 인덱싱되지 않은 이미지용

level = graythresh(grayImage); % 이미지를 이진수로 변환하기 위한 임계값,

binaryImage = im2bw(grayImage, level);

% 개별 빨강, 녹색 및 파랑 색상 채널을 추출합니다.

redChannel = rgbImage(:, :, 1);

greenChannel = rgbImage(:, :, 2);

blueChannel = rgbImage(:, :, 3);

% 검은색 부분을 순수 빨간색으로 만듭니다.

redChannel(~binaryImage) = 255;

greenChannel(~binaryImage) = 0;

blueChannel(~binaryImage) = 0;

% 이제 다시 결합하여 출력 이미지를 형성합니다.

rgbImageOut = cat(3, redChannel, greenChannel, blueChannel);

imshow(rgbImageOut);

```

MATLAB은 함수 핸들, 또는 함수 참조를 도입하여 람다 계산법의 요소를 지원하며, 이는 .m 파일 또는 익명[45]/중첩 함수[46]로 구현된다.

== 객체 지향 프로그래밍 ==

매트랩은 클래스, 상속, 가상 디스패치, 패키지, 값 전달 의미 체계 및 참조 전달 의미 체계를 포함한 객체 지향 프로그래밍을 지원한다.[47] 그러나 구문 및 호출 규칙은 다른 언어와 크게 다르다. MATLAB은 클래스가 상위 클래스로 ''handle''을 갖는지(참조 클래스) 또는 그렇지 않은지(값 클래스)에 따라 값 클래스와 참조 클래스를 갖는다.[48]

메서드 호출 동작은 값 클래스와 참조 클래스 간에 다르다. 예를 들어, 메서드 호출:

```matlab

object.method();

```

은 ''object''가 참조 클래스의 인스턴스인 경우에만 ''object''의 모든 멤버를 변경할 수 있다. 그렇지 않으면 값 클래스 메서드는 객체를 수정해야 하는 경우 새 인스턴스를 반환해야 한다.

object가 클래스의 인스턴스인 경우, object의 멤버를 선택하여 메서드를 호출할 수 있다.

5. 1. 변수

매트랩에서 변수는 할당 연산자 `=`를 사용하여 정의된다.[38] MATLAB은 형식이 암묵적으로 변환되기 때문에 약한 형식 지정 프로그래밍 언어이다.[38] 변수의 유형을 선언하지 않고도 할당할 수 있으며, 기호 객체로 취급하려는 경우를 제외하고는 유형이 변경될 수 있기 때문에 추론된 형식 언어이다.[39]

값은 상수, 다른 변수의 값을 포함하는 계산, 또는 함수의 출력에서 나올 수 있다. 예를 들어:

```matlabsession

>> x = 17

x =

17

>> x = 'hat'

x =

hat

>> x = [3*4, pi/2]

x =

12.0000 1.5708

>> y = 3*sin(x)

y =

  • 1.6097 3.0000

```

`x = 17`는 x라는 변수를 정의함과 동시에 그 값에 17이라는 상수를 할당한다. 자료형 선언은 하지 않았지만 double형으로 취급된다. 이 예와 같은 즉시 값(숫자로 결정된 상수) 외에도 문자열 상수, 다른 변수의 값 또는 함수의 출력을 할당할 수 있다.

5. 2. 벡터 및 행렬

매트랩에서 간단한 배열은 콜론(:) 구문을 사용하여 정의할 수 있다. `초기값:증가값:종료값` 형태로 사용하며, 예를 들어 `array = 1:2:9`는 1, 3, 5, 7, 9의 값을 갖는 배열 `array`를 생성한다.[40] 증가값이 1인 경우에는 생략 가능하며, `ari = 1:5`는 1, 2, 3, 4, 5의 값을 갖는 배열 `ari`를 생성한다.[40]

인덱싱은 1부터 시작하는데,[40] 이는 C, C++, Java 등 다른 프로그래밍 언어에서 일반적으로 사용되는 0-기반 인덱싱과 다르다.

행렬은 행의 요소를 공백이나 쉼표로 구분하고 세미콜론을 사용하여 행을 구분하여 정의할 수 있다. 요소 목록은 대괄호 `[]`로 묶어야 하며, 괄호 `()`는 요소 및 하위 배열에 접근하는 데 사용된다. 예를 들어, `A = [16, 3, 2, 13 ; 5, 10, 11, 8 ; 9, 6, 7, 12 ; 4, 15, 14, 1]`는 4x4 행렬 A를 정의하며, `A(2,3)`은 2행 3열의 요소인 11을 반환한다.

`2:4`와 같은 표현식으로 인덱스 집합을 지정할 수 있으며, 이는 `[2, 3, 4]`로 평가된다. 예를 들어, `A(2:4,3:4)`는 행 2에서 4까지, 열 3에서 4까지의 하위 행렬을 추출한다.

크기가 ''n''인 정사각 단위 행렬은 `eye` 함수를, 0 또는 1로 채워진 행렬은 `zeros` 및 `ones` 함수를 사용하여 생성할 수 있다. 예를 들어, `eye(3,3)`은 3x3 단위 행렬을, `zeros(2,3)`은 2x3 영행렬을, `ones(2,3)`은 2x3 일행렬을 생성한다.

전치는 `transpose` 함수를 사용하거나 행렬 뒤에 점-프라임(.')을 추가하여 수행한다. 프라임(`'`)만 사용하는 경우 복소수 배열에 대한 공액 전치를 수행한다.

5. 3. 세미콜론

매트랩에서 명령어의 끝은 줄 바꿈만으로 충분하며, 세미콜론(';')을 붙일 필요가 없다. 세미콜론을 붙이면 각 행에서의 출력을 억제할 수 있다. 세미콜론을 행 끝에 붙이지 않으면, 표준 출력에 실행 결과가 표시된다. 실행 결과의 표시가 필요한 여러 명령을 줄 바꿈 없이 표현할 경우에는 쉼표(',')를 사용한다.

반대로, 하나의 명령을 여러 행에 걸쳐 기술할 경우에는, 다음 행으로 이어짐을 의미하는('...')을 행 끝에 붙일 필요가 있다.

5. 4. 구조체

매트랩은 구조체 데이터 형식을 지원한다.[41] 매트랩의 모든 변수가 배열이므로, 보다 적절한 이름은 "구조체 배열"이며, 배열의 각 요소는 동일한 필드 이름을 갖는다. 또한, 매트랩은 동적 필드 이름[42](이름별 필드 조회, 필드 조작 등)을 지원한다.

5. 5. 함수

MATLAB 함수를 생성할 때 파일 이름은 파일 내 첫 번째 함수의 이름과 일치해야 한다. 유효한 함수 이름은 영문자로 시작하며 문자, 숫자 또는 밑줄을 포함할 수 있다. 변수와 함수는 대소문자를 구분한다.[43]

```matlab

rgbImage = imread('ecg.png');

grayImage = rgb2gray(rgbImage); % 인덱싱되지 않은 이미지용

level = graythresh(grayImage); % 이미지를 이진수로 변환하기 위한 임계값,

binaryImage = im2bw(grayImage, level);

% 개별 빨강, 녹색 및 파랑 색상 채널을 추출합니다.

redChannel = rgbImage(:, :, 1);

greenChannel = rgbImage(:, :, 2);

blueChannel = rgbImage(:, :, 3);

% 검은색 부분을 순수 빨간색으로 만듭니다.

redChannel(~binaryImage) = 255;

greenChannel(~binaryImage) = 0;

blueChannel(~binaryImage) = 0;

% 이제 다시 결합하여 출력 이미지를 형성합니다.

rgbImageOut = cat(3, redChannel, greenChannel, blueChannel);

imshow(rgbImageOut);

```

MATLAB은 함수 핸들, 또는 함수 참조를 도입하여 람다 계산법의 요소를 지원하며, 이는 .m 파일 또는 익명[45]/중첩 함수[46]로 구현된다.

5. 6. 객체 지향 프로그래밍

매트랩은 클래스, 상속, 가상 디스패치, 패키지, 값 전달 의미 체계 및 참조 전달 의미 체계를 포함한 객체 지향 프로그래밍을 지원한다.[47] 그러나 구문 및 호출 규칙은 다른 언어와 크게 다르다. MATLAB은 클래스가 상위 클래스로 ''handle''을 갖는지(참조 클래스) 또는 그렇지 않은지(값 클래스)에 따라 값 클래스와 참조 클래스를 갖는다.[48]

메서드 호출 동작은 값 클래스와 참조 클래스 간에 다르다. 예를 들어, 메서드 호출:

```matlab

object.method();

```

은 ''object''가 참조 클래스의 인스턴스인 경우에만 ''object''의 모든 멤버를 변경할 수 있다. 그렇지 않으면 값 클래스 메서드는 객체를 수정해야 하는 경우 새 인스턴스를 반환해야 한다.

object가 클래스의 인스턴스인 경우, object의 멤버를 선택하여 메서드를 호출할 수 있다.

6. 그래픽 및 GUI 프로그래밍

매트랩은 그래프 플로팅 기능을 긴밀하게 통합하고 있다. 예를 들어, `plot` 함수는 두 벡터 x와 y로부터 그래프를 생성하는 데 사용할 수 있다. 다음 코드는 사인 함수의 그래프를 생성한다.

```matlab

x = 0:pi/100:2*pi;

y = sin(x);

plot(x,y)

```

사인 함수 그래프


매트랩은 3차원 그래픽도 지원한다.

코드결과
valign="top" |
2차원 비정규화 sinc 함수의 와이어프레임 3D 플롯
valign="top" |
2차원 비정규화 sinc 함수의 표면 3D 플롯



매트랩은 그래픽 사용자 인터페이스(GUI) 애플리케이션 개발을 지원한다.[49] UI는 프로그래밍 방식으로 생성하거나 ''GUIDE'' 및 ''App Designer''와 같은 시각적 디자인 환경을 사용하여 생성할 수 있다.[50][51]

6. 1. 그래프 플로팅 기능

매트랩은 그래프 플로팅 기능을 긴밀하게 통합하고 있다. 예를 들어, `plot` 함수는 두 벡터 x와 y로부터 그래프를 생성하는 데 사용할 수 있다. 다음 코드는 사인 함수의 그래프를 생성한다.

```matlab

x = 0:pi/100:2*pi;

y = sin(x);

plot(x,y)

```

매트랩은 3차원 그래픽도 지원한다. 다음은 2차원 비정규화 sinc 함수의 와이어프레임 및 표면 3D 플롯을 생성하는 코드와 그 결과이다.

코드결과


6. 2. GUI 프로그래밍 지원

매트랩은 그래픽 사용자 인터페이스(GUI) 애플리케이션 개발을 지원한다.[49] UI는 프로그래밍 방식으로 생성하거나 ''GUIDE'' 및 ''App Designer''와 같은 시각적 디자인 환경을 사용하여 생성할 수 있다.[50][51]

7. MATLAB과 다른 언어

MATLAB은 C 또는 포트란으로 작성된 함수와 서브루틴을 호출할 수 있다.[52] MATLAB 데이터 유형을 전달하고 반환할 수 있도록 래퍼 함수가 생성된다. MEX 파일 (MATLAB 실행 파일)은 이러한 함수를 컴파일하여 생성된 동적으로 로드 가능한 객체 파일이다.[53][54] 2014년부터 파이썬과의 양방향 인터페이스가 증가하고 있다.[55][56]

Perl, Java, ActiveX, 또는 .NET으로 작성된 라이브러리는 MATLAB에서 직접 호출할 수 있으며,[57][58] 많은 MATLAB 라이브러리 (예: XML 또는 SQL 지원)는 Java 또는 ActiveX 라이브러리를 래핑하여 구현된다. Java에서 MATLAB을 호출하는 것은 더 복잡하지만, MathWorks에서 별도로 판매하는 MATLAB 툴박스[59] 또는 JMI(Java-to-MATLAB Interface)라는 문서화되지 않은 메커니즘을 사용하여 수행할 수 있다.[60][61] (이것은 JMI라고도 하는 관련 없는 자바 메타데이터 인터페이스와 혼동해서는 안 된다). Java용 공식 MATLAB API는 2016년에 추가되었다.[62]

MathWorks에서 제공하는 MuPAD 기반의 Symbolic Math Toolbox의 대안으로 MATLAB을 Maple 또는 매스매티카에 연결할 수 있다.[63][64]

MathML을 가져오고 내보내는 라이브러리도 존재한다.[65]

8. 미국 제재와의 관계

2020년, 매트랩은 미국의 제재로 인해 중화인민공화국의 하얼빈 공업대학과 하얼빈 공정대학에 대한 서비스를 중단했다.[66] 해당 대학들은 이에 대한 대응으로 오픈 소스 대안의 사용을 늘리고, 자체적인 국산 대안을 개발할 것이라고 밝혔다.[66]

9. 코드 예시

다음은 ''magic.m''에서 인용한 코드로, 홀수 ''n''의 마방진 ''M''을 생성한다.

```matlab

[J,I] = meshgrid(1:n);

A = mod(I+J-(n+3)/2,n);

B = mod(I+2*J-2,n);

M = n*A + B + 1;

```

이 코드는 "for" 루프를 사용하지 않고 벡터 및 행렬 연산을 수행한다. 일반적으로 MATLAB 언어는 배열 전체를 동시에 처리한다. 위 MESHGRID 유틸리티 기능은 다음과 같은 배열을 생성한다.

```matlab

J =

1 2 3

1 2 3

1 2 3

I =

1 1 1

2 2 2

3 3 3

```

많은 스칼라 함수는 배열에 사용할 수 있으며, 배열의 각 요소에 대해 병렬로 작동한다. 따라서 mod(2*J,n)은 배열 J에 2를 스칼라 곱(각 요소에 2를 곱함)한 다음, 각 요소에 대해 ''n''으로 나눈 나머지를 계산한다.

MATLAB에는 표준 "for" 및 "while"이 구현되어 있지만, MATLAB의 벡터식 표기법을 사용하는 것이 코드의 가독성을 높이고 실행 속도를 빠르게 하는 경우가 많다.

9. 1. "Hello, world!" 예제

매트랩에는 "Hello, world!" 프로그램의 예시가 있다.

```matlab

disp('Hello, world!')

```

다음과 같이 출력된다.

```output

Hello, world!

9. 2. 마방진 생성 예제

다음은 ''magic.m''에서 인용한 코드로, 홀수 ''n''의 마방진 ''M''을 생성한다.

```matlab

[J,I] = meshgrid(1:n);

A = mod(I+J-(n+3)/2,n);

B = mod(I+2*J-2,n);

M = n*A + B + 1;

```

이 코드는 "for" 루프를 사용하지 않고 벡터 및 행렬 연산을 수행한다. 일반적으로 MATLAB 언어는 배열 전체를 동시에 처리한다. 위 MESHGRID 유틸리티 기능은 다음과 같은 배열을 생성한다.

```matlab

J =

1 2 3

1 2 3

1 2 3

I =

1 1 1

2 2 2

3 3 3

```

많은 스칼라 함수는 배열에 사용할 수 있으며, 배열의 각 요소에 대해 병렬로 작동한다. 따라서 mod(2*J,n)은 배열 J에 2를 스칼라 곱(각 요소에 2를 곱함)한 다음, 각 요소에 대해 ''n''으로 나눈 나머지를 계산한다.

MATLAB에는 표준 "for" 및 "while"이 구현되어 있지만, MATLAB의 벡터식 표기법을 사용하는 것이 코드의 가독성을 높이고 실행 속도를 빠르게 하는 경우가 많다.

10. 참고 도서

10. 1. 한국어 도서


  • 아시노 류이치, 레미 바일랑쿠르: "알기 쉬운 MATLAB", 쿄리츠 출판, ISBN 4-320-02875-9 (1997년 7월 10일).
  • 오이시 신이치: "MATLAB에 의한 수치 계산", 바이후칸, (2001년).
  • 사쿠라이 테츠야: "MATLAB/Scilab으로 이해하는 수치 계산", 도쿄 대학 출판회 (2003년).

10. 2. 외국 도서


  • 간더, W., & 흐레비체크, J. (Eds.). (2011). ''Solving problems in scientific computing using Maple and Matlab®''. Springer Science & Business Media.
  • 쿼터로니, A., 살레리, F., & 제르바시오, P. (2006). ''Scientific computing with MATLAB and Octave''. 베를린: 스프링어.
  • 왈리쉬, P., 루시냥, M. E., 베나윤, M. D., 베이커, T. I., 디키, A. S., & 하토포울로스, N. G. (2014). ''MATLAB for neuroscientists: an introduction to scientific computing in MATLAB''. Academic Press.
  • 간더, W., 간더, M. J., & 콕, F. (2014). ''Scientific computing-An introduction using Maple and MATLAB''. Springer Science & Business Media.
  • 린츠, P., & 왕, R. (2003). ''Exploring numerical methods: An introduction to scientific computing using MATLAB''. 존스 & 바틀렛 러닝.

참조

[1] 웹사이트 An interview with CLEVE MOLER Conducted by Thomas Haigh On 8 and 9 March, 2004 Santa Barbara, California http://archive.compu[...] Computer History Museum 2016-12-06
[2] 웹사이트 Why We Created Julia http://julialang.org[...] Julia Language 2016-12-01
[3] 웹사이트 Octave: Past, Present, and Future http://jbrwww.che.wi[...] 2016-12-01
[4] 웹사이트 History https://www.scilab.o[...] Scilab 2016-12-01
[5] 간행물 INTLAB – INTerval LABoratory Kluwer Academic Publishers, Dordrecht
[6] 서적 Introduction to Interval Analysis Society for Industrial and Applied Mathematics
[7] 간행물 Verification methods: Rigorous results using floating-point arithmetic
[8] 간행물 Interval analysis in MATLAB
[9] 웹사이트 Protect Your Source Code https://www.mathwork[...] MathWorks 2019-11-01
[10] 웹사이트 MEX Platform Compatibility https://www.mathwork[...] MathWorks 2019-11-01
[11] 웹사이트 MAT-File Versions https://www.mathwork[...] MathWorks 2019-11-01
[12] 웹사이트 Save Figure to Reopen in MATLAB Later https://www.mathwork[...] MathWorks 2019-11-01
[13] 웹사이트 Live Code File Format (.mlx) https://www.mathwork[...] MathWorks 2019-11-01
[14] 웹사이트 MATLAB App Designer https://www.mathwork[...] MathWorks 2019-11-01
[15] 웹사이트 Toolbox Distribution https://www.mathwork[...] MathWorks 2019-11-01
[16] 웹사이트 MATLAB App Installer File https://www.mathwork[...] MathWorks 2019-11-01
[17] 웹사이트 Support Package Installation https://www.mathwork[...] MathWorks 2019-11-01
[18] 웹사이트 The L-Shaped Membrane http://www.mathworks[...] MathWorks 2014-02-07
[19] 웹사이트 System Requirements and Platform Availability http://www.mathworks[...] MathWorks 2013-08-14
[20] 웹사이트 Platform Road Map for MATLAB and Simulink Product Families https://de.mathworks[...] 2021-12-22
[21] 웹사이트 Matrices and Arrays - MATLAB & Simulink https://www.mathwork[...] 2022-05-21
[22] 웹사이트 Company Overview https://uk.mathworks[...] 2020-02
[23] 웹사이트 Current number of matlab users worldwide https://www.mathwork[...] 2023-04-26
[24] 논문 Reviews of Maple, Mathematica, and Matlab: Coming Soon to a Publication Near You Institute of Electrical and Electronics Engineers (IEEE)
[25] 웹사이트 A Brief History of MATLAB https://www.mathwork[...] 2021-09-04
[26] 논문 Cleve Moler: Mathematical Software Pioneer and Creator of Matlab http://www.tomandmar[...] IEEE Computer Society
[27] 논문 A history of MATLAB Association for Computing Machinery (ACM) 2020-06-12
[28] 서적 MATLAB Programming: Mathematical Problem Solutions https://books.google[...] De Gruyter 2020-09-16
[29] 서적 Solving Applied Mathematical Problems with MATLAB https://books.google[...] CRC Press 2020-09-16
[30] 서적 Numerical Methods with Worked Examples: Matlab Edition https://books.google[...] Springer Netherlands 2020-09-16
[31] 서적 MATLAB for Engineering and the Life Sciences https://books.google[...] Morgan & Claypool Publishers 2020-09-17
[32] 웹사이트 Accelerating the pace of engineering https://news.mit.edu[...] Massachusetts Institute of Technology 2020-09-16
[33] 논문 Review of MATLAB, Version 4.0 Wiley
[34] 서적 Statistics in MATLAB: A Primer https://books.google[...] CRC Press 2020-09-17
[35] 서적 System Simulation Techniques with MATLAB and Simulink https://books.google[...] Wiley 2020-10-15
[36] 웹사이트 MATLAB Previous releases https://www.mathwork[...] MathWorks 2024-12-03
[37] 웹사이트 MATLAB Documentation http://www.mathworks[...] MathWorks 2013-08-14
[38] 웹사이트 Comparing MATLAB with Other OO Languages http://www.mathworks[...] MathWorks 2013-08-14
[39] 웹사이트 Create Symbolic Variables and Expressions http://www.mathworks[...] MathWorks 2013-08-14
[40] 웹사이트 Matrix Indexing http://www.mathworks[...] MathWorks 2013-08-14
[41] 웹사이트 Structures http://www.mathworks[...] MathWorks 2013-08-14
[42] 웹사이트 Generate Field Names from Variables http://www.mathworks[...] MathWorks 2013-08-14
[43] 웹사이트 Case and Space Sensitivity https://www.mathwork[...] MathWorks 2019-11-01
[44] 웹사이트 Function Handles http://www.mathworks[...] MathWorks 2013-08-14
[45] 웹사이트 Anonymous Functions http://www.mathworks[...] MathWorks 2013-08-14
[46] 웹사이트 Nested Functions http://www.mathworks[...] MathWorks
[47] 웹사이트 Object-Oriented Programming http://www.mathworks[...] MathWorks 2013-08-14
[48] 웹사이트 Comparing Handle and Value Classes http://www.mathworks[...] MathWorks
[49] 웹사이트 MATLAB GUI http://www.mathworks[...] MathWorks 2013-08-14
[50] 웹사이트 Create a Simple GUIDE GUI http://www.mathworks[...] MathWorks 2014-08-14
[51] 웹사이트 MATLAB App Designer https://www.mathwork[...] MathWorks 2019-11-01
[52] 웹사이트 Application Programming Interfaces to MATLAB http://www.mathworks[...] MathWorks 2013-08-14
[53] 웹사이트 Create MEX-Files http://www.mathworks[...] MathWorks 2013-08-14
[54] 웹사이트 Connecting C and Matlab http://www.cs.yale.e[...] Yale University, Computer Science Department 2008-05-20
[55] 웹사이트 MATLAB Engine for Python http://www.mathworks[...] MathWorks 2015-06-13
[56] 웹사이트 Call Python Libraries http://www.mathworks[...] MathWorks 2015-06-13
[57] 웹사이트 External Programming Language Interfaces http://www.mathworks[...] MathWorks 2013-08-14
[58] 웹사이트 Call Perl script using appropriate operating system executable http://www.mathworks[...] MathWorks 2013-11-07
[59] 웹사이트 MATLAB Builder JA http://www.mathworks[...] MathWorks 2010-06-07
[60] 웹사이트 Java-to-Matlab Interface http://undocumentedm[...] Undocumented Matlab 2010-06-07
[61] 웹사이트 matlabcontrol JMI https://code.google.[...]
[62] 웹사이트 MATLAB Engine API for Java http://www.mathworks[...] MathWorks 2016-09-15
[63] 웹사이트 MaMa: Calling MATLAB from Mathematica with MathLink http://library.wolfr[...] Wolfram Library Archive 1998-09-30
[64] 웹사이트 MATLink: Communicate with MATLAB from Mathematica http://matlink.org/ 2013-08-14
[65] 웹사이트 MathML import/export http://www.mathworks[...] MathWorks - File Exchange 2013-08-14
[66] 웹사이트 US military ban locks two Chinese universities out of popular software https://www.scmp.com[...] 2020-11-06
[67] 웹사이트 An interview with CLEVE MOLER Conducted by Thomas Haigh On 8 and 9 March, 2004 Santa Barbara, California http://archive.compu[...] Computer History Museum 2016-12-06
[68] 웹사이트 Why We Created Julia http://julialang.org[...] Julia Language 2016-12-01
[69] 웹사이트 Octave: Past, Present, and Future http://jbrwww.che.wi[...] 2016-12-01
[70] 웹사이트 History https://www.scilab.o[...] Scilab 2016-12-01
[71] 간행물 INTLAB – INTerval LABoratory Kluwer Academic Publishers
[72] 서적 Introduction to Interval Analysis Society for Industrial and Applied Mathematics
[73] 논문 Verification methods: Rigorous results using floating-point arithmetic
[74] 논문 Interval analysis in MATLAB
[75] 웹사이트 Protect Your Source Code https://www.mathwork[...] MathWorks 2019-11-01
[76] 웹사이트 MEX Platform Compatibility https://www.mathwork[...] MathWorks 2019-11-01
[77] 웹사이트 MAT-File Versions https://www.mathwork[...] MathWorks 2019-11-01
[78] 웹사이트 Save Figure to Reopen in MATLAB Later https://www.mathwork[...] MathWorks 2019-11-01
[79] 웹사이트 Live Code File Format (.mlx) https://www.mathwork[...] MathWorks 2019-11-01
[80] 웹사이트 MATLAB App Designer https://www.mathwork[...] MathWorks 2019-11-01
[81] 웹사이트 Toolbox Distribution https://www.mathwork[...] MathWorks 2019-11-01
[82] 웹사이트 MATLAB App Installer File https://www.mathwork[...] MathWorks 2019-11-01
[83] 웹사이트 Support Package Installation https://www.mathwork[...] MathWorks 2019-11-01
[84] 웹사이트 The L-Shaped Membrane http://www.mathworks[...] MathWorks 2014-02-07
[85] 웹사이트 https://jp.mathworks[...]
[86] 웹사이트 https://jp.mathworks[...]
[87] 웹사이트 https://jp.mathworks[...]
[88] 웹사이트 MATLABは日本語でどのように発音しますか? https://jp.mathworks[...] 2023-03-23
[89] 웹사이트 行列および配列 - MATLAB & Simulink - MathWorks 日本 https://jp.mathworks[...] 2023-03-23
[90] 웹사이트 MathWorks - MATLAB/Simulink開発元 https://jp.mathworks[...] 2023-03-23
[91] 웹사이트 MATLAB Mobile http://www.mathworks[...] Mathworks 2013-05-20
[92] 문서 シングルクオテーションで囲まれた単語はchar型に、ダブルクオテーションで囲まれた単語はstringとなる。ダブルクオテーションの使用はR2017aから導入された。
[93] 웹사이트 MathWorks 製品リリース スケジュール https://jp.mathworks[...]
[94] 웹인용 The L-Shaped Membrane http://www.mathworks[...] MathWorks 2014-02-07
[95] 웹인용 System Requirements and Platform Availability http://www.mathworks[...] MathWorks 2013-08-14
[96] 웹인용 Platform Road Map for MATLAB and Simulink Product Families https://de.mathworks[...] 2021-12-22



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com