How to find range for each variable for constrained nonlinear multivariable function in Matlab?

1 view (last 30 days)
I have 4 inequality equations(constraints) with 3 variables(b, c, p). I want to compute these equations and get the range of each variable that satisfies all equations with Matlab.
Here are my equations. (lt: less equal than, gt: greater equal than) ============================================================
1. 2*p*c lt b < 3*p*c
2. 1 lt c gt b
3. 0 lt p gt 1
4. (1-(1-(c/b))^2000000)^c lt 0.05
============================================================
I tried to find the answer and found some functions like fmincon, fminbnd, fminmax, and so on, but I think that there are not fit for my case.
I tried to solve using solve and fzero, but it returns what I do not expect.
Could you please help me? Could you tell or suggest me a function that I need to use and how I can use?
Thanks,
Jung

Answers (1)

Walter Roberson
Walter Roberson on 29 Aug 2011
Are you sure that you want "0 lt p gt 1" ? Isn't that the same as "p gt 1" meaning (according to your key) (p >= 1) ?
Does "1 lt c gt b" mean that (1 <= c and 1 >= b), or does it mean that (1 <= c and c => b) ?
  2 Comments
Jung Hyun
Jung Hyun on 29 Aug 2011
What I want is
1. 2*p*c <= b < 3*p*c
2. 1 <= c and c <= b
3. 0 <= p and p <= 1(p is a probability value, so it should be less than 1)
4. (1-(1-(c/b))^2000000)^c <= 0.05
Walter Roberson
Walter Roberson on 29 Aug 2011
For "2*p*c <= b < 3*p*c" do you mean "2*p*c <= b and b < 3*p*c" ? (And if so, to cross-check, do you mean the strict inequality at the upper end, or do you mean <= ?)

Sign in to comment.

Products

Community Treasure Hunt

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

Start Hunting!