I did as follows but needs to be more accurate, How can I pass it through specific points?
function obj= fit_simp(x,X,Y)
X = [0 0.41 1.2 2.01 3.5 5 7.1 10.1 12.06 14.2 17.4 17.9 17.1 14.2 10.1 7.1 5 3.5 2.01 0 -0.8 -3.5 -5.4 -9.5 -12.1 -15.5 -18.5 -22.3 -25.5 -26.7 -27.3 -26.7 -22.5 -18.8 -15.5 -12.1 -9.5 -5.4 -1.7 0];
Y = [17.9 17.7 17.5 18.3 17.87 17.48 16.74 16 15 13.5 8.6 0 -4.6 -13.8 -24.1 -26.9 -26.7 -26.5 -26.2 -27.3 -27.5 -26.7 -26 -25.1 -22.8 -20.2 -17 -10.6 -4.6 -0.9 0 4 8 10.5 11.3 13.8 16.2 17 17.6 17.9];
obj = @(x) x(1).*(abs(((x(2).*(X-x(3)))+x(4).*(Y-x(5))))).^(x(6))+x(7).*(abs((X-x(3)-(Y-x(5))))).^(x(6))-x(8).^(x(6));
x0=[0.001 0.1880 -1.44 0.108 -4 9.984 2.9064e-10 2.1175];
options = optimset('Display','iter','TolFun',1e-8)
[x,resnorm,residual,exitflag,output]=lsqnonlin(obj,x0,[-1],[13],options)
obj_new= @(X,Y) x(1).*(abs(((x(2).*(X-x(3)))+x(4).*(Y-x(5))))).^(x(6))+x(7).*(abs((X-x(3)-(Y-x(5))))).^(x(6))-x(8).^(x(6))
scatter(X,Y)
hold on
ezplot(obj_new,[-30,30,-30,30])

