clear; close all % % Lab 4 % Warren Gibson, student ID 123456 % % Exercise the Collatz function and plot the results % myname = 'Warren Gibson'; ID = 123456; start = 3:2:999999; %% Starting numbers to 10 million nstart = length(start); nmax = zeros(1,nstart); %% Pre-allocate arrays nit = zeros(1,nstart); % % Repeat for each starting number % Get nmax and nit for each starting number % for i=1:nstart [nmax(i),nit(i)] = collatz(start(i)); if isinf(nmax(i)) %% on overflow, truncate & exit nstart = i-1; nmax(i:end) = []; nit(i:end) = []; break end end figure loglog(nit,'.'); xlabel('Starting number'); ylabel('Iterations to finish'); title(sprintf('Collatz problem, %s, ID %d',myname,ID)); figure (DO A SIMILAR PLOT HERE, but y axis = highest number reached)