3 Variables in 3 Equations (nonlinear)

2 visualizaciones (últimos 30 días)
Ilya Tcenov el 21 de Sept. de 2019
Comentada: Ilya Tcenov el 21 de Sept. de 2019
Hi all.
I have to solve the following equations:
• A1*X + A2*Y + A3*Z = A4 (a plane)
• B1*X + B2*Y + B3*Z = B4 (a plane)
• (X-T1)^2 + (Y-T2)^2 + (Z-T3)^2 = D^2 (a sphere)
,where A,B,T,D are known constants, and X Y Z are the solution that I am looking for.
There are exactly 2 possible solutions (intersection points between two planes and a sphere), and I know how to choose the right one (based on the signs of X Y Z).
The main problem is that I have to solve these equations in a for loop (millions of times), where each iteration A and B change, therefore I need to do it as efficiently as possible.
I tried using "fsolve", but it takes much longer than I can allow.
One possible way is to calculate the intersection line between the two planes, and look for a point on that line that satisfies the third equation.
Is there a simpler way you can think of to calculate X Y Z in a loop? Can I somehow get rid of the loops and calculate the entire set of points at once?
Thank you.
0 comentariosMostrar -2 comentarios más antiguosOcultar -2 comentarios más antiguos

Iniciar sesión para comentar.

jeewan atwal el 21 de Sept. de 2019
USE Multidimensional Newton-Raphson method to solve non-linear eqs.
1 comentarioMostrar -1 comentarios más antiguosOcultar -1 comentarios más antiguos
Ilya Tcenov el 21 de Sept. de 2019
Thanks!
Worked great.

Iniciar sesión para comentar.

Categorías

Más información sobre Newton-Raphson Method en Help Center y File Exchange.

R2019a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by