1
중첩 된 셀 배열에서 셀 함수를 사용할 수 있는지 알고 싶습니다.Matlab에서 중첩 된 셀 배열을위한 셀 함수
3x3 셀 어레이 AB가 있다고 가정 해 봅시다. 각각의 요소는 다시 3x3 셀 배열이고 각 요소는 예를 들어 3x3 매트릭스입니다.
A=cell(3,3);
AB=A;
for i=1:1:3
for j=1:1:3
AB{i,j}=cell(3,3)
end
end
나는 각 매트릭스에 작업을 수행 할, 따라서 셀 어레이 (죄송이 끔찍한 소리)의 각 요소의 각 요소의 경우, 어떻게 작동까요?
이 같은과, 매트릭스 행의 합을 구축하려는 경우 예는, 것 ...
AB2=cellfun(@sum,AB);
또는
AB2=cellfun(@sum,AB{:,:});
하지만이 작동하지 않습니다. 익명 함수를 사용하여 여러 조합을 시도했지만 작동하지 않았습니다. 이 작업을 수행 할 방법이 있습니까? 아니면 cellfun을 루프에 넣어야합니까?
귀하의 도움에 감사드립니다. 당신이 중첩되지 셀 어레이, 즉, 셀 하나의 수준이있는 경우
안나
빠른 답장을 보내 주셔서 감사합니다. 첫 번째 옵션을 시도해 보았지만 작동했지만 셀 배열의 두 번째 부분으로 계속 작업해야합니다 - 셀 배열'{a, b, c, d} '에 대해 c와 d의 요소를 사용한다고 가정 해 봅시다 . 이것을'cell2mat'을 사용하여 다음 연산을위한 행렬로 변환하고 싶다면 중첩 된 셀 배열의 모양을 유지해야하고 두 번째 옵션 (두 개의 중첩 된'cellfun')을'cell2mat'와 함께 적용 할 수 있습니다 의 합계. – AnnaGT
두 번째 옵션이 더 느리다는 언급을 했으므로 다른 방법이 있습니까? 아니면'{a, b}'를'{a, b, c, d} '형태로 가지고있을 때'{c, d}'를 포함하는 셀 배열로 c와 d를 변환하는 행렬로 변환하는 방법이있다. ? 도움을 다시 한번 감사드립니다! – AnnaGT
@Anna 무슨 뜻인지 이해할 수 없습니다. 죄송합니다. 아마도 작은 수치 예제가 도움이 될 것입니다 –