Thanks! I did not know about nsolve. Would nsolve be ‚better‘ than converting the equations to numpy, using lambdify, and the use scipy.optimize.fsolve ?
Thanks, Peter On Fri 23. Sep 2022 at 20:18 Aaron Meurer <asmeu...@gmail.com> wrote: > If you are only interested in a numerical solution, you are better off > using nsolve(). solve() only tries to find a closed-form symbolic > solution, and the solution to this system might not even exist in > closed-form. > > For example: > > >>> nsolve([eq1,eq2,eq3], [x, y, z], [1j, 1j, 1j]) > Matrix([ > [0.785398163397448 - 7.44899462227771e-31*I], > [ 0.0356339138701676 + 0.615283513362025*I], > [-6.32074851537401e-24 + 1.23056702672405*I]]) > > Small values can be trimmed to 0 with chop: > > >>> _.evalf(chop=True) > Matrix([ > [ 0.785398163397448], > [0.0356339138701676 + 0.615283513362025*I], > [ 1.23056702672405*I]]) > > Here I used a complex starting point since the solution is complex, > and nsolve() typically won't find complex solutions unless the > starting point is complex. > > Aaron Meurer > > On Thu, Sep 22, 2022 at 10:59 AM Jean Marc Roberge > <jmroberg...@gmail.com> wrote: > > > > I am trying to solve 3 trigonometric equation using the solve operation > in simply but program never exits loop. per the code below I first > calculate the result of the equation using known values (x1,y1,z1) and then > use the result of that to as the answer in the equation to solve. the > answer should be the x1,z1,z1 values initially used but the loop never ends > and provides no result. > > What as I doing incorrectly ? > > > > code used > > import sympy as sym > > from sympy import solve, Eq > > from sympy import sin,cos > > rad=.01745329 > > x1=30*rad > > y1=15*rad > > z1=25*rad > > l1=50.00 > > l2=50.00 > > l3=50.00 > > x,y,z= sym.symbols("x,y,z") > > > > print((l2*cos(y1)+l3*cos(z1-y1))*cos(x1)) > > print((l2*cos(y1)+l3*cos(z1-y1))*sin(x1)) > > print(l1+(l2*sin(y1)-l3*sin(z1-y1))) > > > > eq1 = Eq((l2*cos(y)+l3*cos(z-y))*cos(x),84.4692460844174) > > eq2 = Eq((l2*cos(y)+l3*cos(z-y))*sin(x),84.4692460844174) > > eq3 = Eq((l1+(l2*sin(y)-l3*sin(z-y))),54.2585427870506) > > > > result = solve([eq1,eq2,eq3],[x,y,z]) > > print(result) > > > > -- > > You received this message because you are subscribed to the Google > Groups "sympy" group. > > To unsubscribe from this group and stop receiving emails from it, send > an email to sympy+unsubscr...@googlegroups.com. > > To view this discussion on the web visit > https://groups.google.com/d/msgid/sympy/9fbad812-2f33-43d5-a33c-b109a97a3d27n%40googlegroups.com > . > > -- > You received this message because you are subscribed to the Google Groups > "sympy" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to sympy+unsubscr...@googlegroups.com. > To view this discussion on the web visit > https://groups.google.com/d/msgid/sympy/CAKgW%3D6KHA4Qboi4icC-yYT9S8Xb9RF8QQAEzeFAJ-9q09RV_Sw%40mail.gmail.com > . > -- Best regards, Peter Stahlecker -- You received this message because you are subscribed to the Google Groups "sympy" group. To unsubscribe from this group and stop receiving emails from it, send an email to sympy+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/sympy/CABKqA0Z_xVpzt9xLp4z_gkz7FquFruV6fZ1xxPTPecdvQ-wSsQ%40mail.gmail.com.