Azzera filtri
Azzera filtri

配列サイズの取得

4 visualizzazioni (ultimi 30 giorni)
遥 荻津
遥 荻津 il 7 Lug 2023
Commentato: 遥 荻津 il 10 Lug 2023
同じ配列のサイズが場所によって変わります。size(In)と画面に出力されるサイズは13243、ワークスペースに表示されるものとインデックスに入れられる最大数は12898です。原因がわからないので教えていただきたいです。

Risposta accettata

Kenjiro Sugimoto
Kenjiro Sugimoto il 7 Lug 2023
127行目時点での In のサイズは確かに 13243x1 ですが、128行目からのfor文の中で In の長さが短くなっているものと予想します。特に気になる点は137行目のif文の処理で、ここで In のg番目が除去されています。この処理が複数回呼び出されることで、Inのサイズが 12898x1 まで短くなっていませんでしょうか。
以下のコードですと、除去の挙動がわかりやすいかと思います。
data = [1 2 3 4 5]
data = 1×5
1 2 3 4 5
size(data)
ans = 1×2
1 5
data(3) = [] % 3番目の要素を除去
data = 1×4
1 2 4 5
size(data)
ans = 1×2
1 4
  1 Commento
遥 荻津
遥 荻津 il 10 Lug 2023
なるほど。確かにそうなりますね! 返答ありがとうございます。

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su データ型の変換 in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!