How do I correctly use the Syntax of fmincon?
2 views (last 30 days)
Show older comments
Brendan Görres
on 10 Dec 2018
Commented: Walter Roberson
on 10 Dec 2018
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 Comments
Walter Roberson
on 10 Dec 2018
? 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 )
Accepted Answer
Matt J
on 10 Dec 2018
If you do not have any linear constraints, then just set them empty
A=[]; b=[];
0 Comments
More Answers (0)
See Also
Categories
Find more on Linear Algebra in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!