Hi all, so I've been playing around with the whole circular references thing to see what I can convince Excel into "charting" for me. The following fractal images are mostly generated from iterated functional systems(IFS), to which excel's circular reference iteration feature lends itself beautifully.
Notes:
- In order to run the spreadsheets you will need to go to File>Options>Formulas, and check the box next to Enable iterative calculation each time you restart excel.
- I've saved all the sheets with calculations turned off you can either use the F9 key each time you want to calculate the sheet or go to File>Options>Formulas>Workbook Calculation and set it back to Automatic.
- I deleted most of the chart's data table in order to reduce the file size. When you first open the book use the key combo Ctrl+D to fill down the formulas in the chart's data range.
- Some of the data ranges are big 2,000,000 points, and excel tends to have problems for me with lots of data. So if I were you I wouldn't have any other workbooks open at the same time, just in case excel crashes and you had something you hadn't saved yet
- To get a more classical layout of an IFS and to avoid the circular refs altogether you can do the x',y' formulas by just linking one row x',y' to the previous row's x',y' instead of the column-wise x -> x' and y ->y' as I've done(more to come on a later post).
- The probabilities of the IFS really aren’t super important they really only just control how fast the IFS converges to the image. Where it is nice to have optimal convergence, you will likely eventually get there given enough points.
- The majority of IFS I'm using on these posts are linear transforms which can be written in matrix form as:
Formula:
|a b| |x| |e|
T({x,y}) := |c d|.|y| + |f|
Ok with that all said, I suppose the best place to start is the classical example of Barnsley's fern. The image for this one took me a while to work out as I knew I had to have the probabilities close to right, but was still getting a horrible stick figure even after a couple million data points. Long story short it was due to my original function selecting formula in column E. I'd first started of using the MATCH function as it was finally a case where I thought I'd found a use for it without adding the 0 (you know the MATCH(....,0)). Well I was wrong again, this form of the formula was over selecting the "stem" function and viola stick figures. So going back to the drawing board I finally settled on the COUNTIF rendition as seen in the file, and well the results came through.
![]()
Bookmarks