• ベストアンサー

MATLABの最適化問題について

MATLABでfminconを用いているのですが、以下のようなエラーが出てしまい、作業が進みません。どのようにすればエラーが消えるか教えていただけませんか?? ??? エラー: ==> fmincon The constraint function confun must return two outputs: the nonlinear inequality constraints and the nonlinear equality constraints. confunというは私が設定した非線形制約を表す関数です。 ご返答お待ちしております。

みんなが選んだベストアンサー

  • ベストアンサー
  • f272
  • ベストアンサー率46% (8469/18132)
回答No.1

must return two outputsというのだから function [c,ceq]= confun(x) のように定義してください。cは不等式制約,ceqは等式制約です。

black0101
質問者

お礼

解決しました。 皆さんありがとうございました。

black0101
質問者

補足

御返事ありがとうございます。 confunは現在以下のようになってます。 function [c,ceq]=confun(x) c=[]; ceq=[]; for i=1:N ceq=[ceq; %f(x(i))% ]; c=[c; %g(x(i))% ]; end という感じです。 ※ %f(x)% と %g(x)% は実際のプログラムでは式を入力しています。 ここでは省略させていただきました。 としているのですが、先ほどのエラーが出てきます。

関連するQ&A