cancel
Showing results for
Did you mean:
cancel
Showing results for
Did you mean:

Community Tip - Need to share some code when posting a question or reply? Make sure to use the "Insert code sample" menu option. Learn more! X

5-Regular Member

## Coronavirus SIR models using Euler's method

Having issues programming an Euler's method for ODEs. Can't get past error in magnitude of numbers.

1 ACCEPTED SOLUTION

Accepted Solutions
17-Peridot
(To:KhariH)

You an improve the situation with m(t) by multiplying numerator and denominator by exp(-10(t-10)).  For example:

Alan

5 REPLIES 5
23-Emerald II
(To:KhariH)

It's the exponential in your m(t) expression blowing up.

If you want to use B within your program, you'd probably be better of defining it as a local function at the top of the program (B(t)<-m(t)*p

Stuart

23-Emerald II
(To:StuartBruff)

Just as a quick follow-up to my previous post, here's one possibility for making Euler a bit easier to use (as it's already tailored to your problem, it's a reasonable option).

Unfortunately, I've only got Prime Express so can't run programs, but you should be able to check it making B return 5 (to behave like your earlier, simpler Euler function).

Stuart

5-Regular Member
(To:StuartBruff)

Right thanks, I know the exp function was going to infinity and mathcad won't handle it. In that same mathcad sheet over off to the right in the worksheet I have another disabled program where I tried to address that issue with an if/else statement. I know the exp blows up around iteration 10 so for k<10 I wanted to calculate m(t) and k>10 just print the 'ms' value.

17-Peridot
(To:KhariH)

You an improve the situation with m(t) by multiplying numerator and denominator by exp(-10(t-10)).  For example:

Alan

5-Regular Member
(To:AlanStevens)

Thank you! I now have a more streamlined program that is at least plotting but the curves just settle around iteration 11. The graphs should look like the image attached. It that program I had a constant value for 'm' but now I want to do one that varies as a function of time.

Announcements
Top Tags