MATLAB の関数 fmincon で最小二乗二次誤差を最小にしながら、3 つのパラメーターを推定したいと考えています。私の目的関数は次のようになります。
f = @(a,b,c) sum(sum(sum((M - a - b - c).^2)));
ここ M
で、 は次元 20x7x16 の 3D 配列であり、推定されたパラメーターa, b, c
はそれぞれ次元 20x1、7x1、および 16x1 のベクトルです。それを推定するために、ベクトルa
を配列 20x7x16 に繰り返して 3D にも「作成」し、 と についても同じことをb
行いc
ます。ベクトルの要素の合計を線形制約として 1a
にする必要があります。b
私の問題は2つあります:
- Aeq が 2D 行列で、beq がベクトルの場合、線形制約を指定するにはどうすればよいですか?
a,b,c
の開始点を設定して、それらの推定値がこの 3D 配列で繰り返されるベクトルであることを MATLAB が認識 できるようにするにはどうすればよいですか?
M
3D 配列を 2D マトリックスに展開してパラメーターを調整したかったa,b,c
のですが、マトリックスではなくベクトルとして定義する必要があるため、開始点の問題はまだ残っています。
アイデアや提案をいただければ幸いです。おそらく私は複雑に考えていて、それを行う別の方法があります。
前もって感謝します。