티스토리 뷰

흥미로운 질문을 받았습니다.

아래와 같은 구조체에서 파일명(필드명 name)이 'main.m'인 인덱스를 뽑아내려면 어떻게 할까요?

 

name 필드 값이 'main.m'인 인덱스는?

 

당연히 for 문을 돌리면 해결되긴 합니다만, 한줄컷으로 끝낼 방법이 있습니다.

 

한줄컷은 위대하다.

 

1) {files.name}과 같은 표현식을 이용하면 files의 모든 .name 값을 하나의 셀배열에 담을 수 있습니다.

 

+_+

 

2) cellfun은 셀배열의 모든 원소에 동일한 함수를 적용하여, 그 결과를 같은 크기의 배열로 반환합니다.

 

3) cellfun에 쓸 함수가 이미 존재하는 함수가 아니라면 함수를 만들어서 쓰면 됩니다. 파일을 만들기 귀찮다면? 우리에겐 익명함수가 있습니다.

 

프로그래밍 언어도 영어이므로 뒤에서부터 읽습니다.

 

아이디어를 주신 MATLAB 공부방 이*규님께 감사말씀 드립니다.

 

 

- 게으른 맽랩

 

'matlab' 카테고리의 다른 글

매트랩 단축키 모음  (2) 2022.06.05
eval을 피하는 방법  (4) 2022.06.02
매트랩에서의 array unpacking  (2) 2020.07.19
cell array의 특이한 동작  (0) 2020.07.14
for문을 이해하는 새로운 방식  (2) 2020.06.28
댓글