Message Boards Message Boards

Apply conditions on the solution of this trigonometric system?

Posted 8 years ago

Hi I'm looking for help to solve this problem. Well we can calculate the values of angles (alpha's) by enter image description here

but i need to impose these conditions

enter image description here

Please help me out Regards

Attachments:
POSTED BY: Muhammad Afzal
4 Replies
Posted 8 years ago

NMinimize[{function,constraint}, vars] is shown in the help page.

There does not appear to be a solution where your four equations are approximately equal to zero, but this

NMinimize[
  {Norm[{
      1 - 2 Cos[5 w Degree] + 2 Cos[5 x Degree] - 2 Cos[5 y Degree] + 2 Cos[5 z Degree],
      1 - 2 Cos[7 w Degree] + 2 Cos[7 x Degree] - 2 Cos[7 y Degree] + 2 Cos[7 z Degree],
      1 - 2 Cos[11 w Degree] + 2 Cos[11 x Degree] - 2 Cos[11 y Degree] + 2 Cos[11 z Degree], 
      1 - 2 Cos[13 w Degree] + 2 Cos[13 x Degree] - 2 Cos[13 y Degree] + 2 Cos[13 z Degree]
    }], 
  w < x < y < z < 90 Degree
  }, {w, x, y, z}]

will let you add constraints to your problem.

POSTED BY: Bill Simpson
Posted 8 years ago

Thanks a lot Bill Simpson, there is a bit of problem occurring , that is the values of x,y & z are appearing same. they are not changing.

POSTED BY: Muhammad Afzal
Posted 8 years ago

It appears that the Norm of your function is minimized when w==0 Degree and x,y,z are as close to 90 Degree as possible. You can verify this by substituting various values of w,x,y,z. It might be possible that this is only a local minimum and there is one or more smaller minima elsewhere.

POSTED BY: Bill Simpson

With the following code starting from random initial points

eq = {1 - 2 Cos[5 w Degree] + 2 Cos[5 x Degree] - 2 Cos[5 y Degree] + 
    2 Cos[5 z Degree], 
   1 - 2 Cos[7 w Degree] + 2 Cos[7 x Degree] - 2 Cos[7 y Degree] + 
    2 Cos[7 z Degree], 
   1 - 2 Cos[11 w Degree] + 2 Cos[11 x Degree] - 2 Cos[11 y Degree] + 
    2 Cos[11 z Degree], 
   1 - 2 Cos[13 w Degree] + 2 Cos[13 x Degree] - 2 Cos[13 y Degree] + 
    2 Cos[13 z Degree]};
sol = FindRoot[eq == 0,
   Thread[{{w, x, y, z}, Sort@RandomReal[{0, 90}, 4]}]];
sol
eq /. sol

after a few attempts I found the neat solution {w -> 20., x -> 40., y -> 60., z -> 80.}

POSTED BY: Gianluca Gorni
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard

Group Abstract Group Abstract