MATLAB의 새로운 기능

데이터 전처리 및 분석, 스크립트 및 알고리즘 작성, 앱 작성, 팀 기반 소프트웨어 개발을 위한 새로운 툴이 추가되었습니다.

그리고 MATLAB은 그 어느 때보다도 빨라졌습니다. 새롭게 추가된 기능을 살펴보십시오.

환경

신규 편집기에서 Python 지원: 구문 강조, 자동 들여쓰기, 구분 기호 일치가 지원되는 Python 파일 보기 및 편집 (R2022a)

신규 MATLAB Online의 테마: 어두운 테마 또는 밝은 테마를 선택하여 MATLAB 데스크탑의 색 변경 (R2022a)

신규 라이브 편집기 색: 라이브 스크립트와 라이브 함수의 텍스트 및 배경 색 변경 (R2022a)

신규 라이브 편집기 내보내기: export 함수를 사용하여 프로그래밍 방식으로 라이브 스크립트 및 함수 내보내기 (R2022a)

신규 라이브 편집기 작업: 라이브 스크립트에 사용할 수 있는 사용자의 고유한 라이브 편집기 작업 개발 (R2022a)

편집기: 코드 리팩터링 및 블록 편집, 향상된 코드 제안, 자동 코드 완성 및 인라인 디버깅 컨트롤 (R2021b)

라이브 편집기 애니메이션: 대화형 방식의 인터페이스를 사용하여 애니메이션 제어 (R2021a), 이를 동영상 또는 애니메이션 GIF로 내보내기 (R2021b)

라이브 편집기 컨트롤: 라이브 편집기 컨트롤의 값에 변수를 연결하여 동적 컨트롤 생성 (R2021a), 디폴트 값 설정 (R2021b)

언어 및 프로그래밍

새로운 데이터형과 언어 구문을 사용하여 더욱 빠르고 명확하고 관리하기 쉬운 코드를 작성할 수 있습니다. 

신규 pcode 함수: 향상된 난독 처리가 적용된 P-코드 파일 생성 (R2022a)

신규 backgroundPool: MATLAB의 명령 프롬프트를 차단하지 않고 비동기적으로 함수 실행 (R2021b), 대기 및 실행 중인 Future와 백그라운드 풀의 상태 조회 (R2022a)

모듈식 인덱싱: 새로운 슈퍼클래스를 사용하여 클래스 인덱싱 연산을 개별적으로 사용자 지정 (R2021b)

name=value 구문: name-value 인수로 어느 함수에나 name=value 구문 사용 (R2021a)

클래스 다이어그램 뷰어: 그래픽 클래스 다이어그램을 생성하여 클래스 세부 정보 탐색 및 설계 공유 (R2021a)

함수 입력 인수 유효성 검사: 함수 입력 인수를 선언하여 입력 오류 검사 간소화 (R2020b, R2019b)

pattern 객체: 문자열에서 텍스트를 검색하는 패턴 생성 (R2020b)

공 영상을 검색하는 함수 및 인수를 보여주는 코드 화면.

arguments 블록을 사용한 함수 인수 유효성 검사 예제.

데이터 가져오기 및 분석

여러 소스의 데이터에 액세스하고, 구성, 정리 및 분석할 수 있습니다.

신규 데이터 정리기 앱: 정리되지 않은 timetable형 데이터를 대화형 방식으로 식별 및 정리 (R2022a)

신규 데이터 전처리 함수: 변환된 변수를 입력 데이터에 추가 (R2022a)

신규 Opus 파일: Opus(.opus) 오디오 파일로 작업 (R2022a)

파일 I/O: XML, HTML, Microsoft Word 파일을 직접 테이블, 타임테이블, 구조체에 읽고 쓰기 (R2021b, R2021a, R2020b)

데이터 전처리 라이브 편집기 작업: 간단한 포인트 앤 클릭 인터페이스를 라이브 스크립트에 추가하여 누락값 및 이상값 제거, 평활화 및 정규화, 그룹화 및 결합 등의 작업 수행 (R2019b-R021b)

trenddecomp 함수: 데이터의 장기적, 계절적 추세 찾기 (R2021b)

timeseries2timetable 함수: timeseries 객체를 타임테이블로 변환 (R2021b)

HDF5: SWMR(Single-Writer/Multiple-Reader), VDS(Virtual Dataset), Metadata Cache Fine-Tuning 등의 HDF5 버전 1.10 지원 (R2021b)

NetCDF: NC_STRING 데이터의 읽기 및 쓰기를 비롯한 NetCDF 버전 4.7.4 지원 (R2021b), 원격 데이터셋의 바이트 범위 읽기 활성화 (R2022a)

이상값 데이터 정리 라이브 편집기 작업을 사용한 데이터 전처리.

빅데이터

커다란 변경 없이도 분석을 빅데이터로 확장할 수 있습니다.

신규 Parquet 파일: rowfilter로 조건부 필터링(Predicate Pushdown)을 사용하여 가져온 데이터의 볼륨 제한. 행 그룹 및 중첩 데이터 구조의 읽기와 쓰기 지원 (R2022a)

데이터저장소 성능: 성능 개선을 위해 데이터저장소에서 FileSet 객체 지정 (R2021b)

데이터저장소: 병렬 처리를 사용하여 데이터저장소에서 모든 데이터 읽기 (R2021a), 데이터저장소 결합 및 변환 (R2019a)

데이터저장소 쓰기: 데이터 공학 및 파일 기반 워크플로를 위해 데이터저장소 내 대규모 데이터 컬렉션을 디스크에 쓰기 (R2020a)

tall형 배열: 더 많은 함수의 tall형 배열 연산 지원:

  • groupfilter 및 matches (2020a)
  • setdiff, xcorr 및 outerjoin (2019b)
  • groupcounts, intersect 및 svd (2019a)

사용자 지정 데이터저장소: 사용자 지정 데이터저장소 프레임워크를 사용하여 Hadoop 기반 데이터베이스에서 읽기 (R2019a)

FileDatastore 객체: 크기가 큰 사용자 지정 파일을 작은 크기로 나눠 가져와서 읽기 (R2019a)

1987년부터 2008년까지의 항공사 항공편을 월별, 연도별로 보여주는 색상 표시된 테이블.

tall형 배열은 행의 수가 메모리에 담을 수 있는 범위를 초과하는 데이터에 대해 연산합니다.

수학

수학 함수는 데이터 분석, 알고리즘 개발, 모델 생성을 위한 다양한 수치 계산 방법을 제공합니다.

신규 tensorprod 함수: 두 배열 간의 텐서 곱 계산 (R2022a)

신규 N-D 배열 수학: N차원 배열의 페이지에서 선형 방정식을 풀고(pagemldivide, pagemrdivide), 역행렬 계산(pageinv), 특이값 분해 수행(pagesvd) (R2022a, R2021b)

ode78ode89 함수: 상미분 방정식을 풀기 위한 고차 룽게-쿠타 솔버 (R021b)

그래프 알고리즘: 모든 경로, 모든 순환 및 순환 기저 계산 (R2021a)

최적화 라이브 편집기 작업: 대화형 방식으로 최적화 문제 풀기 (R2020b)

제약 조건이 있거나 없는 함수를 최소화하는 옵션을 보여주는 최적화 창.

최적화 라이브 편집기 작업을 사용하여 최적화 문제를 대화형 방식으로 정의하고 풀 수 있습니다.

데이터 시각화

새로운 플로팅 함수와 사용자 지정 기능을 사용하여 데이터를 시각화할 수 있습니다.

신규 테이블 데이터 플로팅: 테이블을 plot, plot3, polarplot 및 기타 라인 플로팅 함수와 (R2022a) 산점도 플롯, 거품 차트 및 군집 차트에 (R2021b) 직접 전달

신규 exportgraphics 함수: 애니메이션 GIF 파일 생성 (R2022a), 그래픽을 캡처하고 기존 PDF에 추가 (R2021b)

플롯 만들기 라이브 편집기 작업: 플롯을 대화형 방식으로 만들고 코드 생성 (R2021a), 생성된 플롯에 시각화 추가 (R2021b)

신규 차트 함수: bubblecloud로 부분-전체 관계 시각화 (R2021a), bubblechart, bubblechart3polarbubblechart로 2차원, 3차원 및 극좌표로 거품 차트 생성 (R2020b), swarmchart로 이산 데이터의 분포 시각화 (R2020b)

exportgraphicscopygraphics 함수: 향상된 퍼블리시 워크플로 지원으로 그래픽 저장 및 복사 (R2020a)

tiledlayout 함수: 구성 가능한 플롯 레이아웃을 Figure에 생성 (R2019b), 레이아웃 배치, 중첩 및 그리드 크기 변경 (R2020a)

앱 작성

앱 디자이너 를 사용하면 전문 소프트웨어 개발자가 아니어도 훌륭한 앱을 만들 수 있습니다.

신규 라이브 편집기 작업: 라이브 스크립트에 사용할 수 있는 사용자의 고유한 라이브 편집기 작업 개발 (R2022a)

신규 사용자 지정 UI 구성요소: 앱 디자이너에서 대화형 방식으로 사용자 지정 UI 구성요소 생성 (R2022a), 또는 프로그래밍 방식으로 자체 클래스 생성 (R2020b)을 통해 알고리즘, 그래픽 및 UI 객체를 캡슐화하는 복합 UI 구성요소 만들기

신규 테이블 UI 구성요소: 대화형 방식으로 테이블 UI 구성요소의 열 재정렬 (R2022a), scroll 함수를 사용해서 프로그래밍 방식으로 테이블 UI 구성요소 내의 위치로 스크롤 (R2021a)

신규 접근성: focus 함수를 사용하여 앱 디자이너의 구성요소 탭 초점 순서 수정 및 프로그래밍 방식으로 UI 구성요소에 키보드 초점 부여 (R2022a)

신규 스타일: 테이블 셀 및 트리 노드에 아이콘 추가 (R2022a), 트리 UI 구성요소의 노드 및 수준에 스타일 추가 (R2021b), 테이블 UI 구성요소에서 행, 열 또는 셀의 스타일 생성 및 추가 (R2019b)

백그라운드에서 코드 실행: 병렬 언어(backgroundPool)를 사용하여 더욱 반응성 높은 앱 작성 (R2021b)

앱 디자이너: 코드 보기에서 라이브 편집기의 툴과 바로 가기 사용 (R2021b), 디자인 보기 캔버스에서 확대/축소 및 패닝 (R2021a)

비교 툴: 앱 디자이너로 만든 앱을 서로 비교 및 병합 (R2020b)

외부 언어 인터페이스

MATLAB은 다른 프로그래밍 언어와의 유연한 양방향 통합을 제공합니다. 따라서 서로 다른 프로그래밍 언어를 사용하는 여러 팀이 함께 협업하면서 제품 개발에 더 많은 시간을 할애하고 다른 언어로 다시 코딩하는 시간을 줄일 수 있습니다.

신규 Python: Python 목록 및 튜플 유형을 MATLAB 유형으로 변환 (R2022a)

신규 Python: name=value 구문을 사용하여 키워드 인수를 Python 함수에 전달 (R2022a)

pyrunpyrunfile 함수: MATLAB에서 Python 명령 및 스크립트 실행 (R2021b)

Python: 복소수 다차원 배열 지원 (R2021b)

C++ 인터페이스: 헤더 파일, 소스 파일 또는 라이브러리 파일에서 C++ 라이브러리에 대한 MATLAB 인터페이스 구축 (R2021a, R2020b)

프로세스 외부에서 Python 실행: Python 함수를 프로세스 외부에서 실행하여 라이브러리 충돌 방지 (R2019b)

성능

MATLAB은 매 릴리스마다 더욱 빨라지고 있습니다. 그리고 이러한 성능 향상을 위해 단 한 줄의 코드도 변경할 필요가 없습니다.

신규 클래스: 스크립트의 정적 메서드, 상수 속성 액세스 및 패키지 함수에 대한 성능 개선 (R2022a)

신규 Python 데이터형 변환: 프로세스 외부 모드에서 Python 및 MATLAB 데이터형 간 변환 시의 성능 개선 (R2022a)

신규 MATLAB Engine API for Python: Python의 대규모 다차원 배열에 대한 성능 개선 (R2022a)

신규 테이블 인덱싱: 중괄호 첨자, 점 표기 또는 여러 수준의 인덱싱으로 요소를 할당 시 성능 개선 (R2022a, R2021b)

신규 fzero 함수: 성능 개선 (R2022a)

qrinsertqrdelete 함수: QR 분해 수정 시 성능 개선 (R2021b)

앱에서의 플롯: uifigure에서 플롯 생성 시 성능 개선 (R2021b)

희소 행렬 곱셈: 대규모 희소 행렬의 곱셈 성능 개선 (R2021a)

희소 선형 시스템: 여러 개의 열이 있는 B를 갖는 희소 선형 시스템 A*X = B를 푸는 성능 개선 (R2021a)

매년 이루어지는 MATLAB의 성능 개선을 보여주는 막대 그래프.

소프트웨어 개발

소프트웨어 개발 툴을 사용하여 코드를 관리 및 테스트하고 다른 소프트웨어 시스템과 통합하고 응용 프로그램을 클라우드에 배포할 수 있습니다.

신규 코드 호환성 분석기 앱: 현재 버전의 MATLAB을 기준으로 호환성 문제 식별 및 해결 (R2022a)

신규 단위 테스트 프레임워크: TestCase 클래스 템플릿을 사용하여 더욱 빠르고 정확하게 테스트 생성 (R2021b), 소스 코드의 명령문 및 함수 커버리지 메트릭 수집 (R2022a), 클러스터 및 클라우드에서 병렬로 테스트 실행 (R2020b)

MATLAB Online: MATLAB Online에서 프로젝트 및 Git을 사용하여 협업 (R2021b)

프로젝트: 업무 체계화, 작업 및 공정 자동화 및 팀과의 협업 (R2019a)

MATLAB용 Jenkins 플러그인: MATLAB 테스트 실행 및 JUnit, TAP, Cobertura 코드 커버리지 리포트와 같은 형식으로 테스트 리포트 생성

새로운 참조 아키텍처: AWS(Amazon Web Services) 및 Microsoft Azure에 MATLAB 배포 및 실행

메뉴에서 소스 컨트롤 옵션이 선택되고 이어지는 메뉴에서 SVN에서 업데이트(Update from SVN)가 선택된 모습을 보여주는 현재 폴더.

SVN과 같은 타사 소스 컨트롤 툴을 MATLAB에서 바로 사용할 수 있습니다.

하드웨어 제어

Arduino 및 Raspberry Pi와 같은 널리 사용되는 마이크로컨트롤러를 제어하고, 웹캠에서 영상을 수집하고, 드론에서 센서 및 영상 데이터를 수집할 수 있습니다.

신규 하드웨어 관리자 앱: MATLAB에서 하드웨어 검색 및 연결 (R2022a)

신규 Arduino: ESP32 MCU 개발 보드 지원 (R2022a)

Arduino: Arduino 탐색기 앱을 사용하여 보드 연결 및 제어 (R2021b), Arduino의 BLE 연결 (R2021b)

센서 지원: Arduino에 연결된 APDS9960 센서에서 데이터 읽기 (R2021b)

Raspberry Pi: CAN 실드 지원 (R2021b)

드론: 여러 Ryze Tello 드론에 연결하여 센서 데이터 제어 및 읽기 (2021b)

핀 구성과 그래프를 플롯 핀과 함께 보여주는 Arduino 탐색기 앱 화면.

Arduino 탐색기 앱으로 센서 측정값을 이해할 수 있습니다.