topbanner_forum
  *

avatar image

Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
  • Saturday December 14, 2024, 9:05 am
  • Proudly celebrating 15+ years online.
  • Donate now to become a lifetime supporting member of the site and get a non-expiring license key for all of our programs.
  • donate

Author Topic: graphical iteration  (Read 13495 times)

marcsl

  • Honorary Member
  • Joined in 2006
  • **
  • default avatar
  • Posts: 8
    • View Profile
    • Donate to Member
graphical iteration
« on: July 11, 2006, 09:51 PM »
My entry to the contest is Iterlab, a program for doing
graphical iteration of functions. I hope this type of program
is appropriate for the contest. It's one is for the math
enthusiasts, it probably goes in the educational/academic
category.

Graphical iteration is a simple way of
visualizing the process of function iteration.
It helps you to see if the sequence of the iterates
converges or diverges.



With this program one can iterate on any function of the
type y=f(x).
The executable is here.

The actual graphs are drawn on a bitmap to display them.
The reason for the bitmap is that when the image needs to be redrawn
it has to go thru all the iterations again, naturally this slows everything
down, by using the bitmap this problem is overcome.

The program uses Aidaim Software's (www.Aidaim.com) parser component to
evaluate the function expression.  Many thanks to them for making this
component available free of charge.

There is still an issue regarding re-sizing the graph, if you re-size the
graph while there are iterations being displayed they will be erased.
This is because  right now the program doesn't save the iterate values, this
will be fixed in a future version.

There are still many improvements and features that could be added to
the program. The most obvious is to graph the iterates as a time series,
but but I think the program is useful for now.   I hope to add these other
features later. 
Regards,
Marc

mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 40,914
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Read more about this member.
    • Donate to Member
Re: graphical iteration
« Reply #1 on: July 11, 2006, 10:50 PM »
hi marcsl - glad to see you entering the contest  :up:

i've never heard of doing this kind of iteration of functions.. is it something that has a history? are there any other web pages talking about it?  it might be nice to have some more sample functions or sample values - it took me a while before i figured out how to get it to work..

marcsl

  • Honorary Member
  • Joined in 2006
  • **
  • default avatar
  • Posts: 8
    • View Profile
    • Donate to Member
Re: graphical iteration
« Reply #2 on: July 12, 2006, 09:51 PM »

Iteration is the process of repeatedly taking the results of a
function and feeding them back into the same function.
The function,  y=f(x) can represent some process
in motion (called a dynamical system).
Iteration is fundamental in exploring chaos, fractals, and dynamical
systems.

I've put some info about it on my site at www.hyperscope.net,
but search on Google for "graphical iteration" or "cobweb diagrams"
there's alot of info about the method.

I first saw the method described in the book "Chaos and Fractals
New Frontiers of Science by Heinz-Otto Peitgen, Hartmut Jurgens,
Dietmar Saupe".  (its an old book but a new edition came
out a couple of years ago)

I've enjoyed using some of the available programs and Java applets
offered over the internet for doing graphical function iteration,
but I've yet to find the one I wished for.
For example many of the programs only offer a limited number of
predefined functions to iterate on, or they are expensive,
do you really want to purchase Mathematica or Maple just to do
graphical iteration?
Some of the better programs for doing this for some reason are
only available for the Apple computers or they're old DOS programs.

So anyway for these reasons and simply because the iteration of functions
is such an interesting study, and motivated by Donationcoder.com's
programming contest I decided to give it a try with C++ Builder to create
a software for graphical iteration.
 
So here's how it works;

First the graph of the function y=f(x) and the identity function y=x
are drawn on the same set of axes.

Then to view the iteration enter a starting value in
the text box labeled "x0=".

Click the red and blue button to generate the sequence of
iterates (called an orbit) for the function.

The first time, a vertical line is drawn from x0 on the x-axis to
the y=x line.

From that point we draw a vertical line until we hit the graph of
y=f(x).

Then a horizontal line is drawn to the line y=x .
And we continue this way, this is the feedback process of iteration.

This works because points on the y=x line (the blue line), which is a diagonal
bisector, have the same distance from both axes. 

The program could be useful for those starting in the study of chaos, fractals
and dynamics.  Iteration even shows up in calculus (Newtons Method) and
differential equations.

One value of this type of display is its intuitive connection to the geometry of
iteration.
I hope this at least explains some of the ideas behind the program.
Regards,
Marc



mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 40,914
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Read more about this member.
    • Donate to Member
Re: graphical iteration
« Reply #3 on: July 13, 2006, 12:31 AM »
thanks marcsl  :Thmbsup: the background information is very helpfull..

f0dder

  • Charter Honorary Member
  • Joined in 2005
  • ***
  • Posts: 9,153
  • [Well, THAT escalated quickly!]
    • View Profile
    • f0dder's place
    • Read more about this member.
    • Donate to Member
Re: graphical iteration
« Reply #4 on: July 13, 2006, 03:48 AM »
Nifty!  :up:
- carpe noctem