配列サイズの取得
82 ビュー (過去 30 日間)
古いコメントを表示

同じ配列のサイズが場所によって変わります。size(In)と画面に出力されるサイズは13243、ワークスペースに表示されるものとインデックスに入れられる最大数は12898です。原因がわからないので教えていただきたいです。
0 件のコメント
採用された回答
Kenjiro Sugimoto
2023 年 7 月 7 日
127行目時点での In のサイズは確かに 13243x1 ですが、128行目からのfor文の中で In の長さが短くなっているものと予想します。特に気になる点は137行目のif文の処理で、ここで In のg番目が除去されています。この処理が複数回呼び出されることで、Inのサイズが 12898x1 まで短くなっていませんでしょうか。
以下のコードですと、除去の挙動がわかりやすいかと思います。
data = [1 2 3 4 5]
size(data)
data(3) = [] % 3番目の要素を除去
size(data)
その他の回答 (0 件)
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!