Matlab Optimization problem, minimize a function

조회 수: 4 (최근 30일)
Amine Ben Ayara
Amine Ben Ayara 2016년 9월 23일
댓글: Matt J 2016년 9월 23일
Hello, So I have a simple optimization problem that consists of finding a value for a variable that minimizes the difference between two other variables. For example, First input element; An Arbitrary value of X=10. Q=100; B=X*Q; C=50; The objective is to find the value of X that minimizes the difference between (X*Q) & C; f(X)=(X*Q)-C; Is there a function that will give this output or do I need to run a loop that keeps solving for X until it finds a value that minimizes the function f(X)? Thank you so much.

답변 (1개)

Star Strider
Star Strider 2016년 9월 23일
  댓글 수: 3
Alan Weiss
Alan Weiss 2016년 9월 23일
You did not say before that you needed a positive value of P. In that case, use lsqnonneg:
P = lsqnonneg(Q,C)
Alan Weiss
MATLAB mathematical toolbox documentation
Star Strider
Star Strider 2016년 9월 23일
My pleasure.
I believe it definitely could be that simple:
P = 10; % Price = $10
Q = 10; % Quantity = 10
Budget = P*Q; % Total Budget
C = 450; % C = ???
fcn = @(Pstar) norm(Pstar*Q - C); % Objective Function
Pstar1 = fminsearch(fcn, 1) % Determine ‘P*’
Pstar2 = C/Q % Determine ‘P*’
Pstar1 =
45
Pstar2 =
45

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Surrogate Optimization에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by