cell配列内のサイズを求めたいです.

조회 수: 30 (최근 30일)
翔 池田
翔 池田 2021년 9월 2일
답변: Hernia Baby 2021년 9월 2일
A={[1;2;3;4;5]}
上記のA:cell配列内にある{5×1 double}の行サイズを求める方法を教えてほしいです.
今回の場合,ans= 5 です。
宜しくお願い致します.
cell2matを用いずにしたいです.

채택된 답변

Hernia Baby
Hernia Baby 2021년 9월 2일
例としてサイズを1列ごとに増やしていきます
for i = 1:5
A{i} = rand(i);
end
特定の行列のサイズを知りたい場合は A{要素番号} をお使いください
size(A{4})
ans = 1×2
4 4
まとめて見る場合は cellfun をご利用ください
[row,col] = cellfun(@size,A)
row = 1×5
1 2 3 4 5
col = 1×5
1 2 3 4 5

추가 답변 (1개)

stozaki
stozaki 2021년 9월 2일
池田様
こんにちは。配列のサイズを求めるには、size関数が使えると思います。
ただし、今回は1x1のcellに5x1の配列を入れているので、次のようになると思います。
A={[1;2;3;4;5]}
A = 1×1 cell array
{5×1 double}
s = size(cell2mat(A),1)
s = 5
もしくは、length関数でも同じ結果を得ることができます。
s = length(cell2mat(A))
s = 5
  댓글 수: 1
翔 池田
翔 池田 2021년 9월 2일
편집: 翔 池田 2021년 9월 2일
早急なご返答ありがとうございます.
cell2matを用いずにサイズを求める方法はありますでしょうか.
cell2matですとdoubleへの変換に計算コストがかかってしまうため,避けたいと考えております.

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 cell 配列에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!