16.12.2012 Views

Computer Algebra Recipes

Computer Algebra Recipes

Computer Algebra Recipes

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

8.5. RECONSTRUCTING AN ATTRACTOR 349<br />

The points lie on the logistic curve, so we have been successful in identifying and<br />

reconstructing Humpty Dumpty. We can con¯rm from either of the previous<br />

two recipes that the logistic map produces deterministic chaos for a =3:9.<br />

PROBLEMS:<br />

Problem 8-27: Reconstructing the quartic map<br />

Taking a =1:97 and x0 =0:9, iterate the quartic map<br />

xn+1 = axn (1 ¡ x 3 n)<br />

to produce a time series with 200 points. Plot the time series with a line<br />

style. Attempt to reconstruct any possible underlying deterministic attractor<br />

by plotting xn+1 versus xn using a point style. Show that these points lie on<br />

the curve aX(1 ¡ X 3 )witha =1:97. (This problem is a bit like a dog chasing<br />

its tail!)<br />

8.5.2 Random Is Random<br />

We humans have purpose on the brain. We ¯nd it hard to look at<br />

anything without wondering what it is \for," what the motive for it<br />

is, or the purpose behind it. When the obsession with purpose becomes<br />

pathological it is called paranoia{reading malevolent purpose<br />

into what is actually random bad luck. But this is just an exaggerated<br />

form of a nearly universal delusion. Show us almost any object<br />

or process, and it is hard for us to resist the \Why" question|the<br />

\What is it for?" question.<br />

Richard Dawkins, British biologist, author, River Out of Eden, 1995<br />

In this recipe, we shall use Maple's random-number generator to produce a<br />

time series and attempt to reconstruct any underlying deterministic attractor.<br />

The time series will have N =200points.<br />

> restart: N:=200:<br />

The command randomize( ) sets the random-number seed to a di®erent value<br />

based on the computer system clock.<br />

> randomize():<br />

In the following do loop, N random decimal numbers lying between 0 and 1 are<br />

generated.<br />

> for n from 0 to N do<br />

The command rand( ) produces a random positive twelve-digit number. A<br />

fractional number between 0 and 1 results on dividing by 1012 .Thenumberis<br />

then put into decimal form by applying the °oating-point evaluation command.<br />

> x[n]:=evalf(rand()/10^12);<br />

> end do:

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!