To find the minimum of a function which are constrained problems
이전 댓글 표시
Pi = arg min F(P) + k* F( NPo − Pk)
P∈₱
with ₱ = [0, Pb) ∪ ( (N*Po) / (k+1) )
Pb=7;
F(P) = 1 − exp(−( (2^R – 1) / P ) ^ ( β/2) )
R =3;
β=8;
N=2;
k=floor((Po*N)/Pa);
Pa=9;
Po varies from 0 to 12
find the minimum value for Pi .....
pls suggest a code for this
댓글 수: 5
Ashly Kurian
2014년 1월 26일
Amit
2014년 1월 26일
So you're trying to find P such that F(P) + k*F(N*P0-Pk) is minimum?
Ashly Kurian
2014년 1월 26일
Amit
2014년 1월 26일
what is s...
Ashly Kurian
2014년 1월 26일
채택된 답변
추가 답변 (1개)
Amit
2014년 1월 26일
Step 1: Make you function
function Y = myFunc(P,P0)
N = 2;
Pa = 9;
k = floor((P0*N/Pa));
Y = F(P)+k*F(N*P0-P*k);
function Fp = F(P)
R = 3;
beta = 8;
Fp = 1 - exp(-((2^R-1)./P).^(beta/2));
Step 2: Minimize it within the bounds:
P0 = 9;
[Pi, FVal] = fminbnd(@(x) myFunc(x,P0),0,7);
댓글 수: 14
Ashly Kurian
2014년 1월 26일
Amit
2014년 1월 26일
X is a simple variable for the function. You said P0 varies from 0 to 12. From that statement, I thought that for a scenario, P0 is constant.
Please state your question clearly. That includes the objective of the problem. Also, MATLAB has a very good help. Try seeing what different function do and how can you use it.
Ashly Kurian
2014년 1월 26일
Amit
2014년 1월 26일
Is P0 integer or a real number?
Ashly Kurian
2014년 1월 26일
편집: Ashly Kurian
2014년 1월 26일
Ashly Kurian
2014년 1월 26일
Amit
2014년 1월 26일
The way I'll do this problem is like this. I'll make 3 function files.
One for F(P) as I have done in the answer.
Second where input is [P,P0] and output will be Y. You can optimize this using fmincon for the scenario where P belongs to [0,Pb).
Third, for the case where P = N*P0/(k+1). This function will take only 1 input as P0. N*P0/(k+1) is out of [0,Pb) only when P0 >= 10.5. Thus, the P0 bounds in this case will be [10.5,12]. I can optimize this using fminbnd (as this is a single variable function).
Now I can take the minimum of both solution, which will be the value for pi.
Read MATLAB documentation for these function and try it out. If you can't succeed in doing this, I'll help you. But I need to see your effort and the code you tried.
Ashly Kurian
2014년 1월 26일
what error you got?
Try reading this: This might help you in understanding what I meant by 3 function files. http://www.mathworks.com/help/matlab/ref/function.html
Ashly Kurian
2014년 1월 26일
Amit
2014년 1월 26일
That means, you're not entering the right amount of input for the function. Did you see the function link I posted here.
Ashly Kurian
2014년 1월 28일
Ashly Kurian
2014년 1월 28일
편집: Ashly Kurian
2014년 1월 28일
Amit
2014년 1월 28일
See the answer.
카테고리
도움말 센터 및 File Exchange에서 Optimization에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!