variable declaration for optimization

5 ビュー (過去 30 日間)
Soumili Sen
Soumili Sen 2020 年 10 月 31 日
コメント済み: Soumili Sen 2020 年 11 月 12 日
hello,
I am writing a code where I need to declare two variables which will be used for optimization in further, i.e,
a,b -----> variable(a=complex, b=real)
x=h1*a^2+h2*b^2+h3;------>h1,h2,h3 are constants
x=objective of optimization problem
what will be the code to declare 'a' and 'b';?
  4 件のコメント
Walter Roberson
Walter Roberson 2020 年 10 月 31 日
You do not define variables for solver based optimization: you define a function that accepts a vector of values.
Soumili Sen
Soumili Sen 2020 年 11 月 12 日
okk.. thanks

サインインしてコメントする。

採用された回答

Ameer Hamza
Ameer Hamza 2020 年 10 月 31 日
Only specify them as input of function handle. Normal procedure is something like this
h1 = 2;
h2 = 3;
h3 = 1;
x = @(a, b) h1*a^2+h2*b^2+h3;
objFun = @(p) x(p(1),p(2));
MATLAB optimization functions expect that the function handle only accepts one multi-dimensional input. Therefore, we converted 'x' with two scalar inputs to objFun with a single 2-dimensional input vector. Then use an optimization solver, such as fmincon()
sol = fmincon(objFun, rand(2,1))
  10 件のコメント
Walter Roberson
Walter Roberson 2020 年 10 月 31 日
Separate the real part of the complex variables from the imaginary part. Return the norm of the expression.
Soumili Sen
Soumili Sen 2020 年 11 月 12 日
Thank you both of you.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeProblem-Based Optimization Setup についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by