Matlab の fsolve 代替

2017年9月18日

Matlabのfsolveの代替としてcsolveがおすすめなようです。

http://sims.princeton.edu/yftp/optimize/mfiles/

ただし引数は同じではないです。csolveの引数は以下のようになっています:

csolve(FUN,x,gradfun,crit,itmax,varargin)

ここでfuncの絶対値がcrit以下になるまで解きます。itmaxは繰り返し回数の最大値です。例えば以下のように、設定すると良いでしょう。

[x0,rc] = csolve(@fun,x',[],1e-6,500) ;

返値rcは解の状況を表します。0は正常に解が得られた、1-3は解なし、4は繰り返しの最大値に達した場合です。詳細はcsolve.mの説明を参照下さい。