fix parameters in function
15 ビュー (過去 30 日間)
古いコメントを表示
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?
0 件のコメント
採用された回答
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
2023 年 1 月 27 日
sol = fmincon(@(x) myFunction(data1, data2, x(1), x(2)), [x0, y0]);
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Problem-Based Optimization Setup についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!