cell配列内に含ま​れる各配列のleng​thをfor文を用い​ずに出力する方法

15 visualizaciones (últimos 30 días)
Yuki Koyama
Yuki Koyama el 13 de Ag. de 2021
Comentada: Yuki Koyama el 14 de Ag. de 2021
cell配列内に含まれる各配列のlengthをfor文を用いずに出力する方法はありますか?
たとえば、以下の処理をfor文を用いずに、少ないステップ数で処理する方法はありますか?
cellA={ones(1,2);ones(1,3);ones(1,4)}
cellA = 3×1 cell array
{[ 1 1]} {[ 1 1 1]} {[1 1 1 1]}
N_elements=zeros(3,1);
for i=1:length(cellA)
N_elements(i)=length(cellA{i});
end
N_elements
N_elements = 3×1
2 3 4

Respuesta aceptada

Toru Ikegami
Toru Ikegami el 13 de Ag. de 2021
Editada: Toru Ikegami el 13 de Ag. de 2021
こんにちは,
For文を使わないということで,パッと思い浮かぶのはセル配列の要素毎に処理を行い,結果をまとめて返す cellfun でしょうか.第1引数に処理関数を関数ハンドルの形で,第2引数に処理対象のセル配列を与えます.
cellA = {ones(1,2);ones(1,3);ones(1,4)}
cellA = 3×1 cell array
{[ 1 1]} {[ 1 1 1]} {[1 1 1 1]}
N_elements = cellfun(@length,cellA)
N_elements = 3×1
2 3 4
  1 comentario
Yuki Koyama
Yuki Koyama el 14 de Ag. de 2021
ありがとうございます。まさに求めていたものです。
このような作業を今まですべてfor文で行っていたので今後のコーディングがかなり快適になりそうです。
ありがとうございました。

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre ループと条件付きステートメント en Help Center y File Exchange.

Productos


Versión

R2021a

Community Treasure Hunt

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

Start Hunting!