깃헙 페이지 매트랩에서 기본으로 제공하는 방법은 symbolic을 활용하는 것이다. >> A = sym('A', [2, 4]) A = [A1_1, A1_2, A1_3, A1_4] [A2_1, A2_2, A2_3, A2_4] 숫자로 구성된 행렬을 만들고 싶다면, 함수를 만들어서 써야 한다. 아래는 함수 코드와 실행 결과이다. cell unpacking이 활용되었다. function arr = idx_mat(varargin) arr_cell = cell(nargin, 1); idx = cell(nargin, 1); for i=1:nargin idx{i} = 1:varargin{i}; end [arr_cell{:}] = ndgrid(idx{:}); arr = zeros(varargin{:}); for i=1:..
흥미로운 질문을 받았습니다. 아래와 같은 구조체에서 파일명(필드명 name)이 'main.m'인 인덱스를 뽑아내려면 어떻게 할까요? 당연히 for 문을 돌리면 해결되긴 합니다만, 한줄컷으로 끝낼 방법이 있습니다. 1) {files.name}과 같은 표현식을 이용하면 files의 모든 .name 값을 하나의 셀배열에 담을 수 있습니다. 2) cellfun은 셀배열의 모든 원소에 동일한 함수를 적용하여, 그 결과를 같은 크기의 배열로 반환합니다. 3) cellfun에 쓸 함수가 이미 존재하는 함수가 아니라면 함수를 만들어서 쓰면 됩니다. 파일을 만들기 귀찮다면? 우리에겐 익명함수가 있습니다. 아이디어를 주신 MATLAB 공부방 이*규님께 감사말씀 드립니다. - 게으른 맽랩