A=[6 8 8; 21 6 3; 18 8 6] using Symbolics @variables x,y toy(i)=7-2*i tox(j)=2*j-1 R=[((x-tox(j))^2+(y-toy(i))^2)^0.5 for i=1:3,j=1:3] z=3.2+1.7*sum(A.*R.^0.91)/84 fs="fz(x,y)="*string(z) eval(Meta.parse(fs)) using Plots contour(0:0.05:6,0:0.05:6,fz) gradf=Symbolics.gradient(fz(x,y),[x,y]) gs="g(x,y)="*string(Symbolics.toexpr(gradf)) eval(Meta.parse(gs)) jacg=Symbolics.jacobian(g(x,y),[x,y]) Dgs="Dg(x,y)="*string(Symbolics.toexpr(jacg)) eval(Meta.parse(Dgs)) xn=[2.0,3.0] xn=xn-Dg(xn...)\g(xn...) xn=xn-Dg(xn...)\g(xn...) xn=xn-Dg(xn...)\g(xn...) xn=xn-Dg(xn...)\g(xn...) xn=xn-Dg(xn...)\g(xn...) scatter!((xn[1],xn[2]))