Message Boards Message Boards

0
|
2974 Views
|
3 Replies
|
2 Total Likes
View groups...
Share
Share this post:

A question "Equations may not give solutions for all "solve" variable"

Posted 2 years ago

I understand that this "Equations may not give solutions for all "solve" variable" occurs when there more equations than variables when we are using Solve. However, I think in my case, I have two equations corresponding to c1 and c2. I don't understand why this error still occurs. Thanks for your help!

h1[t] = InverseFunction[
    2 (-10 Log[200 + 2 E^(#1/10) C[1] + 20 #1 + #1^2] + #1) &][
   t + C[2]];
EQ1 = {{h1[t] /. t -> 0} == 1, {h1[t] /. t -> 50} == 50}
Solve[EQ1, {C[1], C[2]}]

enter image description here

POSTED BY: Michael Gao
3 Replies

What exactly do you mean by InverseFunction[...] ?

In my opinion:

If y = f [ x ] then (if it exists) x = InverseFunction [ f ] [ y ]

So I think you f [ x ] is

f[ x_ ]:= 2 (-10 Log[200 + 2 E^(x/10) C[1] + 20 x + x^2] + x)

This shows the graph of f for different C[1], C[2]

Manipulate[
 Plot[
  f[t + C[2]] /. C[1] -> c1,
  {t, 0, 10},
  PlotRange -> {-120, -100}
  ],
 {{c1, 0}, -100, 100}, {{C[2], 0}, -100, 100}
 ]

Unfortunately it seems to be impossible to solve y = f [ x ] for x

In[41]:= Solve[y == f[x], x]

During evaluation of In[41]:= Solve::tdep: The equations appear to involve the variables to be solved for in an essentially non-algebraic way. >>

Out[41]= Solve[
 y == 2 (x - 10 Log[200 + 20 x + x^2 + 2 E^(x/10) C[1]]), x]

But you can plot the InverseFunction of f [ t ] by

ParametricPlot [ { f [ t ], t }, {t, t0, t1 } ]

For example like this ( I added your "equations" as red points ). Seems a solution is somewhat difficult

Manipulate[
 ParametricPlot[
  {2 (-10 Log[200 + 2 E^(#1/10) C[1] + 20 #1 + #1^2] + #1) &[ t + C[2]], t },
  {t, 0, 10},
  PlotRange -> {{-100, 100}, {-20, 60}},
  AspectRatio -> 1,
  Epilog -> {Red, PointSize[.02], Point /@ {{1, 0}, {50, 50}}}
  ],
 {{C[1], 0}, -100, 100}, {{C[2], 0}, -100, 100}
 ]
POSTED BY: Hans Dolhaine

Sorry, I meant

h1[t_] = 
  InverseFunction[
    2 (-10 Log[200 + 2 E^(#1/10) C[1] + 20 #1 + #1^2] + #1) &][
   t + C[2]];
EQ1 = And[h1[0] == 1,
   h1[50] == 
    50] /.
  (InverseFunction[func_][a_] == b_) :> (a == func[b])
Solve[EQ1 && Abs[C[1]] + Abs[C[2]] < 1000, {C[1], C[2]}]
% // N
POSTED BY: Gianluca Gorni

Maybe it gets confused by `InverseFunction, which is a dubious object. This gives a result:

h1[t_] = InverseFunction[2 (-10 Log[200 + 2 E^(#1/10) C[1] +
           20 #1 + #1^2] + #1) &][t + C[2]];
EQ1 = And[h1[0] == 1, 
   h1[50] == 
    50] /.
  (InverseFunction[func_][a_] == b_) :> (a == func[b])
Solve[EQ1, {C[1], C[2]}]
% // N
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