Filter real roots from 16th order equations and format in Mathematica

  • Topic: Mathematica 
  • Thread starter Thread starter sedat
  • Start date Start date
  • Tags Tags
    Mathematica
Join the discussion
Registration is free. Start your own thread to ask a follow-up.
7 replies · 3K views · last reply
sedat
Messages
15
Reaction score
0
Greetings from Turkey,

Friends, I have a big problem about Math. the problem is that I have three equations having 16th orders and I got 16 amount roots which have both complex conj. and real parts by solving these equations with the code of the NSolve, up to here It is all ok, but I would like to eliminate Complex and just print real roots. Now 2 reals and 14 complexes roots are printed on my programing.

in second step; as seen figure-1; after eliminating complexes roots, I would like to put each real root into the form of the "figure-2".

Already thanks dear friends...
 
Attachments
  • Mathematica NSolve output listing 16 root sets for Tan[T1/2], Tan[T2/2] and Tan[T3/2], each mixing complex values with a real root of 0.246293 or -0.246293.
    figure-1.JPG
    57.7 KB · Views: 406
  • Mathematica input Solve[ArcTan[0.246293] * 360 / Pi == T1, T1] with output {{T1 -> 27.6723}}.
    figure-2.JPG
    3.3 KB · Views: 354
Physics news on Phys.org
Solve[ArcTan[#]*360/Pi==T1, T1]& /@ DeleteCases[Tan[T1/2]/.ROOTS, _Complex]

OR exactly the same thing written in a different way

T1ROOTS = ReplaceAll[Tan[T1/2], ROOTS];
realT1ROOTS = DeleteCases[T1ROOTS, _Complex];
f[x_] := Solve[ArcTan[x]*360/Pi == T1, T1];
Map[f, realT1ROOTS]

Then repeat this for T2 and for T3
 
Last edited:
Bill Simpson said:
Solve[ArcTan[#]*360/Pi==T1, T1]& /@ DeleteCases[Tan[T1/2]/.ROOTS, _Complex]

OR exactly the same thing written in a different way

T1ROOTS = ReplaceAll[Tan[T1/2], ROOTS];
realT1ROOTS = DeleteCases[T1ROOTS, _Complex];
f[x_] := Solve[ArcTan[x]*360/Pi == T1, T1];
Map[f, realT1ROOTS]

Then repeat this for T2 and for T3


I am so thankful to you, it is a very good expression to me and I am brink on maneging to these thanks to you,

Last thing that I need is that I would like to put each T1, T2 and T3 into some matries and result it. I tried this, but I could not. pls help about this.

I mean that these result are put into matries algebra which will result in some cordinates in x-y-z,

I uploaded what I tried.

Thanks already
 
Attachments
  • Mathematica code listing defining real root filtering for quartic-style equations, then rotation matrices Rz, Rx and Rzz built from angles a11 to a33 and Astra, Vectra and Zafira, multiplied into matrices M1, M2 and M3.
    07.06.10-1.JPG
    80.2 KB · Views: 443
  • Screenshot of Mathematica output: nested lists of symbolic and numeric rotation matrix expressions with Cos and Sin of angles T1, T2 and T3 and decimal values.
    07.06.10-2.JPG
    91 KB · Views: 435
Rxx1 = {{1,0,0}, {0,Cos[#1 Degree],-Sin[#2 Degree]}, {0,Sin[#3 Degree],
Cos[#4 Degree]}}& @@ Map[Last[#] &, Flatten[Astra]];
Rxx2 = {{1,0,0}, {0,Cos[#1 Degree],-Sin[#2 Degree]}, {0,Sin[#3 Degree],
Cos[#4 Degree]}}& @@ Map[Last[#] &, Flatten[Vectra]];
Rxx3 = {{1,0,0}, {0,Cos[#1 Degree], -Sin[#2 Degree]}, {0,Sin[#3 Degree],
Cos[#4 Degree]}}& @@ Map[Last[#] &, Flatten[Zafira]];
 
Bill Simpson said:
Rxx1 = {{1,0,0}, {0,Cos[#1 Degree],-Sin[#2 Degree]}, {0,Sin[#3 Degree],
Cos[#4 Degree]}}& @@ Map[Last[#] &, Flatten[Astra]];
Rxx2 = {{1,0,0}, {0,Cos[#1 Degree],-Sin[#2 Degree]}, {0,Sin[#3 Degree],
Cos[#4 Degree]}}& @@ Map[Last[#] &, Flatten[Vectra]];
Rxx3 = {{1,0,0}, {0,Cos[#1 Degree], -Sin[#2 Degree]}, {0,Sin[#3 Degree],
Cos[#4 Degree]}}& @@ Map[Last[#] &, Flatten[Zafira]];

Brother, thanks for everything,

I would like to have a suggest from you about the points (x,y,z) found by matries algebra in the last step, I mean how I ought to put the points into 3-D, namely; the plotting ought to look very very nice:) maybe it is plooted in 2-D.

What do you suggest me?
 
I do not see your result so I am not sure. Perhaps this example will help

points=Table[{Sin[t],Cos[t],t/(2 Pi)},{t,0,4Pi,Pi/12}]

to see some sample points. Then

Show[Graphics3D[{PointSize[0.02],Map[Point,points]}],
ViewPoint->{2,-3,5/4},ImageSize->800]

Change PointSize, ViewPoint and ImageSize to best show your points.

To plot in 2D

ListPlot[Map[Drop[#, -1] &, points]]

which removes the z and then plots xy in 2D

If this is not helpful then show the complete result you must plot
 
Bill Simpson said:
I do not see your result so I am not sure. Perhaps this example will help

points=Table[{Sin[t],Cos[t],t/(2 Pi)},{t,0,4Pi,Pi/12}]

to see some sample points. Then

Show[Graphics3D[{PointSize[0.02],Map[Point,points]}],
ViewPoint->{2,-3,5/4},ImageSize->800]

Change PointSize, ViewPoint and ImageSize to best show your points.

To plot in 2D

ListPlot[Map[Drop[#, -1] &, points]]

which removes the z and then plots xy in 2D

If this is not helpful then show the complete result you must plot



my screen result is below.
 
Attachments
  • Screenshot of Mathematica code defining rotation matrices Rz1, Rx1, Rzz1 and Rxx1 with Cos and Sin of angle expressions, followed by Map, Flatten and Zafira assignments, ending with M3 and M33 products.
    08.06.10.JPG
    79.3 KB · Views: 439
  • Screenshot of Mathematica output showing rows of lists: Tan half-angle values, sets of rules for T1, T2, T3, rotation matrices with cos and sin of 40, 10 and 20 degrees, and numeric triples labelled M1,M11, M2,M22 and M3,M33, with a handwritten note asking to plot these points in 3D.
    08.06.10-2.JPG
    53.5 KB · Views: 465