1
私は与えられたクラスの多くのインスタンスを生成する必要があるコードを開始しました。私はPythonでやるように配列にそれらを保存したい。Matlabでクラスのインスタンスを生成し、配列に保存するにはどうすればよいですか?
これは私が何をしたいです:Pythonで
object_list = [];
for i=1:100
my_object = MyClass(i)
object_list(i) = my_object
end
私は私が私のリストに好きなだけ追加することができますので、これは動作します。 Matlabではどのようにすればよいですか?
/エラーが発生するのはこれです: "MyClassからダブルに変換することはできません。" Matlabの配列はジェネリックなpythonリストとは異なった振る舞いをしており、実際には倍精度を含む必要があります。/
MATLABでも間違いなく追加することができますが、追加することは本当に良い考えではありません。より良い方法は、予想される長さに事前に割り当てることです。あなたの場合、セル配列が必要です。したがって、予想されるサイズのセル配列、すなわち 'object_list = cell(1,100)'を初期化し、 'object_list(i)'を 'object_list {i} 'に置き換えます、中括弧。その変更を行う理由は、エラーメッセージが示すとおりです。 (デフォルトでは虚数を表すので、変数名として 'i'(および' j')を使用しないでください) –