How do I correctly use the Syntax of fmincon?
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Brendan Görres
le 10 Déc 2018
Commenté : Walter Roberson
le 10 Déc 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 commentaires
Walter Roberson
le 10 Déc 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 )
Réponse acceptée
Matt J
le 10 Déc 2018
If you do not have any linear constraints, then just set them empty
A=[]; b=[];
0 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Linear Algebra dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!