配列サイズの取得

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

采纳的回答

Kenjiro Sugimoto
Kenjiro Sugimoto 2023-7-7
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 个评论
遥 荻津
遥 荻津 2023-7-10
なるほど。確かにそうなりますね! 返答ありがとうございます。

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 データ型の変換 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!