matlab

[ matlab ] cellfun

humming_stereo 2024. 1. 27. 17:17

목표

1. 설명

2. 사용법

3. 주의점


설명

각 배열이 cell 형태로 이루어진 자료를 반목문 없이 한번에 처리할 때 사용한다.

보통 textscan 함수를 통해 나온 문자(char) 자료를 처리할 때 유용하다.


사용법

cellfun 뒤에 처리하고자 하는 방식의 함수와 자료를 넣으면 된다.

 

1_1. 매트랩 기본 함수 같은 경우는 @뒤에 원하는 함수를 입력하면 된다.

data = {'1','2','3','4','5'};

% 형식: cellfun(@함수,값);
num_data = cellfun(@str2double,data);

 

1_2. 결과

 

 

2_1. 자신이 지정한 익명 함수를 사용 시, 지정한 함수를 '@' 없이 넣은 다음 사용한다.

str = {'월','화','수','목','금'};

% 익명 함수 지정
method = @(s) strcat(s,'요일');

day = cellfun(method,str,'UniformOutput',0);

 

2_2. 결과


주의점

예를 들면 다음과 같이 cell로 묶여있는 데이터가 있다.

* 이 때 주의할 점은 배열의 자료가 한 cell에 묶여있는 것이 아닌 각각의 cell로 묶여있어야 한다.