これは私に問題を引き起こすコード行です。Arrayfunの構文とクラスメソッドでの使用
arrayfun(@(x)container.nodelist(x).config(@a_func_handle,0),2:6);
コンテナは、そのプロパティの1つがノードのオブジェクト配列であり、その配列がnodelistと呼ばれるクラスです。
各ノードには、初期化に使用されるconfigという機能があります。 Configは1つの入力を受け取り、その1つは関数のハンドルです。私が渡している関数ハンドルは、0で表される定数を必要とします。
この場合、特定の関数でnodelistの2から6の位置にノードを設定したいので、 forループの代わりにarrayfunを使うと考えました。
残念ながら、Matlabは機能設定のために「入力が多すぎます」と言います。私は間違って何を書いていますかこの例は明確ですか?
だけarrayfunのdocで行く、それはarrayfunするために、第2引数のように見えますが、あなたが関数を適用したい/ベクトル構造であるために仮定されていますので、どのようなもの、私がやってしまったことは、ネストされた無名関数を使用していました@config、インデックスではありません。確かに、これはあなたが得る "入力が多すぎる"というエラーを説明していません。しかしおそらく2:6の代わりに第2引数としてノードリスト(2:6)を渡してみてください。 – kitchenette
アドバイスをいただき、ありがとうございました。 – krapht