Ask Your Question
1

How do I fix Warning: Output Truncated?

asked 2011-10-05 20:20:25 +0100

ambellina gravatar image

updated 2015-01-13 18:19:35 +0100

FrédéricC gravatar image

Below is my code step by step for using Euler's Method to approximate a solution of a system. It will work when n = 10, but not when n = 100 or 1000. How can I fix it so that the output isn't truncated. Thanks!

# Define RR to be the real numbers, rounding to the nearest number, with 25 bits of precision
RR = RealField(25,rnd='RNDN')

# Define t,x,y to be numbers in RR
t,x,y = PolynomialRing(RR,3,"txy").gens()

# Define the system of equations
firsteq = y

secondeq = -x - x^3/6 + x^5/120 - x^7/5040 + x^9/362880

# Define parameters
t0 = 0 

x0 = 0

y0 = 2

h = 1/4

n = 10

t1 = t0 + n*h


# Plot the x(t) and y(t) graphs
eulers_method_2x2_plot(firsteq , secondeq, t0, x0, y0, h, t1)
edit retag flag offensive close merge delete

1 Answer

Sort by » oldest newest most voted
1

answered 2011-10-05 20:44:40 +0100

DSM gravatar image

In this case the error message isn't particularly informative, but it looks like what's going on is that the timestep you've selected is too large. Euler's method is (notoriously) poorly behaved, and the code doesn't seem to fail very well when the terms go imaginary.

If you decrease your timestep h, your integration will converge and things should work. By slowing increasing h, you can watch the integration start to fail.

edit flag offensive delete link more

Comments

I should also point out that this is explicitly documented to be for *pedagogical* purposes only.

kcrisman gravatar imagekcrisman ( 2011-10-05 21:54:33 +0100 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

Stats

Asked: 2011-10-05 20:20:25 +0100

Seen: 1,008 times

Last updated: Oct 06 '11