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

80 次查看(过去 30 天)
翔 池田
翔 池田 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 中查找有关 データ型の変換 的更多信息

Community Treasure Hunt

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

Start Hunting!