f1=@(x) 2*x(1)+2*x(2)+0.03*sin(x(1)+x(2))-4; f2=@(x) 5*x(1)+7*x(2)+0.07*cos(x(1)-x(2))-8; df1dx1=@(x) 2+0.03*cos(x(1)+x(2)); df1dx2=@(x) 2+0.03*cos(x(1)+x(2)); df2dx1=@(x) 5-0.07*sin(x(1)-x(2)); df2dx2=@(x) 7+0.07*sin(x(1)-x(2)); x0=[4 8]; di=[df1dx1(x0)-1 df1dx2(x0);df2dx1(x0) df2dx2(x0)-1]; d=[df1dx1(x0) df1dx2(x0);df2dx1(x0) df2dx2(x0)]; ii=[1 0; 0 1]; a=inv(di)*d; i=1; while(i<20) y=(ii-a)*[f1(x0) ; f2(x0)]+a*(x0'); dist=((x0(1)-(y')(1))^2+(x0(2)-(y')(2))^2)^0.5; if(dist<10^-15) printf('%.15d \n %.15d',x0(1),x0(2)); break end printf('fails %d th\n',i); i=i+1; x0=y'; end