Basic algebraic equations query in Maxima



Hi,

I have a really humble request: if someone can correct me on the
syntax I'm using below, I'd be really grateful. I'm new to Maxima, and
have looked through the wxMaxima-distribution-included "Introduction
to Maxima", but having Matlab/Scilab experience, am struggling to see
how I should structure my code correctly.

I'm giving three expressions to Maxima: one each for real variables x,
y, and z, but each first given in a form of a measured variable, ie
xMeas, yMeas, zMeas. Ultimately, I want expressions for x, y, z as
functions of xMeas, yMeas, zMeas, and all the other constants
introduced, where y contains nested x to be substituted in, and z
contains nested x and y to be substituted in.

My code:

kill(all);
EqX1: xMeas = a*x + x0;
x: solve(EqX1, x);
EqY1: yMeas = b*(y*cos(rho)+x*sin(rho)) + y0;
y:solve(EqY1, y);
EqZ1: zMeas = c*(z*cos(phi)*cos(%lambda) + x*sin(phi)*cos(%lambda) +
y*sin(%lambda)) + z0;
z: solve(EqZ1, z);

The output:
(%o0) done
(%o1) xMeas=x0+a*x
(%o2) [x=(xMeas-x0)/a]
(%o3) yMeas=[y0+b*(cos(rho)*y+sin(rho)*x)=b*((sin(rho)*(xMeas-x0))/a+cos(rho)*y)+y0]
(%o4) []
`fullmap' found arguments with incompatible structure.
 -- an error. To debug this try: debugmode(true);

The substitution of x into yMeas works fine, which leads me to believe
my syntax "x: solve(EqX1, x)" is correct, but things go awry in o4,
for the line "y:solve(EqY1, y)"....

Apologies that it's such a simple question.

Kind regards,
Brian