Message Boards Message Boards

0
|
1556 Views
|
4 Replies
|
0 Total Likes
View groups...
Share
Share this post:

Using the Solve[] function with the total differential function Dt[]

Posted 10 months ago

Hi;

Trying to solve the following equation for Dt[[Theta]] which should return - Sqrt[3]/10
However, in my case it only returns a null answer {} - see below. Since I have just started to use Total Differentials in Mathematica, I am sure it is something that I am doing incorrectly.

I also attached a notebook which, to me, is a lot easier to read.

Thanks,
Mitch Sandlin

Solve[0 == Dt[1/2 x  y  Sin[\[Theta]]] /. {x -> 10, Dt[x] -> 3, 
   y -> 20, Dt[y] -> 4, \[Theta] -> \[Pi]/3}, Dt[\[Theta]]]
Attachments:
POSTED BY: Mitchell Sandlin
4 Replies

What did you expect? The following

Dt[1/2  x   y   Sin[\[Theta]]] /.
  {x -> 10, Dt[x] -> 3, y -> 20, Dt[y] -> 4, \[Theta] -> \[Pi]/3}

gives 25 Sqrt[3], which cannot be zero.

POSTED BY: Gianluca Gorni

Hi Gianluca;

Thanks for the quick reply, I really appreciate it. Actually, I was in the process of trying to verify the given answer when I ran into problems with the Solve[] function.

What you stated is exactly right - that the given answer is incorrect, However, I would still like to know how to get the Solve[] function to calculate the correct answer. I am guessing that there is a problem with using Dt[[Theta] as the value being solved for in the Solve[] function, which is being defined in the total differential function Dt[]. However, I am not sure since I don't have that much experience with the Dt[] function.

Thanks Again,

Mitch Sandlin

POSTED BY: Mitchell Sandlin

I had another look at your code. You make the following replacement:

Cos[\[Theta]]  Dt[\[Theta]] /. {\[Theta] -> \[Pi]/3}

Perhaps you expected theta to be replaced inside Cos[theta] alone. Unfortunately, it got replaced into Dt[theta] too, and Dt of a constant is zero. We must find a way to prevent this replacement. One way could be to first replace Dt[\[Theta]] -> inertSymbol, do your original replacements, and then convert back inertSymbol -> Dt[\[Theta]]. There must be a smarter way, but that's what comes to mind at the moment.

POSTED BY: Gianluca Gorni

I don't know that it's better, but what I do in such a case is something like

expr /. {dt_Dt :> dt, theta -> Pi/3}

The rules inside a list {dt_Dt :> dt, theta -> Pi/3} are tried in order, and the first to match is the only rule applied. So Dt[..] is replaced by itself and no further transformation of it is tried. It's probably obvious that dt_Dt must precede the other rule(s).

POSTED BY: Michael Rogers
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