たとえば、私は(* 1).field、a(2).field、...を反復的に表示するコマンドウィンドウに(*。)フィールドを入力すると、1 * 30構造のa.fieldを持ちます。私が(:)フィールドを別の変数bに代入しようとしたときに、bはちょうどa(1).fieldです。MATLABは、代入なしで変数の代入とインデックス作成中にコロンマークを異なる方法で扱いますか?
ところで、関数に(:)フィールドを渡すとしたら、Matlabは「入力引数が多すぎます」というエラーを投げます。
どのようなメカニズムがありますか?私の推測では、MATLABの脅威のコロンは割り当て中の最初の要素に相当する、それは本当ですか?
をコロン演算子」は、単にありますこの場合は「すべて」となります。 'a(:)'は 'a' *のすべての要素を意味します。したがって、 'a(:)。field'を使うと、最初のレベルの名前' field'を持つ構造体 'a'の*すべての*要素を渡しています。それは明らかにあなたの機能が取ることができる以上のものです。 – Adriaan
https://www.mathworks.com/help/matlab/matlab_prog/comma-separated-lists.html – AVK