MATLAB:最適化関数の設定

オランゴザン

最適化ツールボックスを使用して最初の最適化問題を設定するためのガイダンスが必要です。

長いシャツの袖を表す3D表面モデルがあります。表面を通過する切断面を定義しました。平面の初期方向はPCAによって取得されました。表面モデルの頂点の第1主成分は、平面の法線ベクトルを定義します。私の最適化は、平面と表面モデルの交点の断面積を最小化するために、平面ベクトルu、v(最初は2番目と3番目のPrin。Comps)を中心に平面を方向付けることです。解空間を狭めるために、2つの軸のそれぞれを中心にX回転以内に方向を制限したいと思います。

私の質問は次のとおりです。

この場合、特定のソルバーをお勧めできますか?両方の回転角(約uとv)を同時に解くことができますか?

代わりに、法線ベクトルの3つの成分を解く必要がありますか?(必要な制約を適用しながら)

表面モデルデータ、初期平面方向などを渡すために、入れ子関数を使用して目的関数を設定する必要がありますか?

私の場合と同様の例をオンラインで見つけるのに苦労しています。

私はどんな提案にも感謝し、私のナイーブを前もってお詫びします。

brechmos

私はあなたの特定の例に精通していませんが、ほとんどの最小化はかなり類似しており、オプティマイザーを機能させるにはフレームワークを少し従う必要があります。

これは、私がここに置くために微調整したが、過去に使用したいくつかの関数最小化コードです。fminconは優れた一般関数最小化子であり、パラメーターにさまざまな制約(境界、等式制約、不等式制約)を設定できます。すべての場合に最も効率的であるとは限りませんが、良いスタートを切ることができます。

基本的には、最初の推測を作成し、境界を設定してから、fitfun関数への参照を使用してfminconを呼び出します。

function [t2, pd, offset] = t2fit(te, mm)

% Intial guess
x0 = [(-1/p(1))/fact, max(mm) 0]; % t2 pd

% Other constratints
A = []; B = []; Aeq = []; Beq = [];  

% Bounds
LB=[ 1/fact 0 -1 ]; UB = [ 1000/fact 1 1 ];

% Matlab options to the optimizer
opts = optimset('fmincon');
opts = optimset(opts, 'display', 'none');

%  Call the minimization routine 
x = fmincon(@fitfun, x0, A, B, Aeq, Beq, LB, UB, [], opts, te, mm);

% Get the output variables
t2 = x(1); 
pd = x(2); 
offset=x(3);

%%===================================================================
function dd = fitfun(x, te, mm)

%  The current value of the three input parameters
t2 = x(1);
pd = x(2);
offset = x(3);

%  Calculate the model curve
yy = pd .* exp( -te ./ t2 ) + offset;

%  Compute the error between the model curve the  
%  the measured curve -- dd is returned
dd = sqrt(sum( (yy-mm).^2 ));

あなたの問題を考えると、あなたはlsqcurvefitまたはそのようなものを使いたいかもしれません。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

関数で設定パンダ列を最適化する

分類Dev

最適化設定

分類Dev

Matlabでの多変数関数の最適化

分類Dev

C関数の最適化

分類Dev

KDB:関数の最適化

分類Dev

MatlabからJuliaへの最適化:JuMP @ SetNLObjectiveの関数

分類Dev

定義関数を使用したRequireJSの最適化

分類Dev

Spark数値関数の最適化(python)

分類Dev

複数の関係に基づくモデル設計の最適化

分類Dev

JQuery-Is()関数の最適化

分類Dev

純粋関数のGCC最適化

分類Dev

再帰関数の最適化

分類Dev

総和関数の最適化-GEKKO

分類Dev

時間範囲関数の最適化

分類Dev

Javascriptクラス-関数の最適化(関数内の関数)

分類Dev

Matlab '関数の未設定/未使用'

分類Dev

最適な層数と活性化関数を決定する方法

分類Dev

Matlab の fsolve 最適化

分類Dev

連想最適化を防ぐために、単一の関数にICC属性「fp-modelexact」を設定するにはどうすればよいですか?

分類Dev

my.cnf(Centos 8)でのmysql(mariadb最適化10.5)の最適設定

分類Dev

Python での関数の複数の出力変数の最適化

分類Dev

MySQL設定の最適化-mysqldのメモリ不足

分類Dev

MySQL設定の最適化-mysqldのメモリ不足

分類Dev

Matlab で複数の引数を最適化する

分類Dev

結合条件での複数のユーザー定義関数の使用を最適化する

分類Dev

gpflow 2の最適化:autograph = Falseを設定する理由

分類Dev

制約付き線形最適化の設定

分類Dev

Matlabの最適化:fminsearch.m and Co.で「許可」される目的関数のタイプは何ですか?

分類Dev

Pythonの数学関数の最適化と高速化

Related 関連記事

  1. 1

    関数で設定パンダ列を最適化する

  2. 2

    最適化設定

  3. 3

    Matlabでの多変数関数の最適化

  4. 4

    C関数の最適化

  5. 5

    KDB:関数の最適化

  6. 6

    MatlabからJuliaへの最適化:JuMP @ SetNLObjectiveの関数

  7. 7

    定義関数を使用したRequireJSの最適化

  8. 8

    Spark数値関数の最適化(python)

  9. 9

    複数の関係に基づくモデル設計の最適化

  10. 10

    JQuery-Is()関数の最適化

  11. 11

    純粋関数のGCC最適化

  12. 12

    再帰関数の最適化

  13. 13

    総和関数の最適化-GEKKO

  14. 14

    時間範囲関数の最適化

  15. 15

    Javascriptクラス-関数の最適化(関数内の関数)

  16. 16

    Matlab '関数の未設定/未使用'

  17. 17

    最適な層数と活性化関数を決定する方法

  18. 18

    Matlab の fsolve 最適化

  19. 19

    連想最適化を防ぐために、単一の関数にICC属性「fp-modelexact」を設定するにはどうすればよいですか?

  20. 20

    my.cnf(Centos 8)でのmysql(mariadb最適化10.5)の最適設定

  21. 21

    Python での関数の複数の出力変数の最適化

  22. 22

    MySQL設定の最適化-mysqldのメモリ不足

  23. 23

    MySQL設定の最適化-mysqldのメモリ不足

  24. 24

    Matlab で複数の引数を最適化する

  25. 25

    結合条件での複数のユーザー定義関数の使用を最適化する

  26. 26

    gpflow 2の最適化:autograph = Falseを設定する理由

  27. 27

    制約付き線形最適化の設定

  28. 28

    Matlabの最適化:fminsearch.m and Co.で「許可」される目的関数のタイプは何ですか?

  29. 29

    Pythonの数学関数の最適化と高速化

ホットタグ

アーカイブ