pkg load optim; function y = f (x) y = [ ( (x(3) - x(1)) * (x(7) - x(5)) + (x(4) - x(2)) * (x(8) - x(6)) ) ^ 2, ( (x(11) - x(9)) * (x(7) - x(5)) + (x(12) - x(10)) * (x(8) - x(6)) ) ^ 2]; y(3) = 0;y(4) = 0;y(5) = 0;y(6) = 0;y(7) = 0;y(8) = 0; y(9) = 0;y(10) = 0;y(11) = 0;y(12) = 0; endfunction x0 = [100, 100, 600, 600, 700, 600, 900, 100, 1100, 100, 1600, 600]; #x = fminunc(@f, reshape(x0, 12,1)); x = fsolve(@f, x0); #WORKS! #x = x0; l1 = [x(1), x(2); x(3), x(4)]; l2 = [x(5), x(6); x(7), x(8)]; l3 = [x(9), x(10); x(11), x(12)]; plot(l1(:,1), l1(:,2), l2(:,1), l2(:,2), l3(:,1), l3(:,2),'-');