Problems with chosing the best optimization function

Hello there,
I'm trying MATLAB to help me with math optimization problems. I know MATLAB has a lot of optimization fuctions to help me. However, my first problem is to know wich one could help me better and easily.
Basically, I have this equation:
y=(k*x1*x2^0.75)/(2.8579*log((x1*1000)/(pi*dm));*
where k, pi and dm are predefined constants; and x1 and x2 are my variables.
I need to find the maximum values for x1 and x2, so that y is as close as possible to 100.
Could someone help me with this problem?
Thanks in advance.
-Vinicius

 采纳的回答

There are exact symbolic solutions for that in either x1 or x2.
You can restrict x1 and x2 to be non-negative, unless k, pi or dm could be negative; the restriction to non-negative is to prevent complex numbers from arising.
I tossed in some random values for k and dm and assumed pi was Pi, and it appears to me that x1 increases with x2, so "the maximum values" for x1 and x2 would appear to be unbounded.

2 个评论

Thanks for the answer, Walter. Actually, both (x1 and x2) has bounds, but I forgot to write about that. Here are the limits: 175.5<=x1<=302.5 and 0.1<=x2<=0.6 About the constants: dm=159.6793; pi=Pi constant; k=11.0679;
Which optimization fuction are you trying? Could you send me the script? I would like to understand how to put these bounds conditions in MATLAB.
Thanks in advance.
-Vinicius
Use the symbolic toolbox to solve the equation for x1 in terms of x2, and again for x2 in terms of x1. Now plug in your upper boundaries for each of the variables and see if the results are within the permitted range for the other variable.

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Nonlinear Optimization 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by