fsolveとlsqcurvefitを使用して、データセットに適合する陰関数によって定義されたモデルの最適化されたパラメーターを見つけようとしています。別々のmファイルで3つの関数を定義しました。1つは定義する4つのパラメーターの陰関数の定義、2つ目はfsolveを使用して定義された陰関数の根を検索し、3つ目はlsqcurvefitを使用して最適化された値を検索します。 4つのパラメータについて。当然、パラメーターに十分な初期値を定義する必要がありますが、さまざまな妥当な組み合わせを試した後、lsqcurvefitは常に約20〜30回の反復で実行され(matlabは、各反復後にfsolveによって検出された解で計算されたベクトル値を出力します)、次に出力します。
No solution found.
fsolve stopped because the problem appears regular as measured by the gradient,
but the vector of function values is not near zero as measured by the
default value of the function tolerance.
<stopping criteria details>
??? Error using ==> lsqcurvefit at 253
Function value and YDATA sizes are incommensurate.
Error in ==> optimointi at 5
z = lsqcurvefit('laske_i',parametrit,V_vektori,I_vektori_mitattu,[],[],options);
「関数値とYDATAサイズが不釣り合いである」ことがわかりません。突然、反復が最初に20〜30回実行されるときに。各反復後に出力される値は、ほぼゼロでいっぱいです(適切に適合)が、最後のいくつかの「爆発」は0から1になります(係数は10の累乗)。エラーに関するヘルプをいただければ幸いです。