How do I correctly use the Syntax of fmincon?
1 次查看(过去 30 天)
显示 更早的评论
I am trying to optimize a flight path. I have the following equations of motions:
dydt=(thrust*sin(alphat)/m*v)-gh*cos(y)-v*cos(y)/(re+h);
dvdt=(thrust*cos(alphat)/m)-Adrag* rhoh*(v^2)/2*m- gh *sin(y);
dhdt=v*sin(y);
dxddt=(re/re+h)*v*cos(y);
dmdt=-propflow;
dwdt=(1/Ix)*thrust*sin(alphat)*rs;
h and v are limited by the final orbit:
hmax=hfinal;
vmax=vfinal;
the downrange x and w are not constrained. I will set the max values of these parameters to a high value, which they will never reach.
m is the parameter that I want to maximize in my final orbit ans the flight path angle y should be equal to 0,because I want my rocket to reach a circular orbit.
Finally my alphat is the thrust vector control variable with which I would like to minimize my mass loss. So I would like fmincon to calculate my function alphat, so that my mass in the final orbit is as high as possible.
The problem is that I dont't understand how to define
A*x=b;
. Could someone here explain me what exactly A, x and b are and how I calculate them??
Thanks
3 个评论
Walter Roberson
2018-12-10
? The code you posted does not use A or x or b? fmincon does name some parameters A and x and b but not in a A*x=b context only A*x<=b . That is to say those names are only used to express linear inequality constraints . Your description mentions some bounds constraints but no linear inequalities . So you would set the A and b linear inequality parameters to the empty matrix (and the Aeq and beq parameters as well )
采纳的回答
Matt J
2018-12-10
If you do not have any linear constraints, then just set them empty
A=[]; b=[];
0 个评论
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!