셀형 배열의 내용을 함수로 전달하기
다음 예제에서는 셀형 배열을 입력값으로 인식하지 않는 MATLAB® 함수로 셀형 배열의 데이터를 전달하는 여러 가지 방법을 보여줍니다.
중괄호 {}
를 사용한 인덱싱으로 단일 셀의 내용 전달하기
이 예제에서는 텍스트와 더불어 난수로 구성된 20×2 배열을 포함하는 셀형 배열을 생성합니다.
randCell = {'Random Data', rand(20,2)};
plot(randCell{1,2})
title(randCell{1,1})
내용의 요소까지 한 단계 더 깊이 참조(멀티레벨 인덱싱)하여 데이터의 첫 번째 열만 플로팅합니다.
figure
plot(randCell{1,2}(:,1))
title('First Column of Data')
cell2mat
을 사용하여 여러 셀의 숫자형 데이터 결합하기
이 예제에서는 3개의 도시에 대한 온도 데이터를 저장하는 5×2 셀형 배열을 생성한 후 날짜별로 각 도시의 온도를 플로팅합니다.
temperature(1,:) = {'2020-01-01', [45, 49, 0]}; temperature(2,:) = {'2020-04-03', [54, 68, 21]}; temperature(3,:) = {'2020-06-20', [72, 85, 53]}; temperature(4,:) = {'2020-09-15', [63, 81, 56]}; temperature(5,:) = {'2020-12-31', [38, 54, 18]}; allTemps = cell2mat(temperature(:,2)); dates = datetime(temperature(:,1)); plot(dates, allTemps)
함수에 쉼표로 구분된 목록 형태로 여러 셀의 내용 전달하기
이 예제에서는 X
에 대한 Y
를 플로팅한 후 2×3 셀형 배열 C
의 선 스타일을 적용합니다.
X = -pi:pi/10:pi; Y = tan(sin(X)) - sin(tan(X)); C(:,1) = {'LineWidth'; 2}; C(:,2) = {'MarkerEdgeColor'; 'k'}; C(:,3) = {'MarkerFaceColor'; 'g'}; plot(X, Y, '--rs', C{:})