I don't think your code should or would work, here is my version that does the plot using draw2d.
dA_1: 0.01;
dA_2: 0.02;
dA_3: 0.03;
dA_4: 0.05;
dA_5: 0.1;
dA_6: 0.2;
dX_1: 0.2;
dX_2: 0.1667;
dX_3: 0.1428;
dX_4: 0.0714;
dX_5: 0.02778;
dX_6: 0.01515;
P: matrix( [(1 / dA_1^2), (1 / dA_1), 1],
[(1 / dA_4^2), (1 / dA_4), 1],
[(1 / dA_6^2), (1 / dA_6), 1] );
S: matrix( [dX_1],
[dX_4],
[dX_6] );
C: invert(P) . S;
load(draw);
deltaX(a,b,c,dA):= (a / dA^2) + (b / dA) + c;
draw2d
(
points_joined=false,
point_size=1,
point_type=filled_circle,
color=red,
points([[dA_1,dX_1],[dA_2,dX_2],[dA_3,dX_3],[dA_4,dX_4],[dA_5,dX_5],[dA_6,dX_6]]),
color=blue,
points_joined=true,
explicit(apply(deltaX,append(flatten(makelist(C[i],i,1,3)),[Astep])),Astep,dA_1,dA_6)
);
I can't get plot2d to plot individual points but I can get output with this:
plot2d(
[[discrete,[
[dA_1,dX_1],[dA_2,dX_2],[dA_3,dX_3],
[dA_4,dX_4],[dA_5,dX_5],[dA_6,dX_6]
]],
apply(deltaX,append(flatten(makelist(C[i],i,1,3)),[Astep]))],
[Astep,dA_1,dA_6]
);
The points are joined by straight lines instead of being single points. Maybe that is what you want?
Rich