global vmax kap % [0:10:110]x[0:4:20] vmax=100; kap=1; mx=11; my=5; dx=10; dy=4; m=(mx+1)*(my+1)-2; r=2; x=zeros(2*(m+r),1); f=zeros(2*m,1); d=f; n=0; for j=2:m+r n=n+min(j-1,m); end j=1; for i=1:(mx-1) for k=0:my x(j:j+1)=[dx*i;dy*k]; if (k==0) f(j:j+1)=[0;-1]; end j=j+2; end end for k=1:my x(j:j+1)=[0;dy*k]; j=j+2; end for k=1:my x(j:j+1)=[mx*dx;dy*k]; j=j+2; end x(j:j+1)=[0;0]; j=j+2; x(j:j+1)=[mx*dx;0]; k=1; E=zeros(n,2); l=zeros(n,1); for i=1:m for j=i+1:m+r w=x(2*(i-1)+1:2*i)-x(2*(j-1)+1:2*j); if ((abs(1-abs(w(1)/dx))<1e-5) | (abs(1-abs(w(2)/dy))<1e-5)) E(k,:)=[i,j]; l(k)=norm(w,2); w=(sqrt(kap)/l(k)^2)*w; k=k+1; end end end n=k-1; l=l(1:n); E=E(1:n,:); v=opttruss(x,E,f); plottruss(x,E,v);