티스토리 뷰
흥미로운 질문을 받았습니다.
아래와 같은 구조체에서 파일명(필드명 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 |
댓글