fix parameters in function

15 ビュー (過去 30 日間)
John Miller
John Miller 2020 年 9 月 22 日
コメント済み: Warren Boschen 2023 年 1 月 27 日
I want to optimize one parameter of a function with three parameters. Lets say the function looks like this
function f = function(t,x)
f = x(1) + x(2) *x(3)
end
How can I transmit the values for x(1) and x(2) but leave x(3) open to a later optimization?

採用された回答

Ameer Hamza
Ameer Hamza 2020 年 9 月 22 日
Yes, you can only optimize using selected variables. For example, following use x(3) for optimization, while x(1) and x(2) are fixed.
x1 = 2; % write value of x(1)
x2 = 3; % write value of x(2)
t = 0; % write value of t
x30 = rand(); % initial guess for x3
sol = fmincon(@(x3) myFunction(t, [x1; x2; x3]), x30)
function f = myFunction(t,x)
f = x(1) + x(2) *x(3)
end
  3 件のコメント
Torsten
Torsten 2023 年 1 月 27 日
sol = fmincon(@(x) myFunction(data1, data2, x(1), x(2)), [x0, y0]);
Warren Boschen
Warren Boschen 2023 年 1 月 27 日
Ah okay. Thank 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