global coor0, global vec0, global B, global vol0, ## Posicionamento dos pontos vol0=2770; B=1.36e-03; n=2; R0=(3*vol0/4/pi)^(1/3); D0=sqrt(R0*R0-1); C0=[0,-D0]; th0=asin(1/R0); dth=(pi-th0)/n; coor0=[1 0]; for i=1:n the=th0+i*dth; coor0=[coor0;[R0*sin(the),-D0+R0*cos(the)]]; endfor ## Construção de vetores permitidos AA=[0 -D0/2]; for i=1:n+1 vec0(i,:)=(coor0(i,:)-AA)/norm(coor0(i,:)-AA); endfor y0=zeros(n+1,1);##condicao inicial ##otimizacao [yopt eopt info iter]=sqp(y0,@fenergy,@frestr,[],-15,100,200); ##coordenadas do otimo coor=coor0+diag(yopt)*vec0; energy(coor) eopt volume(coor) plot(coor(:,1),coor(:,2),"-o","linewidth",2)