Matlabでは、単純な構造があり、この構造の配列を作成したいと思います (これを行う方法を知っています)。私の質問:配列にどの位置にあるべきかを伝えることなく、その配列に要素を単純に挿入する方法はありますか? ベクトルの最後に要素を配置するだけの c++ の「push_back」関数に似たものは、Matlab 言語に存在しますか?
2744 次
2 に答える
3
インデックス作成と組み合わせて使用できますend
a_struct = struct('x', 1);
a_struct(end+1) = struct('x', 2); % this writes the element to the `end+1`'th-position
disp(a_struct)
あなたに与えます:
1x2 struct array with fields:
x
ただし、内部では、c++ ベクトルなどの場合とは異なり、事前割り当てはまったく行われていないことに注意してください。そのため、へのすべての割り当てend+1
は、内部的に 1 つの要素を追加した古い構造体のコピーを作成することになります。これに関するコメントについては、たとえばhttp://blogs.mathworks.com/loren/2008/02/01/structure-initialization/#7を参照してください。
于 2013-08-12T08:30:21.603 に答える