Group Abstract Group Abstract

Message Boards Message Boards

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

Solving differential equations

Posted 10 years ago

Hi guys:

I went into a problem when I was reading a paper. It was a second ordinary differential equations. While it could be successfully solved by Maple, Mathematica cannot give a solution to it. Is there anyone who could be helpful on this would be really appreciated. I upload two results in the attachment. I am wondering what happened here and how can I solve this problem in Mathematica,

Please feel free to contact me through my student email address:if you have any ideas: zhehaoz1@student.unimelb.edu.au

Mathematica result

Above is the Mathematica result. Maple result is following: enter image description here

Attachments:
POSTED BY: Zhehao Zhang
6 Replies
Posted 10 years ago

Dear Professor?

May I ask what's wrong with my inputs? I directly defined M as the solution then differentiate, why it did not give the result?

POSTED BY: Zhehao Zhang
Posted 10 years ago

Really thanks Professor. I learned a lot.

I guess this is the last part of my question on this example. Please see the attachment.

After we have got function M(s), which is the moment generating function of Z(t), we need to get the probability density function. The first tool in my mind is the Laplace transform by definition of Laplace transform and moment generating function. So I just replace with -s and apply InverseLaplaceTransform, but Mathematica does give me anything:

Mathematica Result

So may I ask what shall I do to get the result, which is defective density probability function f in the paper?

I checked the book about A&S he listed in the reference, however, I was not inspired. This book could be easily achieved from the Internet. (Sorry, it is too large, I cannot upload it as the attachment.) Abramowitz, M. & Stegun, I. (1969). Handbook of mathematical functions. New York: Dover.

By the way, Mathematica does recognize the exponential integral function:

LaplaceTransform of exponential integral function

which is exactly the same as the book.

Attachments:
POSTED BY: Zhehao Zhang

There is some syntax to get used to:

solution[t_, s_] = 
 DSolveValue[
  Rationalize@{m''[
      t] == .01 (2 s E^(-t*0.01) - 3)/(1 - s E^(-t*0.01)) m'[t] + 
      0.0001 s E^(-t*0.01)/(1 - s E^(-t*0.01)) m[t], m[0] == 1, 
    m'[0] == 0}, m[t], t]
D[solution[t, s], {s, 2}]
Assuming[Element[t, Reals], Limit[D[solution[t, s], {s, 2}], s -> 0]]
POSTED BY: Gianluca Gorni
Posted 10 years ago

Hi guys, really thanks for such timely help. I learned quite a lot.

This question comes from a paper, (I put the question part in the attachment). while that paper uses Maple. When I tried myself on Mathematica, I cannot achieve. Here are the consequent questions, I put the question up at first:

enter image description here

Then I need to differentiate M[t] function with respect to s. So how can I define a new function whose variable is s based on the same equation of M? As you can see I use copy and paste here to define a new two variables function.

While the second question is to differentiate w.r.s s once and twice and feed s=0 in. Mathematic does not give the result here, however, Maple does give which is

enter image description here

The first equation is the differentiation w.r.s s once and feed s=0 in. You may have already found M is actually a moment generating function with variable s in the case. For more details, please see the attachment.

At last, please feel free to send my the note book if you think it is more easier for communication.

Attachments:
POSTED BY: Zhehao Zhang

DSolve is designed mainly for exact solutions to exact equations. You are feeding it an equation with floating-point coefficients, and it can't handle it, apparently. You can either Rationalize your equation as in

DSolve[Rationalize@{m''[
     t] == .01 (2 s E^(-t*0.01) - 3)/(1 - s E^(-t*0.01)) m'[t] + 
     0.0001 s E^(-t*0.01)/(1 - s E^(-t*0.01)) m[t], m[0] == 1, 
   m'[0] == 0}, m[t], t]

or use the numerical methods of NDSolve in you original equation:

With[{s = 1/2},
 NDSolve[{m''[
     t] == .01 (2 s E^(-t*0.01) - 3)/(1 - s E^(-t*0.01)) m'[t] + 
     0.0001 s E^(-t*0.01)/(1 - s E^(-t*0.01)) m[t], m[0] == 1, 
   m'[0] == 0}, m[t], {t, 0, 1}]]
POSTED BY: Gianluca Gorni
Posted 10 years ago

At least in Version 10 in a fresh notebook

$Assumptions = s < 1;
Simplify[DSolve[{m''[t]==1/100(2 s E^(-t/100)-3)/(1-s E^(-t/100))m'[t]+1/10000 s E^(-t/100)/(1-s E^(-t/100))m[t],
   m[0] == 1, m'[0] == 0}, m[t], t]]

seems to rapidly find a solution

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