0
$\begingroup$

How do I solve this for w? I know that phi1 and phi2 cannot be solved for but shouldn't 'w' be solved?

This is the error I see Reduce::inex: Reduce was unable to solve the system with inexact coefficients or the system obtained by direct rationalization of inexact numbers present in the system. Since many of the methods used by Reduce require exact input, providing Reduce with an exact version of the system may help.

    ClearAll["Global`*"]
G = 0.8*10^11;
d = 0.1;
l = 0.6;
J = Pi*d^4/32;
kt = G*J/l;

I1 = 22.6;
I2 = 5.66;
P1 = ( {
    {1, 0},
    {-I1*w^2, 1}
   } );
P2 = ( {
    {1, 0},
    {-I2*w^2, 1}
   } );
F2 = ( {
    {1, 1/kt},
    {0, 1}
   } );
U1 = P1;
U2 = P2.F2;
Trans = Rationalize[U2.U1] // MatrixForm
T1 = 0;
T2 = 0;
Simplify[Reduce[({{phi1}, {0}}) == Trans.({{phi2}, {0}}), w], 
 Assumptions -> phi2 != 0]
$\endgroup$
1
  • $\begingroup$ do Rationalize[U2.U1, 0] and get rid of the MatrixForm $\endgroup$
    – george2079
    Commented Dec 15, 2017 at 18:35

1 Answer 1

1
$\begingroup$

you need to apply the phi2 != 0 using Simplify after Reduce.

Simplify[Reduce[ ({{phi1}, {0}}) == Trans.({{phi2}, {0}})  , w], 
 Assumptions -> phi2 != 0]

phi1 == phi2 && (w == -2 Sqrt[2] || w == 2 Sqrt[2])

Note the error message you report is coming from some old definition. There are no inexact coefficients in what you show here. Restart your kernel.

$\endgroup$
7
  • $\begingroup$ Hi, Thanks a lot for responding. My actual trans matrix is trans = { {1 - 0.0000172651 w^2, 7.63944*10^-7}, {-5.66 w^2 - 22.6 w^2 (1 - 4.32392*10^-6 w^2), 1. - 4.32392*10^-6 w^2} } It still gives that error with this matrix $\endgroup$
    – sid
    Commented Dec 14, 2017 at 22:55
  • $\begingroup$ It gives you the error because you have inexact numbers. Any number you write with a decimal point is inexact. $\endgroup$
    – John Doty
    Commented Dec 14, 2017 at 23:19
  • $\begingroup$ Eventually, this should have solved the following using matrix multiplication Solve[-28.26*w^2 + 0.00009772062576260581*w^4 == 0, w] which gives {w -> -537.766}, {w -> 0.}, {w -> 0.}, {w -> 537.766}} But it doesn't go further till this step. Could you tell what am I doing wrong and what should I be doing? $\endgroup$
    – sid
    Commented Dec 14, 2017 at 23:27
  • $\begingroup$ Don't use inexact numbers as input to a symbolic method like Solve or Reduce. 28.26 is inexact. 2826/100 is exact. $\endgroup$
    – John Doty
    Commented Dec 14, 2017 at 23:47
  • $\begingroup$ edit the question with the actual problem you are having. Don't add new material that completely changes the question through comments. $\endgroup$
    – george2079
    Commented Dec 15, 2017 at 1:06

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.