Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Matlab Problem with Generating Barnsley Fern Fractal in MATLAB

Tags:
  1. Sep 21, 2016 #1
    The code is as followed:

    Code (Matlab M):

    function fern()

    AI = [0  0 ; 0 0.16];
     
    AII = [ 0.85  0.04 ; -0.04 -0.85 ] ;
     
    AIII = [ 0.2  -0.26 ; 0.23 0.22 ] ;
     
    AIV = [-0.15  0.28 ; 0.26 0.24 ];


    BI = [ 0 ; 0];
    BII = [ 0 ; 1.6];
    BIII = [ 0 ; 1.6];
    BIV = [0 ; 0.44];

    N = 10000;
    I = 50;

    H = zeros(N,2);

    for n=1 : N
     
        x = rand;
        y = rand;
        T = [x;y];
     
     
        for i=1 : I
         
            p = rand;
         
            if p < 0.01
                %disp('Scheme 1')
                S1x = AI*T + BI;
                S1y = AI*T + BI;
                x = S1x(1);
                y = S1y(2);
            elseif p < 0.08
                %disp('Scheme 2')
                S2x = AII*T + BII;
                S2y = AII*T + BII;
                x = S2x(1);
                y = S2y(2);
            elseif p < 0.15
                %disp('Scheme 3')
                S3x = AIII*T + BII;
                S3y = AIII*T + BII;
                x = S3x(1);
                y = S3y(2);
            else
                %disp('Scheme 4')
                S4x = AIV*T + BIV;
                S4y = AIV*T + BIV;
                x = S4x(1);
                y = S4y(2);
            end
            H(n,1) = x;
            H(n,2) = y;
        end
    end

    X = H(:,1);
    Y = H(:,2);
    plot(X,Y,'.')
    I have no idea why it isn't working. Is not the iterative process correct? I ran it once and got the picture below. I'm at the end of the road here, and on a deadline, any help would be appreciated.

    Screenshot_2016-09-21_20-49-37.png
     
    Last edited by a moderator: Sep 23, 2016
  2. jcsd
  3. Sep 23, 2016 #2

    jedishrfu

    Staff: Mentor

  4. Sep 24, 2016 #3
    How can I copy your code to MATLAB? When I simply copied and pasted, it put your whole program as one single line in MATLAB, then added a URL reference link below it.
     
  5. Oct 3, 2016 #4

    jedishrfu

    Staff: Mentor

    Try copying to another editor that recognizes newline chars as line separators and will then save to the windows crlf format (carriage return/linefeed line terminator).

    This is a common problem when moving text from unix to windows and vice versa (in which case you'll see every other line as a blank line)
     
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook

Have something to add?
Draft saved Draft deleted



Similar Discussions: Problem with Generating Barnsley Fern Fractal in MATLAB
Loading...