1
$\begingroup$

We would like to have a way to find specific $x$ & $y$ values on a surface described by two polynomials where the $z$-axis value intersects with a plane. In our case, the plane is a single $z$-axis value. The surface is fairly "smooth".

Before, this would be done with a lookup table but it's less precise.

As a programmer, this could be determined by using the $x$ & $y$ values to compute possible z values at across the range of the $x$ and $y$ axis. We could devise a way to determine which areas of the surface we don't need to check. for areas that are found to be of "interest", the algorithm could use more $x$ & $y$ values to get a more precise list of possible points we can use.

Even so, since we plan to put this in a battery powered embedded system, we wish to minimize the amount of floating point math.

Today, we can use MatLab's "solve" function but this "solve" function is more of a black box and we're not sure the best way to replicate the functionality.

we expect there must be a more elegant, cleaner algorithm to find these points but don't see a way...

I'm not a mathematician so I might not be using the right terms to describe what we wish to do.

Extra information from colleague:

In Matlab I have a set of two, non-linear equations with two unknowns. The function “solve” does the work in a nice way but is an expensive blackbox within the symbolic math toolbox.

The surface functions we work with may look similar to the following: f(x,y) = ax^3 + bx^2*y + cy^3 + dxy + e g(x,y) = fx^2 + gy^3 + hy^2*x + i

The task is to find pairs of x and y when f(x,y) is a known value.

Something with the approach of finding the “roots” of the equations did not work out the way I hoped. Here I assumed that the function value is known, i.e. f(x,y) = F and g(x,y) = G. Then, f(x,y) = 0 = ax^3 + bx^2*y + cy^3 + dxy + e – F g(x,y) = 0 = fx^2 + gy^3 + hy^2*x + I – G

It should not be that difficult with 2 equations and 2 unknowns but in a way, I cannot figure out how to solve this problem outside of Matlab. As we said, there is a simple numerical approach to solving the equations but I would like to investigate whether a more algebraic approach could help solving the problem more efficiently and elegant.

$\endgroup$
  • $\begingroup$ I did not understand clearly. Can you perhaps give a simple example of such a surface? You have this surface in 3D, say $z = f(x,y)$ and are looking for all (or some of) the points $(x,y)$ such that $f(x,y) = z^*$ for some known value of $z^*$? $\endgroup$ – gt6989b Dec 15 '16 at 16:07
  • $\begingroup$ Thank you for your reply. Yes, we wish to find x and y values where f(x, y) yields a value within a specific range. Traveling tomorrow hopefully providing some kind of example Monday. $\endgroup$ – X-Ray Dec 15 '16 at 22:01

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.