Está en la página 1de 2

Código utilizando nlp porque el problema tiene funciones trigonométricas

Variables
v2,a2,s;
Equations
P21,Q21,P22,Q22;
P21.. (4*v2*sin(a2)+0.6)-s=e=0;
Q21.. (4*sqr(v2)-4*v2*cos(a2)+0.3)-s=e=0;
P22.. -(4*v2*sin(a2)+0.6)-s=e=0;
Q22.. -(4*sqr(v2)-4*v2*cos(a2)+0.3)-s=e=0;
model FP /all/;
solve FP using nlp minimizing s;
display s.L,v2.L,a2.L;

Código utilizando baron y las aproximaciones a las ecuaciones


Variables
v2,a2,s;
Equations
P21,Q21,P22,Q22,pen1;
P21.. (4*v2*a2+0.6)-s=e=0;
Q21.. (4*sqr(v2)-4*v2+0.3)-s=e=0;
P22.. -(4*v2*a2+0.6)-s=e=0;
Q22.. -(4*sqr(v2)-4*v2+0.3)-s=e=0;
pen1.. sqr(v2-0.082)+sqr(a2-(-1.837))=g=1e-1;
options nlp=baron;
model FP /all/;
solve FP using nlp minimizing s;
display s.L,v2.L,a2.L;

Código utilizando el loop

set k/1*10/
ss(k);
Variables
v2,a2,s;
Parameter
a1,a3;
Equations
P21,Q21,P22,Q22,pen;
P21.. (4*v2*a2+0.6)-s=e=0;
Q21.. (4*sqr(v2)-4*v2+0.3)-s=e=0;
P22.. -(4*v2*a2+0.6)-s=e=0;
Q22.. -(4*sqr(v2)-4*v2+0.3)-s=e=0;
pen(ss).. sqr(v2-a1(ss))+sqr(a2-a3(ss))=g=1e-3;
options nlp=baron;
model FP /P21,Q21,P22,Q22/;
solve FP using nlp minimizing s;
display s.L,v2.L,a2.L;
model FP2/all/;
loop(k$(s.l=0),ss(k)=yes; solve FP2 using nlp minimizing s;
a1(k+1)=v2.l;
a3(k+1)=a2.l;
display v2.l,a2.l,s.L;
);

Se anexa la gráfica con las soluciones.

4 x 1 x 2+0.6 = 0

40

30

20
x2

10

-10

-20
-3 -2 -1 0 1 2 3 4
x1

También podría gustarte